all: axattach axl axparms beacon call listen kissparms mheard netromd noderest nodesave nrparms pms rip98d

CC = gcc
LD = gcc
CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

.c.o:
	$(CC) $(CFLAGS) -c -o $*.o $<

install: installbin installman installconf

installbin: all
	install -m 755 -s -o bin -g bin call      /usr/local/bin
	install -m 4755 -s -o root -g bin listen  /usr/local/bin
	install -m 755 -s -o bin -g bin mheard    /usr/local/bin
	install -m 755 -s -o bin -g bin pms       /usr/local/bin
	install -m 755 -s -o bin -g bin axattach  /usr/local/sbin
	install -m 755 -s -o bin -g bin axl       /usr/local/sbin
	install -m 755 -s -o bin -g bin axparms   /usr/local/sbin
	install -m 755 -s -o bin -g bin beacon    /usr/local/sbin
	install -m 755 -s -o bin -g bin kissparms /usr/local/sbin
	install -m 755 -s -o bin -g bin netromd   /usr/local/sbin
	install -m 755    -o bin -g bin noderest  /usr/local/sbin
	install -m 755    -o bin -g bin nodesave  /usr/local/sbin
	install -m 755 -s -o bin -g bin nrparms   /usr/local/sbin
	install -m 755 -s -o bin -g bin rip98d    /usr/local/sbin
	install -m 644    -o bin -g bin loggedin  /usr/local/pms

installconf:
	install -m 644 -o bin -g bin etc/axports     /usr/local/etc
	install -m 644 -o bin -g bin etc/nrbroadcast /usr/local/etc
	install -m 644 -o bin -g bin etc/nrports     /usr/local/etc
	install -m 644 -o bin -g bin etc/rip98.conf  /usr/local/etc

installman:
	install -m 644 -o bin -g bin man/call.1     /usr/local/man/man1
	install -m 644 -o bin -g bin man/listen.1   /usr/local/man/man1
	install -m 644 -o bin -g bin man/mheard.1   /usr/local/man/man1
	install -m 644 -o bin -g bin man/ax25.4     /usr/local/man/man4
	install -m 644 -o bin -g bin man/netrom.4   /usr/local/man/man4
	install -m 644 -o bin -g bin man/axports.5  /usr/local/man/man5
	install -m 644 -o bin -g bin man/nrports.5  /usr/local/man/man5
	install -m 644 -o bin -g bin man/nrbroadcast.5 /usr/local/man/man5
	install -m 644 -o bin -g bin man/rip98.conf.5  /usr/local/man/man5
	install -m 644 -o bin -g bin man/axattach.8 /usr/local/man/man8
	install -m 644 -o bin -g bin man/axl.8      /usr/local/man/man8
	install -m 644 -o bin -g bin man/axparms.8  /usr/local/man/man8
	install -m 644 -o bin -g bin man/beacon.8   /usr/local/man/man8
	install -m 644 -o bin -g bin man/kissparms.8  /usr/local/man/man8
	install -m 644 -o bin -g bin man/netromd.8  /usr/local/man/man8
	install -m 644 -o bin -g bin man/noderest.8 /usr/local/man/man8
	install -m 644 -o bin -g bin man/nodesave.8 /usr/local/man/man8
	install -m 644 -o bin -g bin man/nrparms.8  /usr/local/man/man8
	install -m 644 -o bin -g bin man/rip98d.8   /usr/local/man/man8

clean:
	rm -f *.o *~

distclean:
	rm -f *.o *~ axattach axl axparms beacon call kissparms listen mheard netromd nrparms pms rip98d

axattach: axattach.o convert.o
	$(CC) axattach.o convert.o -o axattach

axl: axl.o convert.o config.o
	$(CC) axl.o convert.o config.o -o axl

axparms: axparms.o convert.o config.o
	$(CC) axparms.o convert.o config.o -o axparms

beacon: beacon.o convert.o config.o
	$(CC) beacon.o convert.o config.o -o beacon

call: call.o yapp.o convert.o dostime.o config.o
	$(CC) call.o yapp.o convert.o config.o dostime.o -o call

kissparms: kissparms.o config.o
	$(CC) kissparms.o config.o -o kissparms

mheard: mheard.o
	$(CC) mheard.o -o mheard

netromd: netromd.o netromr.o netromt.o convert.o config.o
	$(CC) netromd.o netromt.o netromr.o config.o convert.o -o netromd

nrparms: nrparms.o convert.o
	$(CC) nrparms.o convert.o -o nrparms

pms: pms.o config.o convert.o
	$(CC) pms.o convert.o config.o -o pms

rip98d: rip98d.o rip98r.o rip98t.o
	$(CC) rip98d.o rip98t.o rip98r.o -o rip98d

LISTEN_OBJS = listen.o kissdump.o bpqdump.o ax25dump.o nrdump.o arpdump.o \
	ipdump.o icmpdump.o udpdump.o tcpdump.o rspfdump.o ripdump.o

listen:	$(LISTEN_OBJS)
	$(LD) -o listen $(LISTEN_OBJS)

listen.o:   global.h listen.c
kissdump.o: global.h kissdump.c
bpqdump.o:  global.h bpqdump.c
ax25dump.o: global.h ax25dump.c
nrdump.o:   global.h nrdump.c
arpdump.o:  global.h arpdump.c
ipdump.o:   global.h ipdump.c
icmpdump.o: global.h icmpdump.c
udpdump.o:  global.h udpdump.c
tcpdump.o:  global.h tcpdump.c
rspfdump.o: global.h rspfdump.c
ripdump.o:  global.h ripdump.c

axattach.o:    config.h axattach.c
axparms.o:     config.h axparms.c
beacon.o:      config.h beacon.c
call.o:        call.h config.h call.c
config.o:      config.h config.c
convert.o:     config.h convert.c
dostime.o:     call.h dostime.c
kissparms.o:   config.h kissparms.c
netromr.o:     netromd.h config.h netromr.c
netromt.o:     netromd.h config.h netromt.c
netromd.o:     netromd.h config.h netromd.c
nrparms.o:     config.h nrparms.c
pms.o:         config.h pms.c
rip98r.o:      rip98d.h rip98r.c
rip98t.o:      rip98d.h rip98t.c
rip98d.o:      rip98d.h rip98d.c
yapp.o:        call.h config.h yapp.c
