[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc

Annotation of src/etc/Makefile, Revision 1.154

1.154   ! thorpej     1: #      $NetBSD: Makefile,v 1.153 2000/06/12 06:23:21 fredb Exp $
1.66      mikel       2: #      from: @(#)Makefile      8.7 (Berkeley) 5/25/95
1.1       cgd         3:
1.96      cjs         4: # Environment variables without default values:
                      5: #   DESTDIR must be set before anything in this file will work.
                      6: #   RELEASEDIR is where the tarred up stuff for a snapshot or
                      7: #      release will be placed.
                      8: #
                      9: # Environment variables with default values:
                     10: #   LOCALTIME will set the default local time for the system you
                     11: #      build; it determines what /etc/localtime is symlink'd to.
                     12: #   KERNSRCDIR points to kernel source; it is set by default to ../sys,
                     13: #      but can be overridden.
                     14: #   KERNOBJDIR is the kernel build directory, it defaults to
                     15: #      ${KERNSRCDIR}/arch/${MACHINE}/compile/KERNELNAME, but can be
                     16: #      overridden.
                     17: #   KERNCONFDIR is where the configuration files for kernels are found;
                     18: #      default is ${KERNSRCDIR}/arch/${MACHINE}/conf but can be overridden.
1.97      cjs        19: #   UPDATE is normally undefined; if defined, don't do a 'make clean'
                     20: #      before kernel compile
1.96      cjs        21: #   NO_SENDMAIL is normally undefined; if defined, it will not do a
                     22: #      `make distribution' in the sendmail config file source directory.
                     23: #   EXTRA_KERNELS has a machine-dependent list of kernels to build added
                     24: #      to it, but you may also set this to have extra ones built.
1.119     ross       25: #   BUILD_KERNELS are a machine-dependent list of kernels that should just
                     26: #      be built in place but not made into sets or installed, e.g., an
                     27: #      INSTALL kernel used later in src/distrib/.
1.154   ! thorpej    28: #
1.96      cjs        29: # Targets:
                     30: #    distribution: makes a full NetBSD distribution in DESTDIR. If
                     31: #      INSTALL_DONE is set, it will not do a `make install.'
                     32: #    distrib-dirs: creates an empty NetBSD directory tree in DESTDIR.
                     33: #      Called by distribution.
                     34: #    snapshot: calls distribution, above, and then tars up the files
                     35: #      into a release(7) format in RELEASEDIR. Any port-dependent
                     36: #      stuff for this target is found in etc.${MACHINE}/Makefile.inc.
1.106     cjs        37: #    release: a synonym for `snapshot'
1.96      cjs        38:
1.149     sjg        39: # do this before bsd.own.mk so we get correct KERNSRCDIR
1.145     sjg        40: .include "../Makefile.inc"
                     41:
1.154   ! thorpej    42: # For NO_SENDMAIL and INSTPRIV
1.90      kim        43: .include <bsd.own.mk>
                     44:
1.23      cgd        45: TZDIR=         /usr/share/zoneinfo
1.90      kim        46: LOCALTIME?=    US/Pacific
1.19      deraadt    47:
1.55      perry      48: # setting NOOBJ prevents "make obj" from doing anything;
                     49: # an objdir would break the installation stuff below
1.101     lukem      50: MKOBJ= no
1.1       cgd        51:
1.80      jonathan   52: # MD Makefile.inc may append MD targets to BIN[123].  Make sure all
                     53: # are empty, to preserve the old semantics of setting them below with "=".
                     54: BIN1=
                     55: BIN2=
                     56: BIN3=
                     57:
1.117     simonb     58: # Directories to build in ${RELEASEDIR}.   MD Makefile.inc files can
                     59: # add to this.
                     60: # NOTE: Parent directories must be listed before subdirectories.
                     61: INSTALLATION_DIRS= \
                     62:        binary binary/sets binary/kernel binary/security installation
                     63:
1.71      cjs        64: .if exists(etc.${MACHINE}/Makefile.inc)
                     65: .include "etc.${MACHINE}/Makefile.inc"
                     66: .endif
1.32      jtc        67:
1.96      cjs        68: # Use multiple jobs for kernel builds, if NBUILDJOBS set.
                     69: # (Taken from src/Makefile.)
                     70: .if defined(NBUILDJOBS)
                     71: _J= -j${NBUILDJOBS}
                     72: .endif
                     73:
1.21      cgd        74: # -rw-r--r--
                     75: BINOWN= root
                     76: BINGRP= wheel
1.131     veego      77: BIN1+= bootptab changelist csh.cshrc csh.login csh.logout daily \
                     78:        daily.conf dm.conf floppytab ftpchroot ftpusers ftpwelcome \
                     79:        gettytab group hosts hosts.lpd inetd.conf lkm.conf \
                     80:        mailer.conf man.conf monthly monthly.conf mrouted.conf \
1.151     fvdl       81:        netconfig networks newsyslog.conf nsswitch.conf ntp.conf \
1.131     veego      82:        phones printcap profile protocols rbootd.conf rc rc.conf \
                     83:        rc.lkm rc.local rc.subr rc.shutdown rc.wscons remote rpc \
1.142     tsarna     84:        security security.conf services shells sysctl.conf syslog.conf \
                     85:        weekly weekly.conf wscons.conf \
1.109     drochner   86:        etc.${MACHINE}/ttys etc.${MACHINE}/disktab
1.105     mycroft    87:
1.121     fvdl       88: .if    (${MACHINE_ARCH} == "m68k") || \
1.105     mycroft    89:        (${MACHINE_ARCH} == "ns32k") || \
                     90:        (${MACHINE_ARCH} == "vax") || \
                     91:        (${MACHINE_ARCH} == "arm32")
1.129     christos   92: BIN1+= ld.so.conf
                     93: .elif exists(etc.${MACHINE_ARCH}/ld.so.conf)
1.132     jlam       94: BIN1+= etc.${MACHINE_ARCH}/ld.so.conf
1.152     perry      95: .endif
                     96:
                     97: .if exists(etc.${MACHINE_ARCH}/ttyaction)
                     98: BIN1+= etc.${MACHINE_ARCH}/ttyaction
1.105     mycroft    99: .endif
1.120     itojun    100:
                    101: # IPv6
                    102: BIN1+= rtadvd.conf
1.1       cgd       103:
1.46      deraadt   104: # -rw-rw-r--
1.80      jonathan  105: BIN2+= motd
1.1       cgd       106:
1.77      mycroft   107: # -rw-------
1.80      jonathan  108: BIN3+= hosts.equiv
1.77      mycroft   109:
1.144     thorpej   110: NAMEDB=        127 root.cache named.conf localhost loopback.v6
1.1       cgd       111: PCS=   pcs750.bin
                    112:
1.88      lukem     113: all clean cleandir depend distclean etc includes install lint:
1.1       cgd       114:
1.149     sjg       115: .include <bsd.kernobj.mk>
                    116:
                    117: obj:
                    118:        mkdir -p ${KERNOBJDIR}
                    119:
1.34      cgd       120: .ifndef DESTDIR
1.106     cjs       121: distribution distrib-dirs release snapshot:
1.36      cgd       122:        @echo setenv DESTDIR before doing that!
1.34      cgd       123:        @false
                    124: .else
1.7       cgd       125: distribution: distrib-dirs
1.87      perry     126: .if !defined(INSTALL_DONE)
1.107     scottr    127:        (cd ..; ${MAKE} _DISTRIB= includes)
                    128:        (cd ..; ${MAKE} _DISTRIB= install)
1.87      perry     129: .endif
1.124     simonb    130:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} \
                    131:            ${DESTDIR}/etc
                    132:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 664 ${BIN2} \
                    133:            ${DESTDIR}/etc
                    134:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 600 ${BIN3} \
                    135:            ${DESTDIR}/etc
                    136:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 aliases \
1.147     itojun    137:            ${DESTDIR}/etc/mail
1.124     simonb    138:        ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 crontab \
1.56      thorpej   139:            ${DESTDIR}/var/cron/tabs/root
1.124     simonb    140:        ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 master.passwd \
                    141:            ${DESTDIR}/etc
1.68      perry     142:        pwd_mkdb -p -d ${DESTDIR}/ ${DESTDIR}/etc/master.passwd
1.124     simonb    143:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
1.1       cgd       144:             MAKEDEV.local etc.${MACHINE}/MAKEDEV ${DESTDIR}/dev
1.124     simonb    145:        ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 minfree \
1.73      perry     146:            ${DESTDIR}/var/crash
1.1       cgd       147:        (cd root; \
1.124     simonb    148:                ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 644 dot.cshrc \
1.1       cgd       149:                    ${DESTDIR}/root/.cshrc; \
1.124     simonb    150:                ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 dot.klogin \
1.1       cgd       151:                    ${DESTDIR}/root/.klogin; \
1.124     simonb    152:                ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 644 dot.login \
1.1       cgd       153:                    ${DESTDIR}/root/.login; \
1.124     simonb    154:                ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 644 dot.profile \
1.1       cgd       155:                    ${DESTDIR}/root/.profile; \
1.128     mycroft   156:                ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 644 dot.shrc \
                    157:                    ${DESTDIR}/root/.shrc; \
1.1       cgd       158:                rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \
                    159:                ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \
                    160:                ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile)
1.83      mrg       161:        (cd mtree; ${MAKE} install)
1.63      mikel     162:        (cd namedb; \
1.124     simonb    163:                ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 \
                    164:                    ${NAMEDB} ${DESTDIR}/etc/namedb)
1.140     lukem     165:        (cd rc.d; ${MAKE} install)
1.19      deraadt   166:        /bin/rm -f ${DESTDIR}/etc/localtime
                    167:        ln -s ${TZDIR}/${LOCALTIME} ${DESTDIR}/etc/localtime
1.48      deraadt   168:        /bin/rm -f ${DESTDIR}/etc/rmt
                    169:        ln -s /usr/sbin/rmt ${DESTDIR}/etc/rmt
1.124     simonb    170:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g operator -m 664 /dev/null \
1.32      jtc       171:                ${DESTDIR}/etc/dumpdates
1.124     simonb    172:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g operator -m 600 /dev/null \
1.44      deraadt   173:                ${DESTDIR}/etc/skeykeys
1.127     perry     174:        ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 /dev/null \
                    175:                ${DESTDIR}/var/at/at.deny
1.124     simonb    176:        ${INSTALL} ${INSTPRIV} -c -o root -g wheel -m 600 /dev/null \
1.38      cgd       177:                ${DESTDIR}/var/cron/log
1.124     simonb    178:        ${INSTALL} ${INSTPRIV} -c -o nobody -g ${BINGRP} -m 664 /dev/null \
1.32      jtc       179:                ${DESTDIR}/var/db/locate.database
1.124     simonb    180:        ${INSTALL} ${INSTPRIV} -c -o uucp -g dialer -m 640 /dev/null \
1.113     fair      181:                ${DESTDIR}/var/log/aculog
1.124     simonb    182:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
1.69      perry     183:                ${DESTDIR}/var/log/authlog
1.124     simonb    184:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
1.32      jtc       185:                ${DESTDIR}/var/log/lastlog
1.124     simonb    186:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \
1.32      jtc       187:                ${DESTDIR}/var/log/lpd-errs
1.124     simonb    188:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
1.32      jtc       189:                ${DESTDIR}/var/log/maillog
1.124     simonb    190:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
1.32      jtc       191:                ${DESTDIR}/var/log/messages
1.124     simonb    192:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
1.58      lukem     193:                ${DESTDIR}/var/log/secure
1.137     mycroft   194:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
                    195:                ${DESTDIR}/var/log/sendmail.st
1.124     simonb    196:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
1.32      jtc       197:                ${DESTDIR}/var/log/wtmp
1.124     simonb    198:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
1.69      perry     199:                ${DESTDIR}/var/log/xferlog
1.124     simonb    200:        ${INSTALL} ${INSTPRIV} -c -o daemon -g staff -m 664 /dev/null \
1.39      cgd       201:                ${DESTDIR}/var/msgs/bounds
1.124     simonb    202:        ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} -g ${BINGRP} -m 664 /dev/null \
1.32      jtc       203:                ${DESTDIR}/var/run/utmp
1.124     simonb    204:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       205:                ${DESTDIR}/var/games/atc_scores
1.124     simonb    206:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       207:                ${DESTDIR}/var/games/battlestar.log
1.124     simonb    208:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       209:                ${DESTDIR}/var/games/cfscores
1.124     simonb    210:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.82      perry     211:                ${DESTDIR}/var/games/criblog
1.124     simonb    212:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       213:                ${DESTDIR}/var/games/robots_roll
1.124     simonb    214:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       215:                ${DESTDIR}/var/games/rogue.scores
1.124     simonb    216:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       217:                ${DESTDIR}/var/games/saillog
1.124     simonb    218:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       219:                ${DESTDIR}/var/games/snakerawscores
1.124     simonb    220:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       221:                ${DESTDIR}/var/games/snake.log
1.124     simonb    222:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       223:                ${DESTDIR}/var/games/tetris.scores
1.124     simonb    224:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       225:                ${DESTDIR}/var/games/larn/llog12.0
1.124     simonb    226:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       227:                ${DESTDIR}/var/games/larn/lscore12.0
1.124     simonb    228:        ${INSTALL} ${INSTPRIV} -c -o games -g games -m 664 /dev/null \
1.81      mrg       229:                ${DESTDIR}/var/games/larn/playerids
1.124     simonb    230:        (cd etc.${MACHINE}; ${INSTALL} ${INSTPRIV} -c -o ${BINOWN} \
                    231:            -g ${BINGRP} -m 444 fstab.* ${DESTDIR}/etc)
1.49      tls       232:        (cd ${DESTDIR}/dev; ./MAKEDEV all)
1.62      perry     233:        (cd ../usr.bin/mail; ${MAKE} distribution)
1.143     perry     234:        (cd ../gnu/usr.sbin/postfix/; ${MAKE} distribution)
1.90      kim       235: .ifndef NO_SENDMAIL
1.133     tron      236:        (cd ../gnu/usr.sbin/sendmail/cf/cf; ${MAKE} distribution)
1.153     fredb     237:        ${DESTDIR}/usr/libexec/sendmail/sendmail -C ${DESTDIR}/etc/mail/sendmail.cf -O AliasFile=${DESTDIR}/etc/mail/aliases -O DontBlameSendmail=MapInUnsafeDirPath -bi
1.90      kim       238: .endif
1.1       cgd       239:
1.7       cgd       240: distrib-dirs:
1.124     simonb    241:        ${INSTALL} ${INSTPRIV} -d -o root -g wheel -m 755 ${DESTDIR}
1.67      perry     242:        -mtree -def mtree/NetBSD.dist -p ${DESTDIR}/ -u
1.28      jtc       243:        cd ${DESTDIR}; rm -f sys; ln -s usr/src/sys sys
1.99      cjs       244:
1.96      cjs       245: .if !defined(RELEASEDIR)
1.117     simonb    246: release snapshot snap_pre snap_md_pre snap_md_post:
1.96      cjs       247:        @echo setenv RELEASEDIR before doing that!
                    248:        @false
                    249: .else
1.117     simonb    250: release snapshot: distribution snap_pre snap_md_pre snap_kern snap_md_post
1.141     thorpej   251:        (cd ../distrib/sets; ${MAKE} sets)
1.123     is        252:        sh ../distrib/sets/makesums -t ${RELEASEDIR}/binary/kernel '*.gz'
1.41      cgd       253:
                    254: snap_pre:
1.96      cjs       255:        /bin/rm -rf ${RELEASEDIR}
1.124     simonb    256:        ${INSTALL} ${INSTPRIV} -d -o root -g wheel -m 755 ${RELEASEDIR}
1.117     simonb    257: .for dir in ${INSTALLATION_DIRS}
1.124     simonb    258:        ${INSTALL} ${INSTPRIV} -d -o root -g wheel -m 755 ${RELEASEDIR}/${dir}
1.117     simonb    259: .endfor
1.96      cjs       260:
                    261:
                    262: # This target builds the GENERIC kernel (which must exist for all
                    263: # ports) and puts it in binary/sets/kern.tgz, and also builds any
1.114     fair      264: # kernels specified in EXTRA_KERNELS. Since NetBSD's kernel build
                    265: # system can create more than one kernel from a single configuration
                    266: # we figure out how many there are, what they're named, and move them
                    267: # to binary/kernel/${KERNEL}.${CONFIGFILE}.gz - most often KERNEL will
1.116     fair      268: # simply be "netbsd". If we don't find the "config" line, assume the
                    269: # kernel will be "netbsd" (some config files are simple additions on
                    270: # GENERIC, and just include it).
                    271: #
                    272: GETKERNELAWK=  awk '/^config/ {print $$2; found=1} \
                    273:                END{ if (found == 0) print "netbsd"; }'
1.96      cjs       274: #
1.118     gwr       275: .if !target(snap_kern)
1.96      cjs       276: snap_kern:
1.145     sjg       277: .ifndef KERNELS_DONE
1.135     mycroft   278: .for configfile in GENERIC ${EXTRA_KERNELS} ${BUILD_KERNELS}
1.125     sommerfe  279:        cd ${KERNCONFDIR} && ${CONFIG} \
1.135     mycroft   280:                -b ${KERNOBJDIR}/${configfile} -s ${KERNSRCDIR} ${configfile}
1.97      cjs       281: .ifndef UPDATE
1.135     mycroft   282:        cd ${KERNOBJDIR}/${configfile} && ${MAKE} clean
1.96      cjs       283: .endif
1.135     mycroft   284:        cd ${KERNOBJDIR}/${configfile} && ${MAKE} depend && ${MAKE} ${_J}
                    285: .endfor # kernels
1.96      cjs       286:        cd ${KERNOBJDIR}/GENERIC &&     \
1.116     fair      287:                tar cf - `${GETKERNELAWK} ${KERNCONFDIR}/GENERIC` |\
1.96      cjs       288:                gzip -c -9 > ${RELEASEDIR}/binary/sets/kern.tgz
1.135     mycroft   289: .for configfile in GENERIC ${EXTRA_KERNELS}
1.114     fair      290:        cd ${KERNOBJDIR}/${configfile} &&       \
1.116     fair      291:                for kernel in `${GETKERNELAWK} \
1.114     fair      292:                        ${KERNCONFDIR}/${configfile}` ; {   \
                    293:                gzip -c -9 < $${kernel} > \
                    294:                        ${RELEASEDIR}/binary/kernel/$${kernel}.${configfile}.gz ; }
1.96      cjs       295: .endfor # EXTRA_KERNELS
1.145     sjg       296: .endif # KERNELS_DONE
1.118     gwr       297: .endif # no target(snap_kern)
1.108     drochner  298:
1.96      cjs       299: .endif # RELEASEDIR check
1.41      cgd       300:
1.117     simonb    301: snap_md_pre:
                    302: # nothing here -- look in the machine-dependent Makefile.inc
                    303:
                    304: snap_md_post:
1.41      cgd       305: # nothing here -- look in the machine-dependent Makefile.inc
                    306:
1.34      cgd       307: .endif # DESTDIR check
1.7       cgd       308:
1.1       cgd       309: .include <bsd.prog.mk>

CVSweb <webmaster@jp.NetBSD.org>