xref: /freebsd/etc/sendmail/Makefile (revision 516e591db11a29c7bb3d8135a94530b27b94f91d)
1
2M4=		m4
3CHMOD=		chmod
4ROMODE=		444
5RM=		rm -f
6
7SENDMAIL_DIR=	${SRCTOP}/contrib/sendmail
8SMDIR=		${SENDMAIL_DIR}/src
9SENDMAIL_CF_DIR?=${SENDMAIL_DIR}/cf
10
11# this is overkill, but....
12M4FILES!=	find ${SENDMAIL_CF_DIR} -type f -name '*.m4' -print
13
14.SUFFIXES: .mc .cf
15
16.mc.cf: ${M4FILES}
17	${RM} ${.TARGET}
18	${M4} -D_CF_DIR_=${SENDMAIL_CF_DIR}/ -D_NO_MAKEINFO_ \
19	    ${SENDMAIL_M4_FLAGS} \
20	    ${SENDMAIL_CF_DIR}/m4/cf.m4 ${.IMPSRC} > ${.TARGET}
21	${CHMOD} ${ROMODE} ${.TARGET}
22
23DEST_CF=	${DESTDIR}/etc/mail/sendmail.cf
24DEST_SUBMIT_CF=	${DESTDIR}/etc/mail/submit.cf
25
26ALL=		freebsd.cf freebsd.submit.cf
27CLEANFILES=	freebsd.cf freebsd.submit.cf
28
29# Local SENDMAIL_MC or SENDMAIL_CF may be set in /etc/make.conf.
30# Warning!  If set, this causes 'make install' to always copy it
31# over /etc/mail/sendmail.cf!!!
32# Caveat emptor!  Be sure you want this before you enable it.
33.if defined(SENDMAIL_MC) && defined(SENDMAIL_CF)
34.error Both SENDMAIL_MC and SENDMAIL_CF cannot be set.
35.elif defined(SENDMAIL_MC)
36INSTALL_CF=	${SENDMAIL_MC:T:R}.cf
37ALL+=		${INSTALL_CF}
38CLEANFILES+=	${SENDMAIL_MC:T:R}.cf
39${INSTALL_CF}: ${SENDMAIL_MC}
40.elif defined(SENDMAIL_CF)
41ALL+=		${SENDMAIL_CF}
42INSTALL_CF=	${SENDMAIL_CF}
43.endif
44
45.if !defined(SENDMAIL_SET_USER_ID) && defined(SENDMAIL_SUBMIT_MC)
46INSTALL_SUBMIT_CF= ${SENDMAIL_SUBMIT_MC:T:R}.cf
47ALL+=		${INSTALL_SUBMIT_CF}
48CLEANFILES+=	${INSTALL_SUBMIT_CF}
49${INSTALL_SUBMIT_CF}: ${SENDMAIL_SUBMIT_MC}
50.endif
51
52# Additional .cf files to build.
53.if defined(SENDMAIL_ADDITIONAL_MC)
54SENDMAIL_ADDITIONAL_CF= ${SENDMAIL_ADDITIONAL_MC:T:S/.mc$/.cf/}
55ALL+=		${SENDMAIL_ADDITIONAL_CF}
56CLEANFILES+=	${SENDMAIL_ADDITIONAL_CF}
57.for mc in ${SENDMAIL_ADDITIONAL_MC}
58${mc:T:R}.cf: ${mc}
59.endfor
60.endif
61
62all: ${ALL}
63
64distribution:
65	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T "package=sendmail,config" \
66	    ${.CURDIR}/freebsd.mc freebsd.cf ${DESTDIR}/etc/mail
67	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 -T "package=sendmail,config" \
68	    ${.CURDIR}/freebsd.submit.mc freebsd.submit.cf ${DESTDIR}/etc/mail
69	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 -T "package=sendmail,config" \
70	    ${SMDIR}/helpfile ${DESTDIR}/etc/mail
71.if defined(INSTALL_CF)
72	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T "package=sendmail,config" \
73	    ${INSTALL_CF} ${DEST_CF}
74.else
75	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T "package=sendmail,config" \
76	    freebsd.cf ${DEST_CF}
77.endif
78.if defined(SENDMAIL_ADDITIONAL_CF)
79	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T "package=sendmail,config" \
80	    ${SENDMAIL_ADDITIONAL_CF} ${DESTDIR}/etc/mail
81.endif
82.if !defined(SENDMAIL_SET_USER_ID)
83.if defined(INSTALL_SUBMIT_CF)
84	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 -T "package=sendmail,config" \
85	    ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF}
86.else
87	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 -T "package=sendmail,config" \
88	    freebsd.submit.cf ${DEST_SUBMIT_CF}
89.endif
90.endif
91
92.include <bsd.prog.mk>
93