PROGRAM=	router
#
# ZMailer Router makefile
#
SHELL=		/bin/sh
CC=		gcc #-traditional
COPTS=		-g -O
CPPDEP= gcc -MM
MAILBIN=	/usr/local/mail/bin
DEFS=	-DSTDC_HEADERS -DHAVE_STRING_H -DHAVE_ALLOCA_H #-DXMEM -DMALLOC_TRACE
ROUTER_INCL=	
ROUTER_LIB=	 -lnsl -lresolv -lsocket
INSTALL=	/usr/ucb/install
#
INCL=		-I../include -I../libsh
CFLAGS=		$(COPTS) $(DEFS) $(INCL) $(ROUTER_INCL)
LIBMALLOC=	-lmalloc_d
LIBMALLOCDEB=	../libmalloc/libmalloc_d.a-a
LIB=		-L../libs -ldb -lsh -lz -lzc $(LIBMALLOC)
#LIBDEB=		#libdb/libdb.a-a ../libsh/libsh.a-a ../lib/libz.a-a ../libc/libzc.a-a $(LIBMALLOCDEB)
LIBDEB=		../libs/libtag
LINTLIB=	libdb/llib-llibdb.ln ../lib/llib-llibz.ln ../libc/llib-llibzc.ln
MAKE=		make
SSL=		../ssl/ssl
RUNSSL=	${SSL} -E HeaderSemantics -D short -e ../include/rfc822.entry rfc822.ssl
#
OBJS=	router.o dateparse.o conf.o functions.o db.o \
	shliaise.o rfc822.o rfc822hdrs.o rfc822walk.o

SOURCE=	router.c dateparse.c conf.c functions.c db.c \
	shliaise.c rfc822.c rfc822hdrs.c rfc822walk.c version.c

RFC822OBJS= rfc822walk.o rfc822test.o dateparse.o


$(PROGRAM)-a:	../include/rfc822.entry $(LIBDEB) $(PROGRAM)

$(PROGRAM): ../include/rfc822.entry $(LIBDEB) version.o
	$(CC) $(CFLAGS) -o $@ $(OBJS) version.o $(LIB) $(ROUTER_LIB)

version.c: $(OBJS)
	@make -f ../Makefile $@

rfc822test: $(RFC822OBJS) ../lib/libz.a
	$(CC) $(CFLAGS) $(RFC822OBJS) -o $@ ../lib/libz.a $(LIB)

rfc822.sst.c:	rfc822.ssl ${SSL}
	$(RUNSSL)

rfc822.sst.h:	rfc822.ssl ${SSL}
	$(RUNSSL)

../include/rfc822.entry:	rfc822.ssl ${SSL}
	$(RUNSSL)

${SSL}:	${SSL}.c
	cd ../ssl ; $(MAKE) $(MFLAGS)

install:	$(PROGRAM)-a $(PROGRAM)
	$(INSTALL) -c -m 0755 $(PROGRAM) $(MAILBIN)/$(PROGRAM).x
	mv $(MAILBIN)/$(PROGRAM).x $(MAILBIN)/$(PROGRAM)

tags:
	ctags *.c *.h

clean:
	-rm -f $(PROGRAM) rfc822test tags make.log Makefile.bak
	-rm -f *.o *.out *.ln *.sst.? *.lst
	cd libdb ; $(MAKE) $(MFLAGS) MAKE=$(MAKE) clean

lintlib: y.tab.c lex.yy.c llib-l$(PROGRAM).ln

llib-l$(PROGRAM).ln:	$(SOURCE)
	lint -C$(PROGRAM) $(DEFS) $(INCL) $(SOURCE)

lint:	$(LINTLIB) rfc822.sst.h rfc822.sst.c
	lint -hc $(DEFS) $(INCL) $(LINTLIB) $(SOURCE)

../libs/libtag:
	cd ../libs ; $(MAKE) $(MFLAGS)

../libc/llib-llibc.ln:
	cd ../libc ; $(MAKE) $(MFLAGS) lintlib

../lib/llib-llibz.ln:
	cd ../lib ; $(MAKE) $(MFLAGS) lintlib

libdb/llib-llibdb.ln:
	cd libdb ; $(MAKE) $(MFLAGS) lintlib

../libc/libzc.a-a:
	cd ../libc ; $(MAKE) $(MFLAGS)
../libc/libzc.a:
	cd ../libc ; $(MAKE) $(MFLAGS)

../lib/libz.a-a:
	cd ../lib ; $(MAKE) $(MFLAGS)
../lib/libz.a:
	cd ../lib ; $(MAKE) $(MFLAGS)

libdb/libdb.a-a:
	cd libdb ; $(MAKE) $(MFLAGS)
libdb/libdb.a:
	cd libdb ; $(MAKE) $(MFLAGS)

../libsh/libsh.a-a:
	cd ../libsh ; $(MAKE) $(MFLAGS) libsh.a
../libsh/libsh.a:
	cd ../libsh ; $(MAKE) $(MFLAGS) libsh.a

../libs/libmalloc_d.a-a:
	cd ../libmalloc ; $(MAKE) $(MFLAGS) ../libs/libmalloc_d.a
../libs/libmalloc_d.a:
	cd ../libmalloc ; $(MAKE) $(MFLAGS) ../libs/libmalloc_d.a

depend: rfc822.sst.c rfc822.sst.h ../include/rfc822.entry
	CPPDEP="${CPPDEP}" ../bin/mkdep $(CFLAGS) $(SOURCE)


# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.

router.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h \
  ../libsh/interpret.h ../libsh/sh.h ../libsh/sh.sst.h prototypes.h
dateparse.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h
conf.o: ../include/hostenv.h ../include/libsupport.h ../include/sysprotos.h \
  ../include/mailer.h ../include/malloc.h ../include/listutils.h \
  ../include/token.h ../include/splay.h
functions.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h \
  ../libsh/interpret.h ../libsh/sh.h ../libsh/sh.sst.h ../libsh/io.h \
  prototypes.h
db.o: ../include/hostenv.h ../include/libsupport.h ../include/sysprotos.h \
  ../include/mailer.h ../include/malloc.h ../include/listutils.h \
  ../include/token.h ../include/splay.h libdb/search.h prototypes.h
shliaise.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h prototypes.h
rfc822.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h \
  ../include/rfc822.entry prototypes.h
rfc822hdrs.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h \
  ../include/rfc822.entry ../libsh/io.h prototypes.h
rfc822walk.o: ../include/hostenv.h ../include/libsupport.h \
  ../include/sysprotos.h ../include/mailer.h ../include/malloc.h \
  ../include/listutils.h ../include/token.h ../include/splay.h prototypes.h \
  rfc822.sst.h rfc822.sst.c
version.o:

# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
