# Standard makefile for telecom spine gateways

# Defs for building from experimental libraries
#CFLAGS = -O -I../../sys/include
#GWLIB = ../../gw/vax
#VAXLIB = ../../lib.vax
#SYSLIB = ../../sys/vax/syslib.a

# Defs for building out of installed libraries
CFLAGS = -O -I../include/sys
GWLIB = ../../vax/libexl
VAXLIB = ../../vax/lib
SYSLIB = ../../vax/libsys.a

CRT = $(VAXLIB)/scb.o $(VAXLIB)/crt.o
CRTDDT = $(VAXLIB)/scb.o $(VAXLIB)/crtddt.o
LIB = $(VAXLIB)/libc.a
DEVLIB = $(GWLIB)/devlib.a
FLIB = $(GWLIB)/flib.a
GATE = $(GWLIB)/glib.a
PLIB = $(GWLIB)/alib.a $(GWLIB)/plib.a
NETLIB = $(GWLIB)/nlib.a
DDT = $(VAXLIB)/libddt.a
DDTST = $(VAXLIB)/isymt.o
FST = $(VAXLIB)/fst.o

PROT = incnf.$*.o inpcnf.o inga.o arpcnf.o
LINK =  ${CRTDDT} systbl.o ${GATE} $(DEVLIB) \
		$(PROT) ${PLIB} netcnf.o ${NETLIB} \
		${FLIB} ${SYSLIB} $(DDT) $(LIB) $(DDTST)
# This one uses a seperate inga.o file so fix routes can be installed.
PROTS = incnf.$*.o inpcnf.o inga.$*.o arpcnf.o
LINKS =  ${CRTDDT} systbl.o ${GATE} $(DEVLIB) \
		$(PROTS) ${PLIB} $*.o ${NETLIB} \
		${FLIB} ${SYSLIB} $(DDT) $(LIB) $(DDTST)
# This one includes ChaosNet support as well
PROTSC = incnf.$*.o inpcnf.o inga.$*.o chcnf.$*.o arpcnf-ch.o
LINKSC = ${CRTDDT} systbl-c.o ${GATE} $(DEVLIB) \
		$(PROTSC) ${PLIB} $*.o ${NETLIB} \
		${FLIB} ${SYSLIB} $(DDT) $(LIB) $(DDTST)

b24gw.out: systbl.o incnf.b24gw.o inpcnf.o inga.b24gw.o arpcnf.o b24gw.o
	ld -X -e start -o $@ $(LINKS) st.o


b24gw.st.o: b24gw.e
	nm -gn a.out | mksymt > st.s
	cc -c st.s

b24gw.e: systbl.o incnf.b24gw.o inpcnf.o inga.b24gw.o arpcnf.o b24gw.o
	ld -X -e start -o a.out $(LINKS) $(FST)

.o.out:	foo
	ld -X -e start -o $@ $(LINK) st.o
