xref: /freebsd/etc/sendmail/Makefile (revision 0b87f79976047c8f4332bbf7dc03146f6b0de79f)
1#	@(#)Makefile	8.19 (Berkeley) 1/14/97
2# $FreeBSD$
3
4M4=		m4
5CHMOD=		chmod
6ROMODE=		444
7RM=		rm -f
8
9SENDMAIL_DIR=	${.CURDIR}/../../contrib/sendmail
10SMDIR=		${SENDMAIL_DIR}/src
11CFDIR=		${SENDMAIL_DIR}/cf
12
13# this is overkill, but....
14M4FILES!=	find ${CFDIR} -type f -name '*.m4' -print
15
16.SUFFIXES:	.mc .cf
17
18.mc.cf:		${M4FILES}
19	${RM} ${.TARGET}
20	(cd ${.CURDIR} && \
21	    ${M4} -D_CF_DIR_=${CFDIR}/ ${SENDMAIL_M4_FLAGS} \
22		${CFDIR}/m4/cf.m4 ${@:R}.mc) > ${.TARGET}
23	${CHMOD} ${ROMODE} ${.TARGET}
24
25ALL=		freebsd.cf
26CLEANFILES+=	freebsd.cf
27
28# Local SENDMAIL_MC or SENDMAIL_CF may be set in /etc/make.conf.
29# Warning! If set, this causes 'make install' to always copy it
30# over /etc/mail/sendmail.cf!!!
31# Caveat emptor!  Be sure you want this before you enable it.
32.if defined(SENDMAIL_MC)
33INSTALL_CF=	${SENDMAIL_MC:R}.cf
34.else
35.if defined(SENDMAIL_CF)
36INSTALL_CF=	${SENDMAIL_CF}
37.endif
38.endif
39
40.ifndef SENDMAIL_SET_USER_ID
41.if defined(SENDMAIL_SUBMIT_MC)
42INSTALL_SUBMIT_CF=${SENDMAIL_SUBMIT_MC:R}.cf
43.endif
44.endif
45
46DEST_CF=	${DESTDIR}/etc/mail/sendmail.cf
47DEST_SUBMIT_CF=	${DESTDIR}/etc/mail/submit.cf
48
49ALL+=		${INSTALL_CF} ${INSTALL_SUBMIT_CF}
50
51# Make sure we don't remove /etc/mail/sendmail.cf on make clean
52# since this will break a running system during a buildworld.
53.if defined(INSTALL_CF)
54.if ${INSTALL_CF} != ${DEST_CF}
55CLEANFILES+=	${INSTALL_CF}
56.endif
57.endif
58
59.if defined(INSTALL_SUBMIT_CF)
60.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
61CLEANFILES+=	${INSTALL_SUBMIT_CF}
62.endif
63.endif
64
65# Additional .cf files to build
66.if defined(SENDMAIL_ADDITIONAL_MC)
67SENDMAIL_ADDITIONAL_CF=	${SENDMAIL_ADDITIONAL_MC:S/.mc$/.cf/g}
68ALL+=		${SENDMAIL_ADDITIONAL_CF}
69CLEANFILES+=	${SENDMAIL_ADDITIONAL_CF}
70.endif
71
72all:		${ALL}
73
74depend:
75
76install:	${INSTALL_CF} ${INSTALL_SUBMIT_CF}
77.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF))
78	@echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set"
79	@false
80.endif
81.if defined(INSTALL_CF)
82.if ${INSTALL_CF} != ${DEST_CF}
83	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \
84		${DEST_CF}
85.endif
86.endif
87.if defined(SENDMAIL_ADDITIONAL_CF)
88	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
89		${SENDMAIL_ADDITIONAL_CF} ${DESTDIR}/etc/mail
90.endif
91.ifndef SENDMAIL_SET_USER_ID
92.if defined(INSTALL_SUBMIT_CF)
93.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
94	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
95		${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF}
96.endif
97.endif
98.endif
99
100# Helper for src/etc/Makefile
101distribution:	freebsd.cf freebsd.mc ${INSTALL_CF} ${INSTALL_SUBMIT_CF}
102.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF))
103	@echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set"
104	@false
105.endif
106	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/freebsd.mc \
107		${DESTDIR}/etc/mail/freebsd.mc
108	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \
109		${DESTDIR}/etc/mail/freebsd.cf
110.if defined(INSTALL_CF)
111.if ${INSTALL_CF} != ${DEST_CF}
112	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \
113		${DEST_CF}
114.endif
115.else
116	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \
117		${DEST_CF}
118.endif
119	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.mc \
120	    ${DESTDIR}/etc/mail/freebsd.submit.mc
121	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \
122	    ${DESTDIR}/etc/mail/freebsd.submit.cf
123.ifndef SENDMAIL_SET_USER_ID
124.if defined(INSTALL_SUBMIT_CF)
125.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
126	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
127		${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF}
128.endif
129.else
130	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \
131	    ${DEST_SUBMIT_CF}
132.endif
133.endif
134	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${SMDIR}/helpfile \
135	    ${DESTDIR}/etc/mail/helpfile
136	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \
137	    ${DESTDIR}/var/log/sendmail.st
138
139.include <bsd.prog.mk>
140