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.49 2005/03/28 23:06:47 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 devices.conf 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 rm -f ${DESTDIR}/usr/share/syscons/keymaps/jp.pc98.iso.kbd 217 rm -f ${DESTDIR}/usr/share/syscons/keymaps/jp.pc98.kbd 218 ldconfig -R 219 220distribution: 221 cd ${.CURDIR}; \ 222 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 223 ${BINUPDATE} ${DESTDIR}/etc; \ 224 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 225 ${BIN1} ${DESTDIR}/etc; \ 226 cap_mkdb ${DESTDIR}/etc/login.conf; \ 227 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 228 ${BIN2} ${DESTDIR}/etc; \ 229 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ 230 master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; \ 231 pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd 232 cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 233 ${DEFAULTS} ${DESTDIR}/etc/defaults 234 cd ${.CURDIR}/periodic; ${MAKE} install 235 cd ${.CURDIR}/rc.d; ${MAKE} install 236 cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap 237 cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt 238.if !defined(NO_I4B) 239 cd ${.CURDIR}/isdn; ${MAKE} install 240.endif 241.if !defined(NO_SENDMAIL) 242 cd ${.CURDIR}/sendmail; ${MAKE} obj 243 cd ${.CURDIR}/sendmail; ${MAKE} distribution 244.endif 245.if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSL) 246.if !defined(NO_OPENSSH) 247.for _f in ${SSH} 248 cd ${.CURDIR}/../secure/${_f} && ${MAKE} obj 249 cd ${.CURDIR}/../secure/${_f} && ${MAKE} etc-ssh 250.endfor 251.endif 252 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 253 ${SSL} ${DESTDIR}/etc/ssl 254.endif 255.if !defined(NO_MAKEDEV) 256 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ 257 MAKEDEV.local MAKEDEV ${DESTDIR}/dev 258.if !defined(NO_MAKEDEV_RUN) 259 cd ${DESTDIR}/dev; sh MAKEDEV all 260.endif 261.endif 262 cd ${.CURDIR}/root; \ 263 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 264 dot.cshrc ${DESTDIR}/root/.cshrc; \ 265 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 266 dot.klogin ${DESTDIR}/root/.klogin; \ 267 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 268 dot.login ${DESTDIR}/root/.login; \ 269 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 270 dot.profile ${DESTDIR}/root/.profile; \ 271 rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \ 272 ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \ 273 ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile 274 cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 275 ${MTREE} ${DESTDIR}/etc/mtree 276 cd ${.CURDIR}/namedb; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 277 ${NAMEDB} ${DESTDIR}/etc/namedb 278 cd ${.CURDIR}/ppp; ${INSTALL} -o root -g ${BINGRP} -m 600 \ 279 ${PPPCNF} ${DESTDIR}/etc/ppp 280 cd ${.CURDIR}/mail; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ 281 ${ETCMAIL} ${DESTDIR}/etc/mail 282 @if [ -d ${DESTDIR}/etc/mail -a -f ${DESTDIR}/etc/mail/aliases -a \ 283 ! -f ${DESTDIR}/etc/aliases ]; then \ 284 set -x; \ 285 ln -s mail/aliases ${DESTDIR}/etc/aliases; \ 286 fi 287 ${INSTALL} -o ${BINOWN} -g operator -m 664 /dev/null \ 288 ${DESTDIR}/etc/dumpdates 289 ${INSTALL} -o nobody -g ${BINGRP} -m 644 /dev/null \ 290 ${DESTDIR}/var/db/locate.database 291 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 292 ${DESTDIR}/var/log/auth.log 293 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 294 ${DESTDIR}/var/log/cron 295 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 296 ${DESTDIR}/var/log/lpd-errs 297 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \ 298 ${DESTDIR}/var/log/maillog 299 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 300 ${DESTDIR}/var/log/lastlog 301 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 302 ${DESTDIR}/var/log/messages 303 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ 304 ${DESTDIR}/var/log/security 305 ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ 306 ${DESTDIR}/var/log/slip.log 307 ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ 308 ${DESTDIR}/var/log/ppp.log 309 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 310 ${DESTDIR}/var/log/wtmp 311 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ 312 ${DESTDIR}/var/run/utmp 313 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/minfree \ 314 ${DESTDIR}/var/crash 315 cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 316 ${FREEBSD} ${DESTDIR}/ 317.if !defined(NOMAN) 318 cd ${.CURDIR}/../share/man; ${MAKE} makedb 319.endif 320 321distrib-dirs: 322 -set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.deprecated`; \ 323 while [ $$# -gt 0 ] ; \ 324 do \ 325 for dir in /usr/share/locale \ 326 /usr/share/nls \ 327 /usr/local/share/nls; \ 328 do \ 329 test -d ${DESTDIR}/$${dir} && cd ${DESTDIR}/$${dir}; \ 330 test -L "$$2" && rm -rf "$$2"; \ 331 test \! -L "$$1" && test -d "$$1" && mv "$$1" "$$2"; \ 332 done; \ 333 shift; shift; \ 334 done 335 mtree -deU -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ 336 mtree -deU -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var 337 mtree -deU -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr 338 mtree -deU -f ${.CURDIR}/mtree/BSD.include.dist \ 339 -p ${DESTDIR}/usr/include 340.if !defined(NO_SENDMAIL) 341 mtree -deU -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ 342.endif 343 cd ${DESTDIR}/etc/namedb; rm -f etc/namedb; ln -s ".." etc/namedb 344 cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys 345 cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . 346 cd ${DESTDIR}/usr/share/man; \ 347 set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ 348 while [ $$# -gt 0 ] ; \ 349 do \ 350 rm -rf "$$1"; \ 351 ln -s "$$2" "$$1"; \ 352 shift; shift; \ 353 done 354 cd ${DESTDIR}/usr/share/locale; \ 355 set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.alias`; \ 356 while [ $$# -gt 0 ] ; \ 357 do \ 358 rm -rf "$$1"; \ 359 ln -s "$$2" "$$1"; \ 360 shift; shift; \ 361 done 362 cd ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1; ln -sf ../man* . 363 cd ${DESTDIR}/usr/share/nls; \ 364 set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ 365 while [ $$# -gt 0 ] ; \ 366 do \ 367 rm -rf "$$1"; \ 368 ln -s "$$2" "$$1"; \ 369 shift; shift; \ 370 done 371 372etc-examples: 373 cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 374 ${BINUPDATE} ${BIN1} ${BIN2} nsmb.conf opieaccess \ 375 ${DESTDIR}/usr/share/examples/etc 376 cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ 377 ${DEFAULTS} ${DESTDIR}/usr/share/examples/etc/defaults 378 379.include <bsd.prog.mk> 380