PROGRAM= router # # ZMailer Router makefile # srcdir = . SHELL= /bin/sh CC= gcc COPTS= -g -O2 CPPFLAGS= CPPDEP= gcc -MM TOPDIR= .. MAILBIN= $(DESTDIR)/opt/mail/bin DEFS= -DHAVE_CONFIG_H INSTALL= /usr/bin/install -c ROUTER_INCL= ROUTER_LIB= -lcrypt -ldb -lgdbm -lresolv # Above the LIBSOCKET (for SysVR4) must be last # INCL= -I$(srcdir)/$(TOPDIR)/include -I$(TOPDIR)/include -I$(TOPDIR) -I$(srcdir)/$(TOPDIR)/libsh -I$(TOPDIR)/libsh -I. CFLAGS= $(COPTS) $(CPPFLAGS) $(DEFS) $(INCL) $(ROUTER_INCL) LIBMALLOC= LIBMALLOCDEB= $(TOPDIR)/libmalloc/libmalloc_d.a-a # LIB= -L$(TOPDIR)/libs -lzmdb -lsh -lzm -lzc -lta $(LIBMALLOC) LIBDEB= $(TOPDIR)/libs/libtag $(TOPDIR)/libs/libta.a \ $(TOPDIR)/libs/libzm.a $(TOPDIR)/libs/libzc.a \ $(TOPDIR)/libs/libsh.a $(TOPDIR)/libs/libzmdb.a LINTLIB= libdb/llib-llibdb.ln $(TOPDIR)/lib/llib-llibz.ln $(TOPDIR)/libc/llib-llibzc.ln SSL= $(TOPDIR)/ssl/ssl RUNSSL= rm -f $(TOPDIR)/include/rfc822.entry rfc822.sst.? ; \ ${SSL} -E HeaderSemantics -D short -h rfc822.sst.h -t rfc822.sst.c \ -e $(TOPDIR)/include/rfc822.entry $(srcdir)/rfc822.ssl OBJS= router.o dateparse.o conf.o functions.o db.o \ shliaise.o rfc822.o rfc822hdrs.o rfc822walk.o \ daemonsub.o rtsyslog.o \ $(TOPDIR)/scheduler/pipes.o $(TOPDIR)/scheduler/resources.o SOURCE= router.c dateparse.c conf.c functions.c db.c \ shliaise.c rfc822.c rfc822hdrs.c rfc822walk.c \ rtsyslog.c daemonsub.c RFC822OBJS= rfc822walk.o rfc822test.o dateparse.o all $(PROGRAM)-a: $(TOPDIR)/include/rfc822.entry $(LIBDEB) $(PROGRAM) .c.o: $(CC) $(CFLAGS) -c $< $(OBJS): $(srcdir)/../include/shmmib.h ../include/mail.h $(OBJS): $(srcdir)/prototypes.h $(PROGRAM): $(TOPDIR)/include/rfc822.entry $(LIBDEB) version.o $(OBJS) $(CC) $(CFLAGS) -o $@.x $(OBJS) version.o $(LIB) $(ROUTER_LIB) mv $@.x $@ $(PROGRAM).third: $(TOPDIR)/include/rfc822.entry $(LIBDEB) version.o $(OBJS) -rm -f $(PROGRAM) make $(PROGRAM) LIBMALLOC= CFLAGS="${CFLAGS} -non_shared" atom -tool third -o $(PROGRAM).third $(PROGRAM) version.c: $(OBJS) $(TOPDIR)/Makefile @$(MAKE) $(MFLAGS) -f $(TOPDIR)/Makefile $@ rfc822test: $(RFC822OBJS) $(TOPDIR)/libs/libzm.a $(CC) $(CFLAGS) $(RFC822OBJS) -o $@ $(TOPDIR)/libs/libzm.a $(LIB) rfc822.entry: $(TOPDIR)/include/rfc822.entry $(SSL) $(TOPDIR)/include/rfc822.entry rfc822.sst.c rfc822.sst.h: rfc822.ssl ${SSL} $(RUNSSL) rfc822walk.o: rfc822walk.c rfc822.sst.c rfc822.sst.h $(TOPDIR)/scheduler/pipes.o: cd $(TOPDIR)/scheduler ; $(MAKE) $(MFLAGS) pipes.o $(TOPDIR)/scheduler/resources.o: cd $(TOPDIR)/scheduler ; $(MAKE) $(MFLAGS) resources.o ${SSL}: $(srcdir)/${SSL}.c cd $(TOPDIR)/ssl ; $(MAKE) $(MFLAGS) install: $(PROGRAM)-a $(PROGRAM) $(INSTALL) -m 0755 $(PROGRAM) $(MAILBIN)/$(PROGRAM).x mv $(MAILBIN)/$(PROGRAM).x $(MAILBIN)/$(PROGRAM) tags: ctags *.c *.h clean mostlyclean: -rm -f $(PROGRAM) rfc822test tags make.log *~ -rm -f *.o *.out *.ln *.sst.? *.lst *.3rd *.3log cd libdb ; $(MAKE) $(MFLAGS) MAKE=$(MAKE) clean distclean: clean rm -f Makefile libdb/Makefile 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) $(LIBDEB): cd $(TOPDIR)/libs ; $(MAKE) $(MFLAGS) libtag $(TOPDIR)/libc/llib-llibc.ln: cd $(TOPDIR)/libc ; $(MAKE) $(MFLAGS) lintlib $(TOPDIR)/lib/llib-llibz.ln: cd $(TOPDIR)/lib ; $(MAKE) $(MFLAGS) lintlib libdb/llib-llibdb.ln: cd libdb ; $(MAKE) $(MFLAGS) lintlib libdb/libzmdb.a-a: cd libdb ; $(MAKE) $(MFLAGS) libdb/libzmdb.a: cd libdb ; $(MAKE) $(MFLAGS) ../libsh/sh.sst.h: cd ../libsh; $(MAKE) $(MFLAGS) sh.h depend: rfc822.sst.c rfc822.sst.h $(TOPDIR)/include/rfc822.entry ../libsh/sh.sst.h CPPDEP="${CPPDEP}" CPPOPT="$(CFLAGS)" $(TOPDIR)/bin/mkdep -s $(srcdir) $(SOURCE) # DO NOT DELETE THIS LINE -- mkdep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.