xref: /freebsd/contrib/sendmail/src/Makefile.m4 (revision 739ac4d4d3a1d1d68eae4e7bd59c179d842864d2)
1dnl $Id: Makefile.m4,v 8.91.2.1 2002/06/21 21:58:47 ca Exp $
2include(confBUILDTOOLSDIR`/M4/switch.m4')
3
4define(`confREQUIRE_LIBSM', `true')
5bldPRODUCT_START(`executable', `sendmail')
6define(`bldBIN_TYPE', `G')
7define(`bldINSTALL_DIR', `')
8define(`bldSOURCES', `main.c alias.c arpadate.c bf.c collect.c conf.c control.c convtime.c daemon.c deliver.c domain.c envelope.c err.c headers.c macro.c map.c mci.c milter.c mime.c parseaddr.c queue.c readcf.c recipient.c sasl.c savemail.c sfsasl.c shmticklib.c sm_resolve.c srvrsmtp.c stab.c stats.c sysexits.c timers.c tls.c trace.c udb.c usersmtp.c util.c version.c ')
9PREPENDDEF(`confENVDEF', `confMAPDEF')
10bldPUSH_SMLIB(`sm')
11bldPUSH_SMLIB(`smutil')
12
13dnl hack: /etc/mail is not defined as "location of .cf" in the build system
14define(`bldTARGET_INST_DEP', ifdef(`confINST_DEP', `confINST_DEP',
15`${DESTDIR}/etc/mail/submit.cf ${DESTDIR}${MSPQ}'))dnl
16define(`bldTARGET_LINKS', ifdef(`confLINKS', `confLINKS',
17`${DESTDIR}${UBINDIR}/newaliases ${DESTDIR}${UBINDIR}/mailq ${DESTDIR}${UBINDIR}/hoststat ${DESTDIR}${UBINDIR}/purgestat')
18)dnl
19
20# location of sendmail statistics file (usually /etc/mail/ or /var/log)
21STDIR= ifdef(`confSTDIR', `confSTDIR', `/etc/mail')
22
23# full path to installed statistics file (usually ${STDIR}/statistics)
24STFILE= ${STDIR}/ifdef(`confSTFILE', `confSTFILE', `statistics')
25
26# location of sendmail helpfile file (usually /etc/mail)
27HFDIR= ifdef(`confHFDIR', `confHFDIR', `/etc/mail')
28
29# full path to installed help file (usually ${HFDIR}/helpfile)
30HFFILE= ${HFDIR}/ifdef(`confHFFILE', `confHFFILE', `helpfile')
31
32ifdef(`confSMSRCADD', `APPENDDEF(`confSRCADD', `confSMSRCADD')')
33ifdef(`confSMOBJADD', `APPENDDEF(`confOBJADD', `confSMOBJADD')')
34
35bldPUSH_TARGET(`statistics')
36divert(bldTARGETS_SECTION)
37statistics:
38	${CP} /dev/null statistics
39	chmod ifdef(`confSTMODE', `confSTMODE', `0600') statistics
40
41${DESTDIR}/etc/mail/submit.cf:
42	@echo "Please read INSTALL if anything fails while installing the binary."
43	@echo "${DESTDIR}/etc/mail/submit.cf will be installed now."
44	cd ${SRCDIR}/cf/cf && make install-submit-cf
45
46MSPQ=ifdef(`confMSP_QUEUE_DIR', `confMSP_QUEUE_DIR', `/var/spool/clientmqueue')
47
48${DESTDIR}${MSPQ}:
49	@echo "Please read INSTALL if anything fails while installing the binary."
50	@echo "You must have setup a new user ${MSPQOWN} and a new group ${GBINGRP}"
51	@echo "as explained in sendmail/SECURITY."
52	mkdir -p ${DESTDIR}${MSPQ}
53	chown ${MSPQOWN} ${DESTDIR}${MSPQ}
54	chgrp ${GBINGRP} ${DESTDIR}${MSPQ}
55	chmod 0770 ${DESTDIR}${MSPQ}
56
57divert(0)
58
59ifdef(`confSETUSERID_INSTALL', `bldPUSH_INSTALL_TARGET(`install-set-user-id')')
60ifdef(`confMTA_INSTALL', `bldPUSH_INSTALL_TARGET(`install-sm-mta')')
61ifdef(`confNO_HELPFILE_INSTALL',, `bldPUSH_INSTALL_TARGET(`install-hf')')
62ifdef(`confNO_STATISTICS_INSTALL',, `bldPUSH_INSTALL_TARGET(`install-st')')
63divert(bldTARGETS_SECTION)
64
65install-set-user-id: bldCURRENT_PRODUCT ifdef(`confNO_HELPFILE_INSTALL',, `install-hf') ifdef(`confNO_STATISTICS_INSTALL',, `install-st') ifdef(`confNO_MAN_BUILD',, `install-docs')
66	${INSTALL} -c -o ${S`'BINOWN} -g ${S`'BINGRP} -m ${S`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}
67	for i in ${sendmailTARGET_LINKS}; do \
68		rm -f $$i; \
69		ln -s ${M`'BINDIR}/sendmail $$i; \
70	done
71
72define(`confMTA_LINKS', `${DESTDIR}${UBINDIR}/newaliases ${DESTDIR}${UBINDIR}/mailq ${DESTDIR}${UBINDIR}/hoststat ${DESTDIR}${UBINDIR}/purgestat')
73install-sm-mta: bldCURRENT_PRODUCT
74	${INSTALL} -c -o ${M`'BINOWN} -g ${M`'BINGRP} -m ${M`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}/sm-mta
75	for i in confMTA_LINKS; do \
76		rm -f $$i; \
77		ln -s ${M`'BINDIR}/sm-mta $$i; \
78	done
79
80install-hf:
81	if [ ! -d ${DESTDIR}${HFDIR} ]; then mkdir -p ${DESTDIR}${HFDIR}; else :; fi
82	${INSTALL} -c -o ${UBINOWN} -g ${UBINGRP} -m 444 helpfile ${DESTDIR}${HFFILE}
83
84install-st: statistics
85	if [ ! -d ${DESTDIR}${STDIR} ]; then mkdir -p ${DESTDIR}${STDIR}; else :; fi
86	${INSTALL} -c -o ${SBINOWN} -g ${UBINGRP} -m ifdef(`confSTMODE', `confSTMODE', `0600') statistics ${DESTDIR}${STFILE}
87divert(0)
88bldPRODUCT_END
89
90bldPRODUCT_START(`manpage', `sendmail')
91define(`bldSOURCES', `sendmail.8 aliases.5 mailq.1 newaliases.1')
92bldPRODUCT_END
93
94bldFINISH
95