NETDIR = /tmp/net/
NETDINSDIR = /etc/bin
INSDIR = /bin
NETCHANGE = /etc/bin/netchange
BINSH = /bin/sh
GMT = -10
TESTDIR = .
FRC =
INS = cp
CHOWN = /etc/bin/chown
RM = -/bin/rm -f
MV = -/bin/mv
NETOBJECTS = net.o netheader.o statelib.o lvl7.o
NETQOBJECTS = netq.o netheader.o lvl7.o
NETDOBJECTS = netd.o netproto.o crc.o lvl7.o
NETGETOBJS = netget.o netheader.o statelib.o lvl7.o
NETSTOBJS = netstate.o statelib.o lvl7.o
CONOBJS = con.o statelib.o lvl7.o
DFLAGS = -DAus1=1 -DRMAIL=1 -DSPOOLDIR=\"$(NETDIR)\" -DBIN_NET=\"$(INSDIR)/net\" -DNETCHANGE=\"$(NETCHANGE)\" -DGMT=$(GMT) -DBIN_SH=\"$(BINSH)\" -DBIN_NETSTATE=\"$(INSDIR)/netstate\"
CFLAGS = -O
LIBS = -lS
LDFLAGS = -s

.c.o:
	$(CC) -c $(CFLAGS) -DAus1=1 -DRMAIL=1 -DSPOOLDIR=\"$(NETDIR)\" \
	-DBIN_NET=\"$(INSDIR)/net\" -DNETCHANGE=\"$(NETCHANGE)\" \
	-DGMT=$(GMT) -DBIN_SH=\"$(BINSH)\" \
	-DBIN_NETSTATE=\"$(INSDIR)/netstate\" $<

.s.o:
	-$(AS) -o $@ $<

all:	net netd netq netget netstate con

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

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

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

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

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

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

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

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

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

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

$(INSDIR)/net:	$(TESTDIR)/net
	chmod 700 $(INSDIR)/net
	-$(INSDIR)/net
	$(INS) $(TESTDIR)/net $(INSDIR)
	$(CHOWN) root $(INSDIR)/net
	chmod 5701 $(INSDIR)/net

$(INSDIR)/netq:	$(TESTDIR)/netq
	$(INS) $(TESTDIR)/netq $(INSDIR)
	chmod 701 $(INSDIR)/netq

$(NETDINSDIR)/netd:	$(TESTDIR)/netd
	$(MV) $(NETDINSDIR)/netd $(NETDINSDIR)/OLDnetd
	$(INS) $(TESTDIR)/netd $(NETDINSDIR)
	chmod 700 $(NETDINSDIR)/netd

$(INSDIR)/netget:	$(TESTDIR)/netget
	$(INS) $(TESTDIR)/netget $(INSDIR)
	$(CHOWN) root $(INSDIR)/netget
	chmod 4701 $(INSDIR)/netget

$(INSDIR)/netstate:	$(TESTDIR)/netstate
	$(INS) $(TESTDIR)/netstate $(INSDIR)
	chmod 701 $(INSDIR)/netstate

$(NETCHANGE):	netchange.sh
	cp netchange.sh $(NETCHANGE)
	$(CHOWN) daemon $(NETCHANGE)
	chmod 700 $(NETCHANGE)

$(INSDIR)/netsend:	netsend.sh
	cp netsend.sh $(INSDIR)/netsend
	chmod 705 $(INSDIR)/netsend

$(INSDIR)/con:	$(TESTDIR)/con
	$(MV) $(INSDIR)/con $(INSDIR)/OLDcon
	$(INS) $(TESTDIR)/con $(INSDIR)
	$(CHOWN) root $(INSDIR)/con
	chmod 4701 $(INSDIR)/con

clean:
	$(RM) *.o

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

print:
	print Makefile *.h *.c *.sh *.s

lint:	net.lint netd.lint netget.lint netq.lint netstate.lint

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

FRC:

test-search:	test-search.c statelib.c lvl7.o
	cc -o test-search $(CFLAGS) -DAus1 -DSPOOLDIR=\"$(NETDIR)\" -DBIN_NET=\"$(INSDIR)/net\" -DNETCHANGE=\"$(NETCHANGE)\" -DGMT=$(GMT) -DBIN_SH=\"$(BINSH)\" -DBIN_NETSTATE=\"$(INSDIR)/netstate\" -DEBUG2 test-search.c lvl7.o $(LIBS)
