TheNetNode-CB/makefile

611 lines
21 KiB
Makefile
Raw Permalink Normal View History

2019-05-15 00:19:53 +02:00
########################################################################
# #
# ***** ***** #
# ***** ***** #
# ***** ***** #
# ***** ***** #
# *************** *************** #
# ***************** ***************** #
# *************** *************** #
# ***** ***** TheNetNode #
# ***** ***** Portable #
# ***** ***** Network #
# ***** ***** Software #
# #
# File makefile (maintained by: DF6LN) #
# #
# This file is part of "TheNetNode" - Software Package #
# #
# Copyright (C) 1998 - 2006 NORD><LINK e.V. Braunschweig #
# #
# This program is free software; you can redistribute it and/or modify #
# it under the terms of the NORD><LINK ALAS (Allgemeine Lizenz fuer #
# Amateurfunk Software) as published by Hans Georg Giese (DF2AU) #
# on 13/Oct/1992; either version 1, or (at your option) any later #
# version. #
# #
# This program is distributed WITHOUT ANY WARRANTY only for further #
# development and learning purposes. See the ALAS (Allgemeine Lizenz #
# fuer Amateurfunk Software). #
# #
# You should have received a copy of the NORD><LINK ALAS (Allgemeine #
# Lizenz fuer Amateurfunk Software) along with this program; if not, #
# write to NORD><LINK e.V., Hinter dem Berge 5, D-38108 Braunschweig #
# #
# Dieses Programm ist PUBLIC DOMAIN, mit den Einschraenkungen durch #
# die ALAS (Allgemeine Lizenz fuer Amateurfunk Software), entweder #
# Version 1, veroeffentlicht von Hans Georg Giese (DF2AU), #
# am 13.Oct.1992, oder (wenn gewuenscht) jede spaetere Version. #
# #
# Dieses Programm wird unter Haftungsausschluss vertrieben, aus- #
# schliesslich fuer Weiterentwicklungs- und Lehrzwecke. Naeheres #
# koennen Sie der ALAS (Allgemeine Lizenz fuer Amateurfunk Software) #
# entnehmen. #
# #
# Sollte dieser Software keine ALAS (Allgemeine Lizenz fuer Amateur- #
# funk Software) beigelegen haben, wenden Sie sich bitte an #
# NORD><LINK e.V., Hinter dem Berge 5, D-38108 Braunschweig #
# #
########################################################################
#
# Makefile fuer TNN 1.79
# Zusaetzlich zur Linux-Version von TNN kann man mit diesem Makefile
# die GO32-Version uebersetzen, sowohl unter Linux als auch unter DOS.
# Weiterhin wird unter Linux die Crosscompilierung unterstuetzt.
#
#
# Wo sind wir denn heut zu Hause?
#
UNAME := $(wildcard /bin/uname)
ifneq ($(strip $(UNAME)),)
SYSTEM := $(shell uname -s)
endif
#
ifeq ($(SYSTEM), Linux)
SYSTEM := LINUX
else
SYSTEM := DOS
endif
#
#
# Source Verzeichnisse fuer Linux und Dose - Trennungszeichen immer "/",
# das wird so auch vom Dosen-Compiler verstanden
#
BIN := bin
DOC := doc
HDR := include
LIN := os/linux
GO32 := os/go32
SRC := src
INI := $(LIN)/ini
CLEANER := $(BIN)/cleaner
CONTRIB := contrib
ifeq ($(SYSTEM), LINUX)
#
# Irgendeine besondere (Ziel-)Maschine ?
#
ifeq ($(MIPS),)
MIPS := $(shell uname -m)
endif
#
ifeq ($(MIPS), mips)
MIPS := YES
else
MIPS := NO
endif
#
# Bei Linux gibt es auch eine Installation in das folgende Hauptverzeichnis
#
TNNDIR := /usr/local/tnn/
#TNNDIR := /var/lib/tnn/
#
# Pfad zur Initialisierungsdatei tnn.ini bei Linux
#
INSTCFG := $(TNNDIR)
#INSTCFG := /etc/tnn/
#
# Pfad zur aufuehrbaren Datei tnn (fuer Linux)
INSTBIN := $(TNNDIR)
#INSTBIN := /usr/bin
#
# Die folgenden Unterverzeichnisse zum TNN-Hauptverzeichnis sollten nicht
# geaendert werden.
#
TNNDIR := $(patsubst %//,%/,$(TNNDIR)/)
TNNTEXTCMD := $(TNNDIR)textcmd/
TNNUSEREXE := $(TNNDIR)userexe/
TNNSYSEXE := $(TNNDIR)sysexe/
TNNPACSAT := $(TNNDIR)pacsat/
TNNMSG := $(TNNDIR)msg/
#
# Ein Verteil-Archiv wird auch nur bei Linux generiert
# Der Pfad DISTDIR wird relativ zu / angegeben!
# ============
#
NAME := $(shell basename `pwd`)
DISTDIR := usr/local/src/tnn/$(NAME)
endif
WARNINGS := -Wall -Wpointer-arith -Wcast-align
WARNINGS += -Waggregate-return -Wstrict-prototypes
WARNINGS += -Wimplicit-function-declaration
#
# Compiler
#
# Fuer Linux wird der normale Linux-GCC verwendet. Fuer die DOS/GO32-Version
# wird unter DOS das DJGPP-GCC-Paket verwendet. Unter Linux kann man die
# DOS/GO32-Version ebenfalls uebersetzen! Benoetigt wird dafuer der
# Linux -> MS-DOS GCC Cross-Compiler von J.J. van der Heijden - verfuegbar
# unter sunsite.unc.edu:/pub/Linux/devel/msdos
#
ifeq ($(SYSTEM), LINUX)
#
# Der native gcc dieser Architektur, er wird fuer die Uebersetzung des
# Cleaners benoetigt, da dieser beim Crosscompilieren nicht fuer das Zielsystem,
# sondern fuer den Host compiliert werden muss !
#
HOSTCC := gcc
#
# Der zum Uebersetzen genutzte Compiler kann beim make-Aufruf uebersteuert werden
# (make CC=gcc-foobar). Ist CC nicht definiert, dann nehmen wir den gcc des Host.
#
#
ifeq ($(CC), "")
CC := gcc
endif
CC_GO32 := gcc-go32
else
CC_GO32 := gcc
endif
#
# Compiler-Flags
#
# VORSICHT! TNN ist nicht getestet mit eingeschalteten Optimierungen, ausser
# an den notwendigen Stellen (VANESSA). Option -O2 (oder aehnlich) also
# keinesfalls anfuegen.
#
CFLAGS := -funsigned-char $(WARNINGS)
# Wegkommentieren, wenn fuer Pentium uebersetzt werden soll
# CFLAGS += -mcpu=pentium
# Die folgende Zeile wegkommentieren, wenn fuer 386 uebersetzt werden soll
# CFLAGS += -m386
# Fuer ganz mutige : Compiler-Optimierungen einschalten (siehe oben !!!)
# CFLAGS += -O2
# Die folgende Zeile kommentieren, wenn keine Debugsymbole gewuenscht sind.
# Noch mehr Debug gibt es mit -g3, weniger mit -g1, -g entspricht -g2. (Linux)
CFLAGS += -g
ifeq ($(SYSTEM), LINUX)
CFLAGS += -pipe -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp
#CFLAGS += -pedantic
#CFLAGS += -O
endif
CFLAGS += -I$(HDR) -I$(SRC)
#
# Nun haben wir die gemeinsamen Compiler-Flags fuer GO32 und fuer Linux.
# Eventuell trotz obiger Warnung eingeschaltete Optimierungen werden entfernt.
# Dazu kommen jetzt noch die Systemspezifischen Include-Verzeichnisse und fuer
# die Linux-TNN die von TNN zu verwendenden Verzeichnisse.
#
CFLAGS := $(subst -O ,,$(subst -O2 ,,$(subst -O3 ,,$(CFLAGS))))
CFLAGS_GO32 := $(CFLAGS) -I$(GO32)
CFLAGS_LIN := $(CFLAGS) -I$(LIN)
CFLAGS_LIN += -DINIPATH=\"$(patsubst %//,%/,$(INSTCFG)/)\"
CFLAGS_LIN += -DTEXTPATH=\"$(TNNDIR)\"
CFLAGS_LIN += -DTEXTCMDPATH=\"$(TNNTEXTCMD)\"
CFLAGS_LIN += -DUSEREXEPATH=\"$(TNNUSEREXE)\"
CFLAGS_LIN += -DSYSEXEPATH=\"$(TNNSYSEXE)\"
CFLAGS_LIN += -DPACSATPATH=\"$(TNNPACSAT)\"
CFLAGS_LIN += -DMSGPATH=\"$(TNNMSG)\"
# MIPS-Systeme bekommen noch ein besonderes Kennzeichen
ifeq ($(MIPS), YES)
CFLAGS_LIN += -DMIPS=$(MIPS)
endif
#
# Source-, Header- und Object-Files
#
L3SRC := l3inp.c l3misc.c l3nbr.c l3netrom.c l3thenet.c
L3SRC += l3rtt.c l3tab.c l3var.c l3vc.c
L3TCP += l3sock.c l3tcp.c l1tcpip.c l1telnet.c l1httpd.c l1ipconv.c l1irc.c
COMMONSRC := buffer.c callstr.c cvs_cmds.c cvs_cvsd.c cvs_serv.c
COMMONSRC += cvs_cvrt.c file.c global.c graph.c
COMMONSRC += l2dama.c l2misc.c l2rx.c l2stma.c l2timer.c l2tx.c
COMMONSRC += l3ip.c $(L3SRC) $(L3TCP) l4.c l7.c l7ccp.c l7cmds.c
COMMONSRC += l7conn.c l7host.c l7hstcmd.c l7ip.c l7moni.c
COMMONSRC += l7showl3.c l7time.c l7utils.c main.c mh.c
COMMONSRC += pacsat.c pacserv.c profil.c profiler.c speech.c
VERSRC := $(SRC)/version.c
LINUXSRCS := $(patsubst %,$(SRC)/%,$(COMMONSRC))
LINUXSRCS += $(LIN)/init.c $(LIN)/linux.c $(LIN)/l1linux.c
LINUXSRCS += $(LIN)/axipx.c $(LIN)/ax25ip.c $(LIN)/kernelip.c
LINUXSRCS += $(LIN)/kernelax.c $(LIN)/6pack.c
LINUXSRCS += $(LIN)/l1attach.c $(LIN)/ostcpip.c $(LIN)/osipconv.c
LINUXOBJS := $(LINUXSRCS:.c=.o)
VANSRC := $(LIN)/vanlinux.c
VANOBJ := $(LIN)/vanlinux.o
VEROBJL := $(SRC)/version.o
L3SRCS := $(patsubst %,$(SRC)/%,$(L3SRC))
L3OBJL := $(L3SRCS:.c=.o)
GO32_SRCS := $(GO32)/api.c $(GO32)/go32.c $(GO32)/16550.c
GO32_SRCS += $(GO32)/l1.c $(patsubst %,$(SRC)/%,$(COMMONSRC))
GO32_OBJS := $(GO32_SRCS:.c=.obj)
GO32L1 := $(GO32)/extdev.c $(GO32)/kiss.c $(GO32)/loop.c
GO32L1 += $(GO32)/par.c $(GO32)/scc.c $(GO32)/tokenrng.c
GO32L1 += $(GO32)/vanessa.c $(GO32)/kiss.h $(GO32)/vanessa.h
VEROBJG := $(SRC)/version.obj
L3OBJG := $(L3SRCS:.c=.obj)
HDRNAMS := all.h allmodif.h conversd.h cvs_cmds.h
HDRNAMS += function.h global.h host.h icmp.h ip.h ipv.h l2.h l2s.h
HDRNAMS += l3sock.h l3tcp.h l1httpd.h l1tcpip.h l1telnet.h
HDRNAMS += l3global.h l3thenet.h l4.h l7.h profil.h profiler.h stat.h
HDRNAMS += system.h speech.h tnn.h typedef.h
LINUXHDRS := $(patsubst %,$(HDR)/%,$(HDRNAMS))
LINUXHDRS += $(LIN)/linux.h $(LIN)/vanlinux.h $(LIN)/linclude.h
LINUXHDRS += $(LIN)/kernelip.h $(LIN)/kernelax.h $(LIN)/ax25ip.h
GO32HDRS := $(patsubst %,$(HDR)/%,$(HDRNAMS)) $(GO32)/api.h
GO32HDRS += $(GO32)/api32.h $(GO32)/hardware.h $(GO32)/pc.h
L3HDR := $(HDR)/l3local.h
MAKEFILE := makefile
OTHER1 := alas.txt $(SRC)/config.c $(INI)/ax25ip.cfg
OTHER1 += $(INI)/{tnn179.tnb,tnnini.all} $(L3HDR)
OTHER1 += $(SRC)/cleaner.c $(SRC)/update.c history/*.his
OTHER2 := $(DOC)/{conversd.{xhf,g},tnn179.pdf}
OTHER2 += $(CONTRIB)/makefile
.SUFFIXES:
.SILENT:
.EXPORT_ALL_VARIABLES:
.PHONY: all tnn upd tnngo32 updgo32 clean cleaner
.PHONY: mindist dist bigdist install baseinstall
%.o: %.c $(MAKEFILE) $(CLEANER)
echo -n 'Compiling $@ '
$(CLEANER) $<
$(CC) -c $(CFLAGS_LIN) -o $@ $<
echo done.
%.obj: %.c $(MAKEFILE) $(CLEANER)
echo -n 'Compiling $@ '
$(CLEANER) $<
$(CC_GO32) -c $(CFLAGS_GO32) -o $@ $<
all: tnn upd
$(LINUXOBJS): $(LINUXHDRS) $(MAKEFILE)
$(VEROBJL): $(VERSRC) $(LINUXOBJS) $(VANOBJ)
$(VEROBJG): $(VERSRC) $(GO32_OBJS)
$(GO32_OBJS): $(GO32HDRS) $(MAKEFILE)
$(SRC)/global.o: $(SRC)/config.c
$(SRC)/global.obj: $(SRC)/config.c
$(GO32)/l1.obj: $(GO32L1)
$(L3OBJL) $(L3OBJG): $(L3HDR)
cleaner: $(CLEANER)
tnngo32: $(BIN)/tnngo32
ifeq ($(SYSTEM), LINUX)
#
# erstmal kommt Linux
#
# externe Libs
LIB := -lutil
.PHONY: go32 _dist _mindist _install
tnn: $(BIN)/tnn
go32: tnngo32 updgo32
upd: $(BIN)/upd
updgo32: $(BIN)/updgo32
# bin-Verzeichnis erstellen
$(BIN):
ifneq ($(wildcard $(BIN)), $(BIN))
echo Creating directory $(BIN)
- mkdir $(BIN)
endif
# Linux VANESSA Treiber
$(VANOBJ): $(MAKEFILE) $(CLEANER)
$(VANOBJ): $(VANSRC) $(LIN)/vanlinux.h $(LINUXHDRS)
echo -n 'Compiling $@ '
$(CLEANER) $(VANSRC) $(LIN)/vanlinux.h
$(CC) -c -O2 $(CFLAGS_LIN) -o $@ $(VANSRC)
echo done.
# TNN-Executable linken
$(BIN)/tnn: $(LINUXOBJS) $(VANOBJ) $(VEROBJL) $(CLEANER)
echo -n 'Linking $@ '
$(CLEANER) $(LINUXHDRS)
$(CC) $(LINUXOBJS) $(VANOBJ) $(VEROBJL) $(LDFLAGS_LIN) $(LIB) -o $@
echo done.
# Sourcecode-Cleaner
$(CLEANER): $(SRC)/cleaner.c $(LINUXHDRS) $(MAKEFILE)
ifneq ($(wildcard $(BIN)), $(BIN))
echo Creating directory $(BIN)
- mkdir $(BIN)
endif
echo -n 'Building $@ '
$(HOSTCC) $(CFLAGS_LIN) $(SRC)/cleaner.c $(LDFLAGS_LIN) -o $@
echo done.
# TNN GO32
$(BIN)/tnngo32: $(GO32_OBJS) $(VEROBJG) $(CLEANER)
$(CLEANER) $(GO32HDRS)
$(CC_GO32) $(GO32_OBJS) $(VEROBJG) -o $@
chmod 644 $@
echo $@ done.
# Updater
$(BIN)/upd: $(BIN) $(SRC)/update.c $(LINUXHDRS) $(MAKEFILE)
$(CC) $(CFLAGS_LIN) $(SRC)/update.c $(LDFLAGS_LIN) -o $@
echo $@ done.
# Updater fuer GO32
$(BIN)/updgo32: $(BIN) $(SRC)/update.c $(GO32HDRS) $(MAKEFILE)
$(CC_GO32) $(CFLAGS_GO32) $(SRC)/update.c -o $@
chmod 644 $@
echo $@ done.
# Aufraeumen
clean:
rm -f $(LINUXOBJS) $(VANOBJ) $(GO32_OBJS) $(VEROBJL) $(VEROBJG)
rm -f $(NAME).tar.bz2 .macros
rm -f {.,$(SRC),$(LIN),$(INI),$(GO32),$(HDR),$(DOC)}/*~
rm -f {$(GO32),history}/*~
rm -f $(BIN)/{cleaner,{upd,tnn}{,go32{,.exe}}}
rm -rf bin
ifeq ("$(findstring 179,$(shell pwd))","179")
rm -rf usr
endif
TNNINI := $(INI)/tnn.ini
TNNPAS := $(INI)/tnn179.pas
#
# Mit "make mindist" wird der Source verpackt, soweit zum uebersetzen noetig,
# mit "make dist" wird zusaetzlich die Doku verpackt und mit "make bigdist"
# sind auch die Teile im Verzeichnis contrib/ dabei. Hier ist allerdings kein
# Unterschied zu sehen zwischen "dist" und "bigdist", sondern nur in
# contrib/*/makefile.
#
dist bigdist: _mindist
ifeq ("$(findstring 179,$(shell pwd))","179")
cp --parents $(OTHER2) $(DISTDIR)
echo $(NAME).tar.bz2
tar -cf $(NAME).tar $(DISTDIR)
bzip2 $(NAME).tar
rm -rf usr
else
echo Invalid Directory Name.
endif
mindist: _mindist
ifeq ("$(findstring 179,$(shell pwd))","179")
echo $(NAME).tar.bz2
tar -cf $(NAME).tar $(DISTDIR)
bzip2 $(NAME).tar
rm -rf usr
else
echo Invalid Directory Name.
endif
_mindist: _dist $(TNNINI) $(TNNPAS)
cp --parents $(LINUXSRCS) $(LINUXHDRS) $(VANSRC) $(DISTDIR)
cp --parents $(GO32_SRCS) $(GO32HDRS) $(GO32L1) $(DISTDIR)
cp --parents $(VERSRC) $(MAKEFILE) $(DISTDIR)
cp --parents $(OTHER1) $(DISTDIR)
_dist:
ifeq ("$(findstring 179,$(shell pwd))","179")
rm -rf usr $(NAME).tar.bz2
mkdir --parents $(DISTDIR)
else
echo Invalid Directory Name.
endif
#
# install nur fuer Linux-Version - GO32-Version muss von Hand kopiert werden
#
install: all _install
install -m 0700 $(BIN)/tnn $(INSTBIN)/tnn
_install:
install -m 0700 -d $(TNNDIR)
install -m 0700 -d $(TNNSYSEXE)
install -m 0700 -d $(TNNTEXTCMD)
install -m 0700 -d $(TNNUSEREXE)
install -m 0700 -d $(TNNPACSAT)
install -m 0700 -d $(TNNMSG)
baseinstall: install $(TNNINI) $(TNNPAS)
install -m 0700 -d $(INSTCFG)
install -m 0600 $(TNNINI) $(INSTCFG)/tnn.ini
install -m 0600 $(INI)/tnnini.all $(TNNDIR)/tnnini.all
install -m 0600 $(INI)/ax25ip.cfg $(TNNDIR)/ax25ip.cfg
install -m 0600 $(TNNPAS) $(TNNDIR)/tnn179.pas
install -m 0600 $(INI)/tnn179.tnb $(TNNDIR)/tnn179.tnb
install -m 0600 $(DOC)/conversd.xhf $(TNNDIR)/conversd.xhf
$(TNNINI): $(MAKEFILE)
echo $@
echo "# This is an example for a tnn.ini-file" >$(TNNINI)
echo "# For a more comprehensive example see tnnini.all" >$(TNNINI)
echo "# -----------------------------------------------" >$(TNNINI)
echo "# File permissions for files created by TNN" >$(TNNINI)
echo "# octal value as used by umask(2)" >>$(TNNINI)
echo "# default value = 000 (world readable/writable)" >>$(TNNINI)
echo "# use 077 to limit access to the owner of TNN" >>$(TNNINI)
echo "#perms 077" >>$(TNNINI)
echo "# Working directory for TNN" >$(TNNINI)
echo "#tnn_dir $(TNNDIR)" >>$(TNNINI)
echo "# Unix-Socket for TNT hostmode interface (optional)" >>$(TNNINI)
echo "#tnn_socket $(TNNDIR)tnn-socket" >>$(TNNINI)
echo "# Program to start before using any hardware ports" >>$(TNNINI)
echo "# (optional) - don't use any parameters!" >>$(TNNINI)
echo "#tnn_start kill_other_processes" >>$(TNNINI)
echo "# Number of buffers (optional; default = 10000)" >>$(TNNINI)
echo "buffers 10000" >>$(TNNINI)
echo "# file containing process id (mandatory)" >>$(TNNINI)
echo "tnn_procfile tnn.pid" >>$(TNNINI)
echo "# rounds per second (if missing, default 100)" >>$(TNNINI)
echo "#rounds 200" >>$(TNNINI)
echo "#-------------------------------------------------" >>$(TNNINI)
echo "# device 1" >>$(TNNINI)
echo "device /dev/ttyS0" >>$(TNNINI)
echo "# lockfile for device 1" >>$(TNNINI)
echo "tnn_lockfile /var/lock/LCK..ttyS0" >>$(TNNINI)
echo "# speed on device 1" >>$(TNNINI)
echo "speed 38400" >>$(TNNINI)
echo "# type of KISS on device 1:" >>$(TNNINI)
echo "# 0 = KISS, 1 = SMACK, 2 = RMNC-KISS," >>$(TNNINI)
echo "# 3 = Tokenring (1st device only)," >>$(TNNINI)
echo "# 4 = Vanessa, 5 = SCC, 6 = TF (experimental!)," >>$(TNNINI)
echo "# 7 = IPX (1 IPX port only)," >>$(TNNINI)
echo "# 8 = AX25IP (1 AX25IP port only)" >>$(TNNINI)
echo "# 10 = Kernel-AX.25, 11 = DG1KJD Kernel-AX.25" >>$(TNNINI)
echo "# 12 = 6PACK" >>$(TNNINI)
echo "kisstype 3" >>$(TNNINI)
echo "# L2-Port associated with device 1" >>$(TNNINI)
echo "# use several port lines, if kisstype = 3" >>$(TNNINI)
echo "port 0" >>$(TNNINI)
echo "port 1" >>$(TNNINI)
echo "port 2" >>$(TNNINI)
echo "port 3" >>$(TNNINI)
echo "port 4" >>$(TNNINI)
echo "port 5" >>$(TNNINI)
echo "port 6" >>$(TNNINI)
echo "port 7" >>$(TNNINI)
echo "port 8" >>$(TNNINI)
echo "port 9" >>$(TNNINI)
echo "port 10" >>$(TNNINI)
echo "port 11" >>$(TNNINI)
echo "port 12" >>$(TNNINI)
echo "port 13" >>$(TNNINI)
echo "port 14" >>$(TNNINI)
echo "port 15" >>$(TNNINI)
echo "#-------------------------------------------------" >>$(TNNINI)
echo "# device 2" >>$(TNNINI)
echo "#device /dev/ttyS1" >>$(TNNINI)
echo "# lockfile for device 2" >>$(TNNINI)
echo "#tnn_lockfile /var/lock/LCK..ttyS1" >>$(TNNINI)
echo "# speed on device 2" >>$(TNNINI)
echo "#speed 38400" >>$(TNNINI)
echo "# type of KISS on device 2:" >>$(TNNINI)
echo "# 0 = KISS, 1 = SMACK, 2 = RMNC-KISS," >>$(TNNINI)
echo "# 4 = Vanessa, 5 = SCC, 6 = TF (experimental!)," >>$(TNNINI)
echo "# 7 = IPX (1 IPX port only)," >>$(TNNINI)
echo "# 8 = AX25IP (1 AX25IP port only)" >>$(TNNINI)
echo "# 10 = Kernel-AX.25, 11 = DG1KJD Kernel-AX.25" >>$(TNNINI)
echo "# 12 = 6PACK" >>$(TNNINI)
echo "#kisstype 1" >>$(TNNINI)
echo "# L2-Port associated with device 2" >>$(TNNINI)
echo "#port 1" >>$(TNNINI)
$(TNNPAS): $(MAKEFILE)
echo $@
echo "; TheNetNode Configuration File" >$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; DO NOT CHANGE THE ORDER OF THE CONFIGURATION LINES !" >>$(TNNPAS)
echo "; DO NOT CLEAR ANY LINES !" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; NET/ROM-Sysop-Password, 80 Characters (01234567890123...)" >>$(TNNPAS)
echo -n "1234567890123456789012345678901234567890" >>$(TNNPAS)
echo "1234567890123456789012345678901234567890" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Console Password" >>$(TNNPAS)
echo "Geheim" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Node Ident (Test)" >>$(TNNPAS)
echo "Test " >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Node MyCall (XX0XX)" >>$(TNNPAS)
echo "XX0XX" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Workpath, Path to the Help-Files ($(TNNDIR))" >>$(TNNPAS)
echo "; TNN should be started from this path." >>$(TNNPAS)
echo "$(TNNDIR)" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Path to the executable Text-Files ($(TNNTEXTCMD))" >>$(TNNPAS)
echo "$(TNNTEXTCMD)" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Path to the extern Programs for User ($(TNNUSEREXE))" >>$(TNNPAS)
echo "$(TNNUSEREXE)" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Path to the extern Programs only for Sysop ($(TNNSYSEXE))" >>$(TNNPAS)
echo "$(TNNSYSEXE)" >>$(TNNPAS)
echo ";" >>$(TNNPAS)
echo "; Path to the PACSAT-Files ($(TNNPACSAT))" >>$(TNNPAS)
echo "$(TNNPACSAT)" >>$(TNNPAS)
mac:
$(CC) $(CFLAGS_LIN) -E -dM $(HDR)/tnn.h > .macros
else
#
# nun kommt Dose
#
tnn: tnngo32
upd: $(BIN)/updgo32
$(BIN):
ifneq ($(wildcard $(BIN)), $(BIN))
echo $(BIN)
- mkdir $(subst /,\\,$(BIN))
endif
clean:
erase $(subst /,\\,$(BIN))\*
erase $(subst /,\\,$(BIN))\*.exe
erase $(subst /,\\,$(SRC))\*.o*
erase $(subst /,\\,$(SRC))\*.bak
erase $(subst /,\\,$(GO32))\*.o*
erase $(subst /,\\,$(GO32))\*.bak
erase $(subst /,\\,$(DOC))\*.bak
erase $(subst /,\\,$(INCLUDE))\*.bak
erase $(subst /,\\,$(HISTORY))\*.bak
$(BIN)/tnngo32: $(GO32_OBJS) $(VEROBJG) $(CLEANER)
$(CLEANER) $(GO32HDRS)
$(CC_GO32) $(GO32_OBJS) $(VEROBJG) -o $@
echo $@ done.
$(CLEANER): $(SRC)/cleaner.c $(GO32HDRS) $(MAKEFILE)
ifneq ($(wildcard $(BIN)), $(BIN))
echo $(BIN)
- mkdir $(BIN)
endif
$(CC) $(CFLAGS_GO32) $(SRC)/cleaner.c -o $@
echo $@ done.
$(BIN)/updgo32: $(BIN) $(SRC)/update.c $(GO32HDRS) $(MAKEFILE)
$(CC) $(CFLAGS_GO32) $(SRC)/update.c -o $@
echo $@ done.
mindist dist bigdist install baseinstall:
echo Please update your Operating System.
echo The target $@ is only valid for Linux.
endif
#
# Die Makefiles in contrib/* sollen auch noch verarbeitet
# werden (wenn vorhanden)
#
MF := $(wildcard contrib/*/makefile)
ifneq ($(strip $(MF)),)
include $(MF)
endif