11195Srgrimes#	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
250472Speter# $FreeBSD$
337Srgrimes
4156813Sru.include <bsd.own.mk>
5156813Sru
6156813Sru.if ${MK_SENDMAIL} != "no"
738103SpeterSUBDIR=	sendmail
873251Sgshapiro.endif
938103Speter
10236965SdesBIN1=	crontab \
11231849Seadler	devd.conf \
12231849Seadler	devfs.conf \
13231849Seadler	ddb.conf \
14231849Seadler	dhclient.conf \
15231849Seadler	disktab \
16231849Seadler	fbtab \
17231849Seadler	ftpusers \
18231849Seadler	gettytab \
19231849Seadler	group \
20231849Seadler	hosts \
21231849Seadler	hosts.allow \
22231849Seadler	hosts.equiv \
23231849Seadler	inetd.conf \
24231849Seadler	libalias.conf \
25253853Sjlh	libmap.conf \
26231849Seadler	login.access \
27231849Seadler	login.conf \
28231849Seadler	mac.conf \
29231849Seadler	motd \
30231849Seadler	netconfig \
31231849Seadler	network.subr \
32231849Seadler	networks \
33231849Seadler	newsyslog.conf \
34231849Seadler	nsswitch.conf \
35231849Seadler	phones \
36231849Seadler	profile \
37231849Seadler	protocols \
38231849Seadler	rc \
39231849Seadler	rc.bsdextended \
40231849Seadler	rc.firewall \
41231849Seadler	rc.initdiskless \
42231849Seadler	rc.sendmail \
43231849Seadler	rc.shutdown \
44231849Seadler	rc.subr \
45231849Seadler	remote \
46231849Seadler	rpc \
47231849Seadler	services \
48231849Seadler	shells \
49231849Seadler	sysctl.conf \
50231849Seadler	syslog.conf \
51231849Seadler	termcap.small
52155210Srwatson
53255425Sdes.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64"
54255413SdesBIN1+=	libmap32.conf
55255385Sdes.endif
56255385Sdes
57199249Sed.if exists(${.CURDIR}/etc.${MACHINE}/ttys)
58199249SedBIN1+=	etc.${MACHINE}/ttys
59209134Simp.elif exists(${.CURDIR}/etc.${MACHINE_ARCH}/ttys)
60209134SimpBIN1+=	etc.${MACHINE_ARCH}/ttys
61209134Simp.elif exists(${.CURDIR}/etc.${MACHINE_CPUARCH}/ttys)
62209134SimpBIN1+=	etc.${MACHINE_CPUARCH}/ttys
63199249Sed.else
64209134Simp.error etc.MACHINE/ttys missing
65199249Sed.endif
66199249Sed
67155210SrwatsonOPENBSMDIR=			${.CURDIR}/../contrib/openbsm
68155210SrwatsonBSM_ETC_OPEN_FILES=		${OPENBSMDIR}/etc/audit_class \
69155210Srwatson				${OPENBSMDIR}/etc/audit_event
70155210SrwatsonBSM_ETC_RESTRICTED_FILES=	${OPENBSMDIR}/etc/audit_control \
71155210Srwatson				${OPENBSMDIR}/etc/audit_user
72155210SrwatsonBSM_ETC_EXEC_FILES=		${OPENBSMDIR}/etc/audit_warn
73155210SrwatsonBSM_ETC_DIR=			${DESTDIR}/etc/security
74155210Srwatson
75183242Ssam# NB: keep these sorted by MK_* knobs
76183242Ssam
77183242Ssam.if ${MK_AMD} != "no"
78183242SsamBIN1+= amd.map
79183242Ssam.endif
80183242Ssam
81183242Ssam.if ${MK_APM} != "no"
82183242SsamBIN1+= apmd.conf
83183242Ssam.endif
84183242Ssam
85183242Ssam.if ${MK_BSNMP} != "no"
86183242SsamBIN1+= snmpd.config
87183242Ssam.endif
88183242Ssam
89183242Ssam.if ${MK_FREEBSD_UPDATE} != "no"
90183242SsamBIN1+= freebsd-update.conf
91183242Ssam.endif
92183242Ssam
93183242Ssam.if ${MK_LOCATE} != "no"
94183242SsamBIN1+=	${.CURDIR}/../usr.bin/locate/locate/locate.rc
95183242Ssam.endif
96183242Ssam
97156813Sru.if ${MK_LPR} != "no"
98183242SsamBIN1+=	hosts.lpd printcap
99121911Smarkm.endif
10037Srgrimes
101183242Ssam.if ${MK_MAIL} != "no"
102183242SsamBIN1+=	${.CURDIR}/../usr.bin/mail/misc/mail.rc
103158115Sume.endif
104158115Sume
105193635Sedwin.if ${MK_NTP} != "no"
106193635SedwinBIN1+=	ntp.conf
107193635Sedwin.endif
108193635Sedwin
109156813Sru.if ${MK_OPENSSH} != "no"
11057488SpeterSSH=	${.CURDIR}/../crypto/openssh/ssh_config \
11174837Sgreen	${.CURDIR}/../crypto/openssh/sshd_config \
112124214Sdes	${.CURDIR}/../crypto/openssh/moduli
11357459Smarkm.endif
114156813Sru.if ${MK_OPENSSL} != "no"
11560677SkrisSSL=	${.CURDIR}/../crypto/openssl/apps/openssl.cnf
11660677Skris.endif
11760677Skris
118183242Ssam.if ${MK_NS_CACHING} != "no"
119183242SsamBIN1+= nscd.conf
120183242Ssam.endif
121183242Ssam
122183242Ssam.if ${MK_PORTSNAP} != "no"
123183242SsamBIN1+= portsnap.conf
124183242Ssam.endif
125183242Ssam
126183242Ssam.if ${MK_PF} != "no"
127183242SsamBIN1+= pf.os
128183242Ssam.endif
129183242Ssam
130184343Ssam.if ${MK_TCSH} != "no"
131184343SsamBIN1+= csh.cshrc csh.login csh.logout
132184343Ssam.endif
133184343Ssam
134183268Ssam.if ${MK_WIRELESS} != "no"
135183268SsamBIN1+= regdomain.xml
136183268Ssam.endif
137183268Ssam
13882521Salex# -rwxr-xr-x root:wheel, for the new cron root:wheel
139108002SgreenBIN2=	netstart pccard_ether rc.suspend rc.resume
140147Srgrimes
141196767SflzMTREE=	BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist
142156813Sru.if ${MK_SENDMAIL} != "no"
14395144SgshapiroMTREE+=	BSD.sendmail.dist
14495144Sgshapiro.endif
145251512Semaste.if ${MK_DEBUG_FILES} != "no"
146251512SemasteMTREE+=	BSD.debug.dist
147251512Semaste.endif
14899451Sru
14999451SruPPPCNF=	ppp.conf
15099451Sru
151156813Sru.if ${MK_SENDMAIL} == "no"
152117292SgshapiroETCMAIL=mailer.conf aliases
153117292Sgshapiro.else
15464598SgshapiroETCMAIL=Makefile README mailer.conf access.sample virtusertable.sample \
15564598Sgshapiro	mailertable.sample aliases
156117292Sgshapiro.endif
15737Srgrimes
158263Srgrimes# Special top level files for FreeBSD
15999449SruFREEBSD=COPYRIGHT
160263Srgrimes
161245825Sbrooks# Sanitize DESTDIR
162245825SbrooksDESTDIR:=	${DESTDIR:C://*:/:g}
163245825Sbrooks
164124831Sruafterinstall:
165156813Sru.if ${MK_MAN} != "no"
166173135Syar	${_+_}cd ${.CURDIR}/../share/man; ${MAKE} makedb
167124831Sru.endif
168124831Sru
1694487Sphkdistribute:
170173135Syar	${_+_}cd ${.CURDIR} ; ${MAKE} install DESTDIR=${DISTDIR}/${DISTRIBUTION}
171173135Syar	${_+_}cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${DISTDIR}/${DISTRIBUTION}
1725948Sjkh
173142794Sru.include <bsd.endian.mk>
174142794Sru.if ${TARGET_ENDIANNESS} == "1234"
175152471SruCAP_MKDB_ENDIAN?= -l
176152471SruPWD_MKDB_ENDIAN?= -L
177142794Sru.elif ${TARGET_ENDIANNESS} == "4321"
178152471SruCAP_MKDB_ENDIAN?= -b
179152471SruPWD_MKDB_ENDIAN?= -B
180142794Sru.else
181149515SimpCAP_MKDB_ENDIAN?=
182149515SimpPWD_MKDB_ENDIAN?=
183142794Sru.endif
184142794Sru
185246097Sbrooks.if defined(NO_ROOT)
186246097SbrooksMETALOG.add?=	cat -l >> ${METALOG}
187246097Sbrooks.endif
188246097Sbrooks
1894487Sphkdistribution:
190148282Sru.if !defined(DESTDIR)
191148282Sru	@echo "set DESTDIR before running \"make ${.TARGET}\""
192148282Sru	@false
193148282Sru.endif
19499449Sru	cd ${.CURDIR}; \
195100872Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
19699451Sru		${BIN1} ${DESTDIR}/etc; \
197142794Sru	    cap_mkdb ${CAP_MKDB_ENDIAN} ${DESTDIR}/etc/login.conf; \
198100872Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 \
19999451Sru		${BIN2} ${DESTDIR}/etc; \
200100872Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \
201184343Ssam		master.passwd nsmb.conf opieaccess ${DESTDIR}/etc;
202205329Sed.if ${MK_AT} == "no"
203205335Sed	sed -i "" -e 's;.*/usr/libexec/atrun;#&;' ${DESTDIR}/etc/crontab
204205329Sed.endif
205184343Ssam.if ${MK_TCSH} == "no"
206184443Smp	sed -i "" -e 's;/bin/csh;/bin/sh;' ${DESTDIR}/etc/master.passwd
207184343Ssam.endif
208184343Ssam	pwd_mkdb ${PWD_MKDB_ENDIAN} -i -p -d ${DESTDIR}/etc \
209184343Ssam	    ${DESTDIR}/etc/master.passwd
210246097Sbrooks.if defined(NO_ROOT)
211246097Sbrooks	( \
212246097Sbrooks		echo "./etc/login.conf.db type=file mode=0644 uname=root gname=wheel"; \
213246097Sbrooks		echo "./etc/passwd type=file mode=0644 uname=root gname=wheel"; \
214246097Sbrooks		echo "./etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \
215246097Sbrooks		echo "./etc/spwd.db type=file mode=0600 uname=root gname=wheel"; \
216246097Sbrooks	) | ${METALOG.add}
217246097Sbrooks.endif
218183242Ssam.if ${MK_BLUETOOTH} != "no"
219173135Syar	${_+_}cd ${.CURDIR}/bluetooth; ${MAKE} install
220183242Ssam.endif
221173135Syar	${_+_}cd ${.CURDIR}/defaults; ${MAKE} install
222186249Sthompsa	${_+_}cd ${.CURDIR}/devd; ${MAKE} install
223173135Syar	${_+_}cd ${.CURDIR}/gss; ${MAKE} install
224173135Syar	${_+_}cd ${.CURDIR}/periodic; ${MAKE} install
225257353Sbdrewery.if ${MK_PKGBOOTSTRAP} != "no"
226257353Sbdrewery	${_+_}cd ${.CURDIR}/pkg; ${MAKE} install
227257353Sbdrewery.endif
228173135Syar	${_+_}cd ${.CURDIR}/rc.d; ${MAKE} install
229173135Syar	${_+_}cd ${.CURDIR}/../gnu/usr.bin/send-pr; ${MAKE} etc-gnats-freefall
230173135Syar	${_+_}cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap
231173135Syar	${_+_}cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt
232173135Syar	${_+_}cd ${.CURDIR}/pam.d; ${MAKE} install
233155210Srwatson	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0444 \
234155210Srwatson	    ${BSM_ETC_OPEN_FILES} ${BSM_ETC_DIR}
235155571Srwatson	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0600 \
236155210Srwatson	    ${BSM_ETC_RESTRICTED_FILES} ${BSM_ETC_DIR}
237155210Srwatson	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0500 \
238155210Srwatson	    ${BSM_ETC_EXEC_FILES} ${BSM_ETC_DIR}
239255841Sdes.if ${MK_UNBOUND} != "no"
240255841Sdes	if [ ! -e ${DESTDIR}/etc/unbound ]; then \
241255841Sdes		${INSTALL_SYMLINK} ../var/unbound ${DESTDIR}/etc/unbound; \
242255841Sdes	fi
243255841Sdes.endif
244156813Sru.if ${MK_SENDMAIL} != "no"
245173135Syar	${_+_}cd ${.CURDIR}/sendmail; ${MAKE} distribution
24673251Sgshapiro.endif
247156813Sru.if ${MK_OPENSSH} != "no"
248100872Sru	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
24999451Sru	    ${SSH} ${DESTDIR}/etc/ssh
25057488Speter.endif
251156813Sru.if ${MK_OPENSSL} != "no"
252100872Sru	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
25399451Sru	    ${SSL} ${DESTDIR}/etc/ssl
25460677Skris.endif
255156813Sru.if ${MK_KERBEROS} != "no"
25699449Sru	cd ${.CURDIR}/root; \
257100872Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
258120709Sphk		dot.k5login ${DESTDIR}/root/.k5login;
259120709Sphk.endif
260120709Sphk	cd ${.CURDIR}/root; \
261120709Sphk	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
262184343Ssam		dot.profile ${DESTDIR}/root/.profile; \
263184343Ssam	    rm -f ${DESTDIR}/.profile; \
264184343Ssam	    ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile
265184343Ssam.if ${MK_TCSH} != "no"
266184343Ssam	cd ${.CURDIR}/root; \
267184343Ssam	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
26899451Sru		dot.cshrc ${DESTDIR}/root/.cshrc; \
269100872Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
27099451Sru		dot.login ${DESTDIR}/root/.login; \
271184343Ssam	    rm -f ${DESTDIR}/.cshrc; \
272184343Ssam	    ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc
273184343Ssam.endif
274100872Sru	cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
2751731Sjkh	    ${MTREE} ${DESTDIR}/etc/mtree
276183242Ssam.if ${MK_PPP} != "no"
277119058Sobrien	cd ${.CURDIR}/ppp; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \
2786177Samurai	    ${PPPCNF} ${DESTDIR}/etc/ppp
279183242Ssam.endif
280183242Ssam.if ${MK_MAIL} != "no"
281100872Sru	cd ${.CURDIR}/mail; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \
28264598Sgshapiro	    ${ETCMAIL} ${DESTDIR}/etc/mail
283243101Seadler	if [ -d ${DESTDIR}/etc/mail -a -f ${DESTDIR}/etc/mail/aliases -a \
28464629Sgshapiro	      ! -f ${DESTDIR}/etc/aliases ]; then \
28564629Sgshapiro		ln -s mail/aliases ${DESTDIR}/etc/aliases; \
28664629Sgshapiro	fi
287183242Ssam.endif
288100872Sru	${INSTALL} -o ${BINOWN} -g operator -m 664 /dev/null \
28937Srgrimes	    ${DESTDIR}/etc/dumpdates
290100872Sru	${INSTALL} -o nobody -g ${BINGRP} -m 644 /dev/null \
291147Srgrimes	    ${DESTDIR}/var/db/locate.database
292100872Sru	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/minfree \
2931759Sjkh	    ${DESTDIR}/var/crash
294100872Sru	cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
29599451Sru		${FREEBSD} ${DESTDIR}/
296209228Savg.if ${MK_BOOT} != "no"
297171427Simp.if exists(${.CURDIR}/../sys/${MACHINE}/conf/GENERIC.hints)
298126977Sru	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
299126977Sru	    ${.CURDIR}/../sys/${MACHINE}/conf/GENERIC.hints \
300126977Sru	    ${DESTDIR}/boot/device.hints
301171427Simp.endif
302209228Savg.endif
303224765Sdougb.if ${MK_NIS} == "no"
304224765Sdougb	sed -i "" -e 's/.*_compat:/# &/' -e 's/compat$$/files/' \
305224765Sdougb		${DESTDIR}/etc/nsswitch.conf
306224765Sdougb.endif
30737Srgrimes
308245440SbrooksMTREE_CMD?=	mtree
309245440Sbrooks
310245565SbrooksMTREES=		mtree/BSD.root.dist		/		\
311245565Sbrooks		mtree/BSD.var.dist		/var		\
312245565Sbrooks		mtree/BSD.usr.dist		/usr		\
313245565Sbrooks		mtree/BSD.include.dist		/usr/include
314251512Semaste.if ${MK_DEBUG_FILES} != "no"
315251512SemasteMTREES+=	mtree/BSD.debug.dist		/usr/lib
316251512Semaste.endif
317218941Suqs.if ${MK_GROFF} != "no"
318245565SbrooksMTREES+=	mtree/BSD.groff.dist		/usr
319218941Suqs.endif
320156813Sru.if ${MK_SENDMAIL} != "no"
321245565SbrooksMTREES+=	mtree/BSD.sendmail.dist		/
32295144Sgshapiro.endif
323245565Sbrooks.for mtree in ${LOCAL_MTREE}
324245565SbrooksMTREES+=	../${mtree}			/
325245565Sbrooks.endfor
326245565Sbrooks
327250116Sbrooksdistrib-dirs: ${MTREES:N/*}
328245565Sbrooks	@set ${MTREES}; \
329245565Sbrooks	while test $$# -ge 2; do \
330245565Sbrooks		m=${.CURDIR}/$$1; \
331245565Sbrooks		shift; \
332245565Sbrooks		d=${DESTDIR}$$1; \
333245565Sbrooks		shift; \
334245565Sbrooks		${ECHO} ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} \
335245565Sbrooks		    -f $$m -p $$d; \
336245565Sbrooks		${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \
337245565Sbrooks	done; true
338245825Sbrooks.if defined(NO_ROOT)
339245825Sbrooks	@set ${MTREES}; \
340245825Sbrooks	while test $$# -ge 2; do \
341245825Sbrooks		m=${.CURDIR}/$$1; \
342245825Sbrooks		shift; \
343245825Sbrooks		d=$$1; \
344245825Sbrooks		test "$$d" == "/" && d=""; \
345245825Sbrooks		d=${DISTBASE}$$d; \
346245825Sbrooks		shift; \
347246127Sbrooks		${ECHO} "${MTREE_CMD:N-W} -C -f $$m -K uname,gname | " \
348246127Sbrooks		    "sed s#^\.#.$$d# | ${METALOG.add}" ; \
349246127Sbrooks		${MTREE_CMD:N-W} -C -f $$m -K uname,gname | sed s#^\.#.$$d# | \
350246127Sbrooks		    ${METALOG.add} ; \
351245825Sbrooks	done; true
352245825Sbrooks.endif
353247162Sache	${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys
35477993Sache	cd ${DESTDIR}/usr/share/man; \
355245571Sbrooks	for mandir in man*; do \
356245752Sbrooks		${INSTALL_SYMLINK} ../$$mandir \
357245752Sbrooks		    ${DESTDIR}/usr/share/man/en.ISO8859-1/; \
358245752Sbrooks		${INSTALL_SYMLINK} ../$$mandir \
359245752Sbrooks		    ${DESTDIR}/usr/share/man/en.UTF-8/; \
36077993Sache	done
361110663Sache	cd ${DESTDIR}/usr/share/openssl/man; \
362245571Sbrooks	for mandir in man*; do \
363245752Sbrooks		${INSTALL_SYMLINK} ../$$mandir \
364245571Sbrooks		    ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \
365245571Sbrooks	done
366110663Sache	set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \
367245571Sbrooks	while [ $$# -gt 0 ] ; do \
368245752Sbrooks		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/man/$$1"; \
369245752Sbrooks		${INSTALL_SYMLINK} "$$2" \
370245752Sbrooks		    "${DESTDIR}/usr/share/openssl/man/$$1"; \
371110663Sache		shift; shift; \
372110663Sache	done
37377999Sache	set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \
374245571Sbrooks	while [ $$# -gt 0 ] ; do \
375245752Sbrooks		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/nls/$$1"; \
37611635Sache		shift; shift; \
37777999Sache	done
378147Srgrimes
37948185Ssheldonhetc-examples:
380100872Sru	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
38199451Sru	    ${BIN1} ${BIN2} nsmb.conf opieaccess \
38299451Sru	    ${DESTDIR}/usr/share/examples/etc
383173135Syar	${_+_}cd ${.CURDIR}/defaults; ${MAKE} install \
384119385Smtm	    DESTDIR=${DESTDIR}/usr/share/examples
38548185Ssheldonh
38637Srgrimes.include <bsd.prog.mk>
387