NETDIR = /tmp/net/
NETDINSDIR = /etc/bin
INSDIR = /bin
NETCHANGE = /etc/bin/netchange
BINSH = /bin/sh
TESTDIR = .
FRC =
INS = install -
RM = -rm -f
PRINTER = -0
NETOBJECTS = net.o netheader.o statelib.o
NETQOBJECTS = netq.o netheader.o
NETDOBJECTS = netd.o netproto.o crc.o
NETGETOBJS = netget.o netheader.o statelib.o
NETSTOBJS = netstate.o statelib.o
CONOBJS = con.o statelib.o
CFLAGS = -O
DFLAGS = -DAus2=1 -DL7C=1 -DSPOOLDIR=\"$(NETDIR)\" -DBIN_NET=\"$(INSDIR)/net\" \
	-DRMAIL=1 -DNETCHANGE=\"$(NETCHANGE)\" -DBIN_SH=\"$(BINSH)\" \
	-DBIN_NETSTATE=\"$(INSDIR)/netstate\"
ASFLAGS =
LDFLAGS = -s

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

all:	net netd netq netget netstate con netstop

net:	$(NETOBJECTS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/net $(NETOBJECTS)

netd:	$(NETDOBJECTS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/netd $(NETDOBJECTS)

netget:	$(NETGETOBJS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/netget $(NETGETOBJS)

netq:		$(NETQOBJECTS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/netq $(NETQOBJECTS)

netstop:	netstop.o
	$(CC) $(LDFLAGS) -o $(TESTDIR)/netstop netstop.o

netstate:	$(NETSTOBJS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/netstate $(NETSTOBJS)

con:	$(CONOBJS)
	$(CC) $(LDFLAGS) -o $(TESTDIR)/con $(CONOBJS)

net.o:	net.h neth.h $(FRC)
netq.o:	net.h neth.h $(FRC)
netd.o:	net.h netd.h neth.h $(FRC)
netget.o:	net.h neth.h $(FRC)
netstate.o:	neth.h netstate.h $(FRC)
netproto.o:	net.h netd.h $(FRC)
netheader.o:	net.h neth.h $(FRC)
statelib.o:	neth.h netstate.h $(FRC)
netstop.o:	net.h neth.h $(FRC)
crc.o:	$(FRC)
con.o:	$(FRC)

touch:
	touch net netq netd netget netstate netchange.sh netsend.sh con \
	netstop

install:	$(INSDIR)/net $(INSDIR)/netq $(NETDINSDIR)/netd \
		$(INSDIR)/netget $(INSDIR)/netstate $(NETCHANGE) \
		$(INSDIR)/con $(INSDIR)/netsend $(INSDIR)/netstop

$(TESTDIR)/net:	net
$(TESTDIR)/netd:	netd
$(TESTDIR)/netq:	netq
$(TESTDIR)/netget:	netget
$(TESTDIR)/netstate:	netstate
$(TESTDIR)/con:	con
$(TESTDIR)/netstop:	netstop

$(INSDIR)/net:	$(TESTDIR)/net
	$(INS) $(TESTDIR)/net root 4711 $(INSDIR)/net

$(INSDIR)/netq:	$(TESTDIR)/netq
	$(INS) $(TESTDIR)/netq bin 711 $(INSDIR)/netq

$(NETDINSDIR)/netd:	$(TESTDIR)/netd
	$(INS) $(TESTDIR)/netd bin 710 $(NETDINSDIR)/netd

$(INSDIR)/netget:	$(TESTDIR)/netget
	$(INS) $(TESTDIR)/netget root 4711 $(INSDIR)/netget

$(INSDIR)/netstate:	$(TESTDIR)/netstate
	$(INS) $(TESTDIR)/netstate bin 711 $(INSDIR)/netstate

$(NETCHANGE):	netchange.sh
	cp netchange.sh $(NETCHANGE)
	chown daemon $(NETCHANGE)
	chmod 750 $(NETCHANGE)

$(INSDIR)/netsend:	netsend.sh
	cp netsend.sh $(INSDIR)/netsend
	$(RM) $(INSDIR)/netpr
	ln $(INSDIR)/netsend $(INSDIR)/netpr
	chmod 755 $(INSDIR)/netsend

$(INSDIR)/con:	$(TESTDIR)/con
	$(INS) $(TESTDIR)/con root 4711 $(INSDIR)/con

$(INSDIR)/netstop:	$(TESTDIR)/netstop
	$(INS) $(TESTDIR)/netstop daemon 4711 $(INSDIR)/netstop

clean:
	$(RM) *.o

clobber:	clean
	$(RM) $(TESTDIR)/net $(TESTDIR)/netq $(TESTDIR)/netd \
	$(TESTDIR)/netget $(TESTDIR)/con $(TESTDIR)/netstop

print:
	print $(PRINTER) -inet-source Aus1/*
	( cd docs; for i in *.[0-8]*; do nroff -man -Tlp $$i; done ) | lpr $(PRINTER) -inet-manuals -mnet-manuals
	print $(PRINTER) -inet-source Makefile *.h *.c *.sh crc.cold *.s

lint:	net.lint netd.lint netget.lint netq.lint \
	netstate.lint con.lint netstop.lint

net.lint:	net.c netheader.c statelib.c net.h neth.h netstate.h
	lint $(DFLAGS) net.c netheader.c statelib.c >net.lint
netd.lint:	netd.c netproto.c net.h netd.h
	lint $(DFLAGS) netd.c netproto.c >netd.lint
netget.lint:	net.h neth.h netstate.h netget.c netheader.c statelib.c
	lint $(DFLAGS) netget.c netheader.c statelib.c >netget.lint
netq.lint:	neth.h net.h netq.c
	lint $(DFLAGS) netq.c >netq.lint
netstop.lint:	neth.h net.h netstop.c
	lint $(DFLAGS) netstop.c >netstop.lint
netstate.lint:	net.h neth.h netstate.h netstate.c statelib.c
	lint $(DFLAGS) netstate.c statelib.c >netstate.lint
con.lint:	neth.h netstate.h statelib.c con.c
	lint $(DFLAGS) con.c statelib.c >con.lint

FRC:

test-search:	test-search.o statelib.o
	$(CC) $(LDFLAGS) -o test-search test-search.o statelib.o
