srcdir= . SHELL= /bin/sh TOPDIR= .. PZCONFIG= $(TOPDIR)/zmailer.Config INSTALL= /usr/bin/install -c MKDIR= mkdir -p MD5SUM= /usr/bin/md5sum PMAILSHARE= scheduler.conf sm.conf smtpserver.conf scheduler.auth \ smtp-tls.conf PMAILBIN= mailrm.sh newaliases newfqdnaliases newdb zmailer.sh \ newdbprocessor post-install.sh all: @echo Usage: '"make [ dirs | config | mailbin | mailshare | db | cf | forms | guides | install | install-bin ]"' install: dirs mailbin mailshare db cf forms guides install-bin: dirs mailbin cf db FRC: $(PZCONFIG): @cd $(TOPDIR) ; $(MAKE) $(MFLAGS) zmailer.Config $(MD5SUM): if [ "$(MD5SUM)" = "$(TOPDIR)/utils/md5sum" ]; then \ cd $(TOPDIR); $(MAKE) $(MFLAGS) md5sum ; \ fi # Ensure all necessary directories exist dirs: $(PZCONFIG) -@(. $(PZCONFIG) ; \ umask 022 ; \ if [ -n "$(DESTDIR)" ] ; then \ $(MKDIR) -m 755 $(DESTDIR) ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE && \ $(MKDIR) $(DESTDIR)$$MAILSHARE ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILVAR ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILVAR && \ $(MKDIR) $(DESTDIR)$$MAILVAR ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILVAR/db ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILVAR/db && \ $(MKDIR) $(DESTDIR)$$MAILVAR/db ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILVAR/db/proto ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILVAR/db/proto && \ $(MKDIR) $(DESTDIR)$$MAILVAR/db/proto ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILVAR/lists ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILVAR/lists && \ $(MKDIR) $(DESTDIR)$$MAILVAR/lists ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILVAR/fqlists ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILVAR/dqlists && \ $(MKDIR) $(DESTDIR)$$MAILVAR/fqlists ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE/forms ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE/forms && \ $(MKDIR) $(DESTDIR)$$MAILSHARE/forms ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE/forms/proto ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE/forms/proto && \ $(MKDIR) $(DESTDIR)$$MAILSHARE/forms/proto ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE/proto ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE/proto && \ $(MKDIR) $(DESTDIR)$$MAILSHARE/proto ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE/bak ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE/bak && \ $(MKDIR) $(DESTDIR)$$MAILSHARE/bak ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILSHARE/guides ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILSHARE/guides && \ $(MKDIR) $(DESTDIR)$$MAILSHARE/guides ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILBIN ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILBIN && \ $(MKDIR) $(DESTDIR)$$MAILBIN ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILBIN/ta ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILBIN/ta && \ $(MKDIR) $(DESTDIR)$$MAILBIN/ta ; \ fi ; \ if [ ! -d $(DESTDIR)$$MAILBIN/bak ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILBIN/bak && \ $(MKDIR) $(DESTDIR)$$MAILBIN/bak ; \ fi ; \ if [ ! -d $(DESTDIR)$$POSTOFFICE ]; then \ echo $(MKDIR) $(DESTDIR)$$POSTOFFICE && \ $(MKDIR) $(DESTDIR)$$POSTOFFICE ; \ chmod 2755 $(DESTDIR)$$POSTOFFICE ; \ chmod g+s $(DESTDIR)$$POSTOFFICE ; \ fi; \ echo " " ; \ echo "Running post-install creates $$POSTOFFICE subdirs!"; \ echo " " ; \ if [ ! -d $(DESTDIR)$$LOGDIR ]; then \ echo $(MKDIR) $(DESTDIR)$$LOGDIR && \ $(MKDIR) $(DESTDIR)$$LOGDIR ; \ chmod 755 $(DESTDIR)$$LOGDIR ; \ fi ) clientdirs: $(PZCONFIG) -@(. $(PZCONFIG) ; \ if [ ! -d $(DESTDIR)$$MAILBIN ]; then \ echo $(MKDIR) $(DESTDIR)$$MAILBIN && \ $(MKDIR) $(DESTDIR)$$MAILBIN ; \ fi ) # This is only good for testing "make dirs" cleandirs: FRC $(PZCONFIG) -@( . $(PZCONFIG) ; \ echo tar -cf /tmp/zmstuff.tar $(DESTDIR)$$MAILBIN $(DESTDIR)$$MAILSHARE $(DESTDIR)$$POSTOFFICE && \ tar -cf /tmp/zmstuff.tar $(DESTDIR)$$MAILBIN $(DESTDIR)$$MAILSHARE $(DESTDIR)$$POSTOFFICE && \ echo rm -rf $(DESTDIR)$$MAILBIN $(DESTDIR)$$MAILSHARE $(DESTDIR)$$POSTOFFICE && \ rm -rf $(DESTDIR)$$MAILBIN $(DESTDIR)$$MAILSHARE $(DESTDIR)$$POSTOFFICE ; \ rm -f +dirs ) mailbin: $(PZCONFIG) $(PMAILBIN) $(MD5SUM) -@(. $(PZCONFIG) ; \ if [ ! -d $(DESTDIR)$$MAILBIN/bak ]; then $(MKDIR) $(DESTDIR)$$MAILBIN/bak ; fi ; \ for file in $(PMAILBIN) ; \ do \ name=`expr $$file : '\([^.]*\)'` ; \ echo $(INSTALL) -m 755 $$file $(DESTDIR)$$MAILBIN/$$name ; \ $(INSTALL) -m 755 $$file $(DESTDIR)$$MAILBIN/$$name ; \ done) mailshare: $(PZCONFIG) $(PMAILSHARE) $(MD5SUM) -@(. $(PZCONFIG) ; pwd=`pwd` ; \ MAILSHARE=$(DESTDIR)$$MAILSHARE ; \ if [ ! -d $$MAILSHARE/bak ]; then $(MKDIR) $$MAILSHARE/bak ; fi ; \ for file in $(PMAILSHARE) ; \ do \ (echo "# Do not edit this file, instead edit $$pwd/$$file" ; \ echo '#' ; cat $$file) > ms.$$$$ ; \ echo $(INSTALL) -m 644 $$file $$MAILSHARE/proto/$$file ; \ $(INSTALL) -m 644 ms.$$$$ $$MAILSHARE/proto/$$file ; \ rm -f ms.$$$$ ; \ done ) forms: FRC $(MD5SUM) @( . $(PZCONFIG) ; \ FORMSDIR="$(DESTDIR)$$MAILSHARE/forms" ; \ if [ ! -d "$$FORMSDIR/bak" ]; then \ $(MKDIR) "$$FORMSDIR/bak" ; \ fi ; \ if [ ! -d "$$FORMSDIR/proto" ]; then \ $(MKDIR) "$$FORMSDIR/proto" ; \ fi ; \ for file in ${srcdir}/forms/????* ; \ do \ name="`basename $$file`" ; \ echo $(INSTALL) -m 644 $$file $$FORMSDIR/proto/$$name ; \ $(INSTALL) -m 644 $$file $$FORMSDIR/proto/$$name ; \ done ) db: FRC -@( . $(PZCONFIG) ; \ MAILVAR=$(DESTDIR)$$MAILVAR ; \ MAILSHARE=$(DESTDIR)$$MAILSHARE; \ if [ ! -d $$MAILVAR/db ]; then \ $(MKDIR) $$MAILVAR/db ; \ fi ; \ if [ ! -d $$MAILVAR/db/proto ]; then \ $(MKDIR) $$MAILVAR/db/proto ; \ fi ; \ echo "Don't forget to set up MAILVAR/db by hand -- if there is nothing, we seed it now" ; \ $(INSTALL) -m 644 db/aliases $$MAILVAR/db/proto/aliases ; \ for x in fqdnaliases fqdnroutes dbases.conf localnames routes \ smtp-policy.mx smtp-policy.src smtp-policy.relay \ userdb kill-headers ; \ do \ $(INSTALL) -m 644 $(srcdir)/db/$$x $$MAILVAR/db/proto/$$x ; \ done ; ) cf: FRC $(MD5SUM) -@(. $(PZCONFIG) ; \ MAILSHARE=$(DESTDIR)$$MAILSHARE; \ if [ ! -d $$MAILSHARE/proto ]; then \ $(MKDIR) $$MAILSHARE/proto ; \ fi ; \ if [ ! -d $$MAILSHARE/cf ]; then \ $(MKDIR) $$MAILSHARE/cf ; \ fi ; \ if [ ! -d $$MAILSHARE/cf/proto ]; then \ $(MKDIR) $$MAILSHARE/cf/proto ; \ fi ; \ if [ ! -d $$MAILSHARE/cf/fc ]; then \ $(MKDIR) $$MAILSHARE/cf/fc ; \ fi ; \ cp -p $(srcdir)/cf/*.cf $$MAILSHARE/cf/proto ; \ cp -p cf/*.cf $$MAILSHARE/cf/proto/ ; \ cp -p cf/SMTP.cf $$MAILSHARE/proto/router.cf ; \ /bin/rm -f `find $$MAILSHARE/. -name "*.fc" -print` \ foo-file ; \ ) guides: FRC -. $(PZCONFIG) ; \ MAILSHARE=$(DESTDIR)$$MAILSHARE ; \ src=$(srcdir)/$(TOPDIR)/doc/guides ; \ cp -p $$src/* $$MAILSHARE/guides/ clean mostlyclean: FRC rm -f ./+* *~ distclean: clean rm -f Makefile sm.conf zmailer.sh rm -f newfqdnaliases newaliases newdb mailrm.sh rm -f scheduler.conf post-install.sh smtp-tls.conf rm -f smtpserver.conf newdbprocessor scheduler.auth depend: