1# from: @(#)Makefile 5.11 (Berkeley) 5/21/91 2# $FreeBSD: src/etc/Makefile,v 1.219.2.38 2003/03/04 09:49:00 ru Exp $ 3# $DragonFly: src/etc/Makefile,v 1.47 2005/03/15 19:16:17 swildner Exp $ 4 5.if !defined(NO_SENDMAIL) 6SUBDIR= sendmail 7.endif 8 9# Files that should be installed read-only (444) 10# 11BINUPDATE= apmd.conf fbtab gettytab network.subr \ 12 pf.os \ 13 protocols \ 14 rc rc.firewall rc.firewall6 \ 15 rc.sendmail rc.shutdown \ 16 rc.subr rpc services \ 17 etc.${MACHINE_ARCH}/disktab \ 18 ${.CURDIR}/../usr.bin/mail/misc/mail.rc \ 19 ${.CURDIR}/../usr.bin/locate/locate/locate.rc 20 21# Initial distribution files are installed read-write (644) 22# 23BIN1= amd.map auth.conf \ 24 crontab csh.cshrc csh.login csh.logout \ 25 dhclient.conf dm.conf ftpusers group \ 26 hosts hosts.allow host.conf hosts.equiv hosts.lpd \ 27 inetd.conf login.access login.conf \ 28 motd modems networks newsyslog.conf \ 29 pam.conf pf.conf phones printcap profile \ 30 remote \ 31 shells sysctl.conf syslog.conf usbd.conf \ 32 etc.${MACHINE_ARCH}/ttys \ 33 ${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config 34 35.if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSL) 36.if !defined(NO_OPENSSH) 37SSH= lib/libssh \ 38 usr.bin/ssh \ 39 usr.sbin/sshd 40.endif 41SSL= ${.CURDIR}/../crypto/openssl-0.9.7e/apps/openssl.cnf 42.endif 43 44# Files that should be installed read-only-executable (555) root:wheel 45# 46BIN2= pccard_ether rc.suspend rc.resume 47 48DEFAULTS= rc.conf make.conf pccard.conf periodic.conf 49 50MTREE= BSD.include.dist BSD.local.dist BSD.root.dist BSD.usr.dist \ 51 BSD.var.dist BSD.x11.dist BSD.x11-4.dist 52.if !defined(NO_SENDMAIL) 53MTREE+= BSD.sendmail.dist 54.endif 55 56NAMEDB= PROTO.localhost.rev PROTO.localhost-v6.rev named.conf named.root \ 57 make-localhost getroot README 58 59PPPCNF= ppp.conf 60 61ETCMAIL=Makefile README mailer.conf access.sample virtusertable.sample \ 62 mailertable.sample aliases 63 64# Special top level files for FreeBSD 65FREEBSD=COPYRIGHT 66 67distribute: 68 cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${DISTDIR}/${DISTRIBUTION} 69 70preupgrade: 71.if !defined(NO_SENDMAIL) 72 (pw groupshow smmsp -q > /dev/null) || \ 73 pw groupadd smmsp -g 25 74 (pw usershow smmsp -q > /dev/null) || \ 75 pw useradd smmsp -u 25 -c "Sendmail Submission User" \ 76 -d /var/spool/clientmqueue -s /sbin/nologin 77.endif 78 (pw usershow _pflogd -q > /dev/null) || \ 79 pw useradd _pflogd -u 64 -c "pflogd privsep user" \ 80 -d /var/empty -s /sbin/nologin 81 (pw usershow _ntp -q > /dev/null) || \ 82 pw useradd _ntp -u 65 -c "ntpd privsep user" \ 83 -d /var/empty -s /sbin/nologin 84 (pw groupshow authpf -q > /dev/null) || \ 85 pw groupadd authpf -g 63 86 (pw groupshow _pflogd -q > /dev/null) || \ 87 pw groupadd _pflogd -g 64 88 (pw groupshow _ntp -q > /dev/null) || \ 89 pw groupadd _ntp -g 65 90 91upgrade_etc: preupgrade 92 cd ${.CURDIR}/../share/mk; ${MAKE} install 93 cd ${.CURDIR}; \ 94 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 95 ${BINUPDATE} ${DESTDIR}/etc; \ 96 cap_mkdb ${DESTDIR}/etc/login.conf; \ 97 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 98 ${BIN2} ${DESTDIR}/etc; 99 cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 100 ${DEFAULTS} ${DESTDIR}/etc/defaults 101 cd ${.CURDIR}/periodic; ${MAKE} install 102 cd ${.CURDIR}/rc.d; ${MAKE} install 103 cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap 104 cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt 105.if !defined(NO_I4B) 106 cd ${.CURDIR}/isdn; ${MAKE} install 107.endif 108.if !defined(NO_MAKEDEV) 109 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 110 MAKEDEV.local MAKEDEV ${DESTDIR}/dev 111.if !defined(NO_MAKEDEV_RUN) 112 cd ${DESTDIR}/dev; sh MAKEDEV all 113.endif 114.endif 115 cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 116 ${MTREE} ${DESTDIR}/etc/mtree 117 cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 118 ${FREEBSD} ${DESTDIR}/ 119.if !defined(NOMAN) 120 cd ${.CURDIR}/../share/man; ${MAKE} makedb 121.endif 122 rm -f ${DESTDIR}/usr/include/machine/ioctl_meteor.h 123 rm -f ${DESTDIR}/usr/include/machine/ioctl_bt848.h 124 ln -s "../dev/video/bktr/ioctl_bt848.h" ${DESTDIR}/usr/include/machine/ioctl_bt848.h 125 ln -s "../dev/video/meteor/ioctl_meteor.h" ${DESTDIR}/usr/include/machine/ioctl_meteor.h 126.if exists(${DESTDIR}/usr/sbin/named-checkzone) 127 rm -f ${DESTDIR}/usr/libexec/named-xfer 128 rm -f ${DESTDIR}/usr/bin/dnsquery 129 rm -f ${DESTDIR}/usr/bin/dnskeygen 130 rm -f ${DESTDIR}/usr/sbin/ndc 131.endif 132.if exists(${DESTDIR}/usr/lib/crtbegin.o) 133 csh -c "rm -f ${DESTDIR}/usr/lib/gcc2/{crtbegin.o,crtbeginS.o,crtend.o,crtendS.o}" 134 csh -c "rm -f ${DESTDIR}/usr/lib/gcc3/{crtbegin.o,crtbeginS.o,crtend.o,crtendS.o}" 135.endif 136.if exists(${DESTDIR}/usr/include/netproto/802_11/if_wavelan_ieee.h) 137 rm -f ${DESTDIR}/usr/include/dev/netif/wi/if_wavelan_ieee.h 138 rm -f ${DESTDIR}/usr/include/net/if_ieee80211.h 139.endif 140 ldconfig -m ${DESTDIR}/usr/lib/gcc2 141.if exists(${DESTDIR}/usr/libexec/gcc34) && exists(${DESTDIR}/usr/libexec/binutils215) 142 rm -rf ${DESTDIR}/usr/lib/gcc3 143 rm -rf ${DESTDIR}/usr/libexec/gcc3 144 rm -rf ${DESTDIR}/usr/libdata/ldscripts 145 rm -rf ${DESTDIR}/usr/libdata/gcc2 146 rm -rf ${DESTDIR}/usr/libdata/gcc3 147 rm -rf ${DESTDIR}/usr/libexec/elf 148 rm -rf ${DESTDIR}/usr/libexec/aout 149 rm -rf ${DESTDIR}/usr/bin/gcc2 150 rm -rf ${DESTDIR}/usr/bin/gcc3 151 rm -rf ${DESTDIR}/usr/include/g++ 152 csh -c "rm -f ${DESTDIR}/usr/bin/{genassym,gensetdefs,nawk,ptx,send-pr}" 153 csh -c "rm -f ${DESTDIR}/usr/share/man/{man8,cat8}/{genassym,gensetdefs}.8.gz" 154 csh -c "rm -f ${DESTDIR}/usr/share/man/{man1,cat1}/{gawk,nawk,send-pr}.1.gz" 155 csh -c "rm -f ${DESTDIR}/usr/libexec/{cc1,cc1obj,cc1plus}" 156 csh -c "rm -f ${DESTDIR}/usr/libexec/{cpp,cpp0,f771,objformat}" 157 csh -c "rm -f ${DESTDIR}/usr/libexec/binutils212/{cc1,cc1obj,cc1plus}" 158 csh -c "rm -f ${DESTDIR}/usr/libexec/binutils212/{cpp,cpp0,f771,objformat}" 159 csh -c "rm -f ${DESTDIR}/usr/libexec/binutils214/{cc1,cc1obj,cc1plus}" 160 csh -c "rm -f ${DESTDIR}/usr/libexec/binutils214/{cpp,cpp0,f771,objformat}" 161 csh -c "rm -f ${DESTDIR}/usr/lib/{libgcc.a,libgcc_p.a}" 162 csh -c "rm -f ${DESTDIR}/usr/lib/{libobjc.a,libobjc_p.a,libstdc++.a}" 163 csh -c "rm -f ${DESTDIR}/usr/lib/{libstdc++.so,libstdc++.so.3}" 164 csh -c "rm -f ${DESTDIR}/usr/lib/{libstdc++_p.a}" 165 csh -c "rm -f ${DESTDIR}/usr/bin/CC" 166 rm -rf ${DESTDIR}/usr/libexec/binutils214 167.endif 168 rm -f ${DESTDIR}/usr/bin/makewhatis 169 rm -f ${DESTDIR}/usr/sbin/prebind 170 rm -f ${DESTDIR}/modules/checkpt.ko 171 rm -rf ${DESTDIR}/usr/share/man/cat1aout 172 rm -rf ${DESTDIR}/usr/share/man/en.ISO8859-1/cat1aout 173 rm -rf ${DESTDIR}/usr/share/man/man1aout 174 rm -rf ${DESTDIR}/usr/libdata/perl 175 csh -c "rm -f ${DESTDIR}/usr/bin/{find2perl,perl5,perl5.00503,pod2latex}" 176 test -L ${DESTDIR}/usr/bin/perl || rm -f ${DESTDIR}/usr/bin/perl 177 csh -c "rm -f ${DESTDIR}/usr/bin/{pod2text,sperl5,sperl5.00503,splain,suidperl}" 178.for prog in a2p c2ph h2ph h2xs perlbug perlcc pl2pm pod2html pod2man s2p 179 rm -f ${DESTDIR}/usr/bin/${prog} 180 rm -f ${DESTDIR}/usr/share/man/man1/${prog}.1.gz 181.endfor 182 csh -c "rm -f ${DESTDIR}/usr/lib/{libperl.a,libperl.so,libperl.so.3,libperl_p.a}" 183 rm -f ${DESTDIR}/usr/share/man/man1/perl.1.gz 184.for man in 5004delta apio book bot call data debug delta diag dsc embed faq \ 185 faq.1 faq2 faq3 faq4 faq5 faq6 faq7 faq8 faq9 form func guts hist \ 186 ipc locale lol mod modinstall modlib obj op opentut pod port re \ 187 ref reftut run sec style sub syn thrtut tie toc toot trap var xs \ 188 xstut 189 rm -f ${DESTDIR}/usr/share/man/man1/perl${man}.1.gz 190.endfor 191 rm -rf ${DESTDIR}/usr/share/perl 192 rm -rf ${DESTDIR}/usr/share/examples/bc 193.if exists(${DESTDIR}/usr/share/info/dc.info.gz) 194 gzip -d ${DESTDIR}/usr/share/info/dc.info.gz 195 install-info --delete ${DESTDIR}/usr/share/info/dc.info ${DESTDIR}/usr/share/info/dir 196 rm -f ${DESTDIR}/usr/share/info/dc.info ${DESTDIR}/usr/share/info/dc.info.gz 197.endif 198 csh -c "rm -f ${DESTDIR}/usr/include/{gmp,mp.h}" 199 csh -c "rm -f ${DESTDIR}/usr/lib/{libmp.a,libmp.so,libmp.so.3}" 200 csh -c "rm -f ${DESTDIR}/usr/lib/{libgmp.a,libgmp.so,libgmp.so.3}" 201.if exists(${DESTDIR}/usr/share/info/gmp.info.gz) 202 gzip -d ${DESTDIR}/usr/share/info/gmp.info.gz 203 install-info --delete ${DESTDIR}/usr/share/info/gmp.info ${DESTDIR}/usr/share/info/dir 204 rm -f ${DESTDIR}/usr/share/info/gmp.info ${DESTDIR}/usr/share/info/gmp.info.gz 205.endif 206 rm -f ${DESTDIR}/etc/rc.d/ntpdate 207 rm -f ${DESTDIR}/usr/sbin/ntpdate 208 rm -f ${DESTDIR}/modules/if_wx.ko 209 rm -f ${DESTDIR}/dev/rwcd* 210 rm -f ${DESTDIR}/dev/rwst* 211 rm -f ${DESTDIR}/dev/wcd* 212 rm -f ${DESTDIR}/dev/wd* 213 rm -f ${DESTDIR}/dev/wfd* 214 csh -c "rm -f ${DESTDIR}/usr/share/man/{man4,cat4}/wst.4.gz" 215 csh -c "rm -f ${DESTDIR}/usr/share/man/{man4,cat4}/{euc,utf2}.4.gz" 216 ldconfig -R 217 218distribution: 219 cd ${.CURDIR}; \ 220 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 221 ${BINUPDATE} ${DESTDIR}/etc; \ 222 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 223 ${BIN1} ${DESTDIR}/etc; \ 224 cap_mkdb ${DESTDIR}/etc/login.conf; \ 225 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 226 ${BIN2} ${DESTDIR}/etc; \ 227 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ 228 master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; \ 229 pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd 230 cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 231 ${DEFAULTS} ${DESTDIR}/etc/defaults 232 cd ${.CURDIR}/periodic; ${MAKE} install 233 cd ${.CURDIR}/rc.d; ${MAKE} install 234 cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap 235 cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt 236.if !defined(NO_I4B) 237 cd ${.CURDIR}/isdn; ${MAKE} install 238.endif 239.if !defined(NO_SENDMAIL) 240 cd ${.CURDIR}/sendmail; ${MAKE} obj 241 cd ${.CURDIR}/sendmail; ${MAKE} distribution 242.endif 243.if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSL) 244.if !defined(NO_OPENSSH) 245.for _f in ${SSH} 246 cd ${.CURDIR}/../secure/${_f} && ${MAKE} obj 247 cd ${.CURDIR}/../secure/${_f} && ${MAKE} etc-ssh 248.endfor 249.endif 250 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 251 ${SSL} ${DESTDIR}/etc/ssl 252.endif 253.if !defined(NO_MAKEDEV) 254 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 255 MAKEDEV.local MAKEDEV ${DESTDIR}/dev 256.if !defined(NO_MAKEDEV_RUN) 257 cd ${DESTDIR}/dev; sh MAKEDEV all 258.endif 259.endif 260 cd ${.CURDIR}/root; \ 261 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 262 dot.cshrc ${DESTDIR}/root/.cshrc; \ 263 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 264 dot.klogin ${DESTDIR}/root/.klogin; \ 265 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 266 dot.login ${DESTDIR}/root/.login; \ 267 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 268 dot.profile ${DESTDIR}/root/.profile; \ 269 rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \ 270 ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \ 271 ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile 272 cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 273 ${MTREE} ${DESTDIR}/etc/mtree 274 cd ${.CURDIR}/namedb; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 275 ${NAMEDB} ${DESTDIR}/etc/namedb 276 cd ${.CURDIR}/ppp; ${INSTALL} -o root -g ${BINGRP} -m 600 \ 277 ${PPPCNF} ${DESTDIR}/etc/ppp 278 cd ${.CURDIR}/mail; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 279 ${ETCMAIL} ${DESTDIR}/etc/mail 280 @if [ -d ${DESTDIR}/etc/mail -a -f ${DESTDIR}/etc/mail/aliases -a \ 281 ! -f ${DESTDIR}/etc/aliases ]; then \ 282 set -x; \ 283 ln -s mail/aliases ${DESTDIR}/etc/aliases; \ 284 fi 285 ${INSTALL} -o ${BINOWN} -g operator -m 664 /dev/null \ 286 ${DESTDIR}/etc/dumpdates 287 ${INSTALL} -o nobody -g ${BINGRP} -m 644 /dev/null \ 288 ${DESTDIR}/var/db/locate.database 289 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 290 ${DESTDIR}/var/log/auth.log 291 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 292 ${DESTDIR}/var/log/cron 293 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 294 ${DESTDIR}/var/log/lpd-errs 295 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \ 296 ${DESTDIR}/var/log/maillog 297 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 298 ${DESTDIR}/var/log/lastlog 299 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 300 ${DESTDIR}/var/log/messages 301 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 302 ${DESTDIR}/var/log/security 303 ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ 304 ${DESTDIR}/var/log/slip.log 305 ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ 306 ${DESTDIR}/var/log/ppp.log 307 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 308 ${DESTDIR}/var/log/wtmp 309 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 310 ${DESTDIR}/var/run/utmp 311 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/minfree \ 312 ${DESTDIR}/var/crash 313 cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 314 ${FREEBSD} ${DESTDIR}/ 315.if !defined(NOMAN) 316 cd ${.CURDIR}/../share/man; ${MAKE} makedb 317.endif 318 319distrib-dirs: 320 -set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.deprecated`; \ 321 while [ $$# -gt 0 ] ; \ 322 do \ 323 for dir in /usr/share/locale \ 324 /usr/share/nls \ 325 /usr/local/share/nls; \ 326 do \ 327 test -d ${DESTDIR}/$${dir} && cd ${DESTDIR}/$${dir}; \ 328 test -L "$$2" && rm -rf "$$2"; \ 329 test \! -L "$$1" && test -d "$$1" && mv "$$1" "$$2"; \ 330 done; \ 331 shift; shift; \ 332 done 333 mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ 334 mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var 335 mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr 336 mtree -deU -f ${.CURDIR}/mtree/BSD.include.dist \ 337 -p ${DESTDIR}/usr/include 338.if !defined(NO_SENDMAIL) 339 mtree -deU -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ 340.endif 341 cd ${DESTDIR}/etc/namedb; rm -f etc/namedb; ln -s ".." etc/namedb 342 cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys 343 cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . 344 cd ${DESTDIR}/usr/share/man; \ 345 set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ 346 while [ $$# -gt 0 ] ; \ 347 do \ 348 rm -rf "$$1"; \ 349 ln -s "$$2" "$$1"; \ 350 shift; shift; \ 351 done 352 cd ${DESTDIR}/usr/share/locale; \ 353 set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.alias`; \ 354 while [ $$# -gt 0 ] ; \ 355 do \ 356 rm -rf "$$1"; \ 357 ln -s "$$2" "$$1"; \ 358 shift; shift; \ 359 done 360 cd ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1; ln -sf ../man* . 361 cd ${DESTDIR}/usr/share/nls; \ 362 set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ 363 while [ $$# -gt 0 ] ; \ 364 do \ 365 rm -rf "$$1"; \ 366 ln -s "$$2" "$$1"; \ 367 shift; shift; \ 368 done 369 370etc-examples: 371 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 372 ${BINUPDATE} ${BIN1} ${BIN2} nsmb.conf opieaccess \ 373 ${DESTDIR}/usr/share/examples/etc 374 cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 375 ${DEFAULTS} ${DESTDIR}/usr/share/examples/etc/defaults 376 377.include <bsd.prog.mk> 378