1# $MirOS: src/etc/Makefile,v 1.53 2014/06/09 13:49:36 tg Exp $ 2# $OpenBSD: Makefile,v 1.226 2005/05/26 23:06:06 mcbride Exp $ 3 4TZDIR= /usr/share/zoneinfo 5LOCALTIME?= UTC 6NOOBJ= yes 7 8.include <bsd.own.mk> 9 10# -rw-r--r-- 11BINOWN= root 12BIN1= anacron ccd.conf changelist cronrun csh.login daily dhclient.conf \ 13 dhcpd.conf dhcpd.interfaces etc.${MACHINE}/disktab exports \ 14 ftpchroot ftpusers gettytab group hosts hosts.lpd \ 15 locate.rc login.conf \ 16 mailer.conf man.conf moduli monthly motd mrouted.conf \ 17 myname netstart networks newsyslog.conf ntpd.conf \ 18 pf.os phones printcap profile protocols rbootd.conf \ 19 rc rc.conf rc.local rc.securelevel rc.shutdown remote \ 20 rpc security sensorsd.conf services shells weekly wsconsctl.conf 21 22# machine dependent parts 23BINMD= make.cfg sysctl.conf syslog.conf 24 25# -rw-rw-r-- 26BIN2= motd 27 28# Use NOGZIP on architectures where the gzip'ing would take too much time 29# (pmax or slower :-)). This way you get only tar'ed snap files and you can 30# gzip them on a faster machine 31.ifndef NOGZIP 32GZIP?= gzip 33GZIPFLAGS?= -9 34GZIPEXT?= .gz 35.else 36GZIP= cat 37GZIPFLAGS= 38GZIPEXT= 39.endif 40SKIPDIR?= # empty 41 42all clean cleandir depend etc install lint: 43 44.if !defined(DESTDIR) || empty(DESTDIR) 45etc-files: 46 @echo setenv DESTDIR before trying this! 47 @exit 1 48.else 49etc-files: 50 ${INSTALL} -c -o ${BINOWN} -g ${CONFGRP} -m 644 ${BIN1} ${DESTDIR}/etc/ 51 cat fbtab.head etc.${MACHINE}/fbtab fbtab.tail >${DESTDIR}/etc/fbtab 52 ${SHELL} ${.CURDIR}/ttys.pty ${MACHINE} >${DESTDIR}/etc/ttys.dist 53. for _i in ${BINMD} 54 if [ -e ${.CURDIR}/etc.${MACHINE}/${_i}.md ]; then \ 55 sed -e '/@@MDPART@@/r${.CURDIR}/etc.${MACHINE}/${_i}.md' \ 56 -e '//d' ${.CURDIR}/${_i}; \ 57 else \ 58 sed -e '/@@MDPART@@/d' ${.CURDIR}/${_i}; \ 59 fi >${DESTDIR}/etc/${_i} 60. endfor 61 cd ${DESTDIR}/etc && \ 62 chown ${BINOWN}:${CONFGRP} fbtab ttys.dist ${BINMD} && \ 63 chmod 644 fbtab ttys.dist ${BINMD} 64 ${INSTALL} -c -o ${BINOWN} -g ${CONFGRP} -m 664 ${BIN2} ${DESTDIR}/etc/ 65 ${INSTALL} -c -o root -g wheel -m 600 hosts.equiv ${DESTDIR}/etc/ 66 ${INSTALL} -c -o root -g wheel -m 600 crontab ${DESTDIR}/var/cron/tabs/root 67 ${INSTALL} -c -o root -g wheel -m 600 master.passwd ${DESTDIR}/etc/ 68 pwd_mkdb -p -d ${DESTDIR}/etc /etc/master.passwd 69 ${INSTALL} -c -o root -g ${CONFGRP} -m 640 inetd.conf ${DESTDIR}/etc/ 70 ${INSTALL} -c -o root -g wheel -m 640 pf.conf ${DESTDIR}/etc/ 71 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \ 72 etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev/ 73 ${INSTALL} -c -o root -g wheel -m 600 root.profile ${DESTDIR}/.profile 74 cd skel; \ 75 ${INSTALL} -c -o root -g wheel -m 644 calendar \ 76 ${DESTDIR}/etc/skel/.etc/calendar/calendar; \ 77 ${INSTALL} -c -o root -g wheel -m 644 dot.Xresources \ 78 ${DESTDIR}/etc/skel/.Xresources; \ 79 ${INSTALL} -c -o root -g wheel -m 644 dot.mailrc \ 80 ${DESTDIR}/etc/skel/.mailrc 81 cd mtree; \ 82 ${INSTALL} -c -o root -g wheel -m 600 special \ 83 ${DESTDIR}/etc/mtree/; \ 84 ${INSTALL} -c -o root -g wheel -m 444 4.4BSD.dist \ 85 ${DESTDIR}/etc/mtree/ 86 cd ppp; \ 87 ${INSTALL} -c -o root -g wheel -m 600 \ 88 chap-secrets options.sample pap-secrets \ 89 ppp.conf.sample ppp.secret.sample \ 90 ${DESTDIR}/etc/ppp/; \ 91 ${INSTALL} -c -o root -g wheel -m 600 \ 92 isp.sample isp.chat.sample \ 93 ${DESTDIR}/etc/ppp/peers/; \ 94 ${INSTALL} -c -o root -g wheel -m 755 \ 95 ip-up ip-down ppp.linkup.sample ppp.linkdown.sample \ 96 ${DESTDIR}/etc/ppp/ 97 cd systrace; \ 98 ${INSTALL} -c -o root -g wheel -m 600 usr_sbin_lpd \ 99 ${DESTDIR}/etc/systrace/ 100 /bin/rm -f ${DESTDIR}/etc/localtime 101 ln -s ${TZDIR}/${LOCALTIME} ${DESTDIR}/etc/localtime 102 /bin/rm -f ${DESTDIR}/etc/rmt 103 ln -s /usr/sbin/rmt ${DESTDIR}/etc/rmt 104 ${INSTALL} -c -o root -g wheel -m 644 minfree \ 105 ${DESTDIR}/var/crash/ 106 ${INSTALL} -c -o ${BINOWN} -g operator -m 664 /dev/null \ 107 ${DESTDIR}/etc/dumpdates 108. if ${MACHINE} == "i386" 109 ${INSTALL} -c -o root -g wheel -m 644 isdnd.rc.sample \ 110 ${DESTDIR}/etc/isdn/ 111 ${INSTALL} -c -o root -g wheel -m 644 isdnd.sppp.sample \ 112 ${DESTDIR}/etc/isdn/ 113. endif 114 ${INSTALL} -c -o root -g crontab -m 660 /dev/null \ 115 ${DESTDIR}/var/cron/at.deny 116 ${INSTALL} -c -o root -g crontab -m 660 /dev/null \ 117 ${DESTDIR}/var/cron/cron.deny 118 ${INSTALL} -c -o root -g wheel -m 444 /dev/null \ 119 ${DESTDIR}/var/db/locate.database 120 ${INSTALL} -c -o ${BINOWN} -g wheel -m 640 /dev/null \ 121 ${DESTDIR}/var/log/messages 122 ${INSTALL} -c -o ${BINOWN} -g wheel -m 640 /dev/null \ 123 ${DESTDIR}/var/log/sendmail.st 124 ${INSTALL} -c -o ${BINOWN} -g wheel -m 640 /dev/null \ 125 ${DESTDIR}/var/log/wtmp 126 ${INSTALL} -c -o daemon -g staff -m 664 /dev/null \ 127 ${DESTDIR}/var/msgs/bounds 128 ${INSTALL} -c -o ${BINOWN} -g utmp -m 664 /dev/null \ 129 ${DESTDIR}/var/run/utmp 130. if ${SKIPDIR:Mgnu/usr.sbin/sendmail} 131 @echo "Warning: skipping sendmail" 132. else 133 cd ../gnu/usr.sbin/sendmail/cf/cf && exec ${MAKE} distribution 134. endif 135. for _i in lib/libssl bin/mksh usr.bin/indent usr.bin/mail usr.bin/ssh 136 cd ../${_i} && exec ${MAKE} distribution 137. endfor 138. if ${CROSS_MODE:L} != "yes" 139. for _i in usr.sbin/httpd gnu/usr.bin/anoncvs gnu/usr.bin/lynx 140. if ${SKIPDIR:M${_i}} 141 @echo "Warning: skipping ${_i}" 142. else 143 cd ../${_i}; f=Makefile.bsd-wrapper; [[ -e $$f ]] || f=Makefile; \ 144 exec ${MAKE} -f $$f distribution 145. endif 146. endfor 147. endif 148 ${INSTALL} -c -o root -g wheel -m 440 ../usr.bin/sudo/sudoers \ 149 ${DESTDIR}/etc/sudoers 150 cd ${DESTDIR}/etc/ssl/certs && ${SHELL} ${.CURDIR}/ssl.certs.shar && \ 151 chown ${BINOWN}:${CONFGRP} * && chmod 444 * && \ 152 ${SHELL} ${.CURDIR}/ssl.links.shar 153 ${INSTALL} -c -o ${BINOWN} -g ${CONFGRP} -m 644 spamd.conf \ 154 ${DESTDIR}/etc/mail/ 155 ${INSTALL} -c -o ${BINOWN} -g ${CONFGRP} -m 644 ssh_known_hosts \ 156 ${DESTDIR}/etc/ssh/ 157 ${INSTALL} -c -o 0 -g 0 -m 644 ssh_root_config \ 158 ${DESTDIR}/etc/ssh/root:config 159.endif # destdir 160 161MAKEDEVARCHS+= i386 162MAKEDEVARCHS+= sparc 163 164clean: 165 rm -f etc.${MACHINE}/MAKEDEV 166 167cleandir: 168 cd ${.CURDIR}; for m in ${MAKEDEVARCHS}; do \ 169 ${MAKE} MACHINE=$$m clean; done 170 171MAKEDEVSRC= MAKEDEV.mi MAKEDEV.sub MAKEDEV.common 172MAKEDEVDOC= MAKEDEV.man MAKEDEV.mansub MAKEDEV.common 173m4: etc.${M}/MAKEDEV 174man: ${.CURDIR}/../share/man/man8/man8.${M}/MAKEDEV.8 175 176etc.${M}/MAKEDEV: ${MAKEDEVSRC} etc.${M}/MAKEDEV.md 177 @echo "==> etc.${M}/MAKEDEV" 178 m4 -DMACHINE=${M} MAKEDEV.mi >etc.${M}/.MAKEDEV.tmp && \ 179 mv etc.${M}/.MAKEDEV.tmp etc.${M}/MAKEDEV || \ 180 rm etc.${M}/.MAKEDEV.tmp 181 182${.CURDIR}/../share/man/man8/man8.${M}/MAKEDEV.8: ${MAKEDEVDOC} etc.${M}/MAKEDEV.md 183 m4 -DMACHINE=${M} MAKEDEV.man >$@ 184 185allarchs: ${MAKEDEVSRC} ${MAKEDEVDOC} 186 cd ${.CURDIR}; for m in ${MAKEDEVARCHS}; do \ 187 ${MAKE} M=$$m m4 man; done 188 @echo "=================================" 189 @echo " Don't forget to update your own" 190 @echo " '/dev/MAKEDEV' script manually!" 191 @echo "=================================" 192 193GENERATED_FILES= 194 195.for _i in ${BINMD} 196GENERATED_FILES+= ${_i}.generated 197 198. for _j in etc.${MACHINE}/${_i}.md etc.${MACHINE_ARCH}/${_i}.md ${_i} 199. if exists(${_j}) 200${_i}.generated: ${_j} 201. endif 202. endfor 203 204${_i}.generated: 205 if [ -e ${.CURDIR}/etc.${MACHINE}/${_i}.md ]; then \ 206 sed -e '/@@MDPART@@/r${.CURDIR}/etc.${MACHINE}/${_i}.md' \ 207 -e '//d'; \ 208 elif [ -e ${.CURDIR}/etc.${MACHINE_ARCH}/${_i}.md ]; then \ 209 sed -e '/@@MDPART@@/r${.CURDIR}/etc.${MACHINE_ARCH}/${_i}.md' \ 210 -e '//d'; \ 211 else \ 212 sed -e '/@@MDPART@@/d'; \ 213 fi <${.CURDIR}/${_i} >$@ 214.endfor 215 216make-generated: ${GENERATED_FILES} 217 218clean-generated: 219 -rm -f ${GENERATED_FILES} 220 221.ifdef DESTDIR 222install-generated: make-generated 223. for _i in ${BINMD} 224 ${INSTALL} -c -o ${BINOWN} -g ${CONFGRP} -m 644 \ 225 ${_i}.generated ${DESTDIR}/etc/${_i} 226. endfor 227.else 228install-generated: 229 @echo "Set DESTDIR before trying this!"; false 230.endif 231 232DHSIZE= 1024 1536 2048 3072 4096 5120 6144 233update-moduli: 234 { \ 235 echo '# $$MirSecuCron$$'; \ 236 echo '# $$MirOS: src/etc/Makefile,v 1.53 2014/06/09 13:49:36 tg Exp $$'; \ 237 echo '#-'; \ 238 echo '# Time Type Tests Tries Size Generator Modulus'; \ 239 for i in ${DHSIZE}; do \ 240 ssh-keygen -b $$i -G /dev/stdout; \ 241 done | ssh-keygen -T /dev/stdout; \ 242 } >moduli 243 244.PHONY: all clean cleandir depend etc install lint etc-files \ 245 clean cleandir m4 man allarchs make-generated clean-generated \ 246 install-generated update-moduli 247 248.include <bsd.prog.mk> 249