# $Id$ # # Makefile for administration of sendmail on Mac OS X. # # Place this file under /etc/mail, then change into the /etc/mail # directory, and use the following commands to perform various sendmail # administrative tasks. # # make all Calls config and maps rules (default rule). # make config Rebuilds the *.cf files if needed. # make maps Rebuilds any hashed MAPFILES. # make reload Tells sendmail to relaunch itself. # make clean Removes various old or temporary files. # make distclean Above plus the *.cf and hashed MAPFILES. # This is where Mac OS X keeps the sendmail cf directory CFDIR?= /usr/share/sendmail/conf # Where various things are located M4?= m4 MAKEMAP?= /usr/sbin/makemap SENDMAIL= /usr/sbin/sendmail PIDFILE= /var/run/sendmail.pid # how and what to hash with makemap(8) HASHTYPE?= hash MAPFILES+= access genericstable mailertable virtusertable # for reference CFM4= $(CFDIR)/m4/cf.m4 MCFILE= sendmail.mc CFFILE= sendmail.cf SMMCFILE= submit.mc SMFILE= submit.cf PWD= `/bin/pwd` LOGGER= logger -i -p mail.info -t sm-makefile all: config maps maps: @$(LOGGER) rebuilding mapped files in $(PWD) @for F in $(MAPFILES); do \ if [ -f $$F ]; then \ $(MAKEMAP) $(HASHTYPE) $$F < $$F; \ fi \ done @if [ -f userdb ]; then \ $(MAKEMAP) btree userdb < userdb; \ fi config: $(CFFILE) $(SMFILE) $(CFM4) $(CFFILE): $(MCFILE) $(CFM4) @$(LOGGER) rebuilding $(CFFILE) in $(PWD) @-cp $(CFFILE) $(CFFILE).old 2>/dev/null || true @$(M4) -D_CF_DIR_=$(CFDIR)/ $(CFM4) $(MCFILE) > $(CFFILE) $(SMFILE): $(SMMCFILE) $(CFM4) @$(LOGGER) rebuilding $(SMFILE) in $(PWD) @-cp $(SMFILE) $(SMFILE).old 2>/dev/null || true @$(M4) -D_CF_DIR_=$(CFDIR)/ $(CFM4) $(SMMCFILE) > $(SMFILE) reload: $(CFFILE) $(PIDFILE) @kill -HUP `head -1 $(PIDFILE)` clean: @rm -f *~ *.old distclean: clean @rm -f *.db *.pag *.dir $(CFFILE)* $(SMFILE)*