Update all this crap so that `make snapshot' makes snapshots in release(7)

format, rather than in some unknown format. Also clean up the code a bit,
remove some code duplication, and add documentation to the Makefile.
This commit is contained in:
cjs 1999-02-05 03:01:49 +00:00
parent adc9c40688
commit 7d1e96cc2f
13 changed files with 150 additions and 277 deletions

View File

@ -1,6 +1,37 @@
# $NetBSD: Makefile,v 1.95 1999/01/22 01:41:19 mycroft Exp $
# $NetBSD: Makefile,v 1.96 1999/02/05 03:01:49 cjs Exp $
# from: @(#)Makefile 8.7 (Berkeley) 5/25/95
# Environment variables without default values:
# DESTDIR must be set before anything in this file will work.
# RELEASEDIR is where the tarred up stuff for a snapshot or
# release will be placed.
#
# Environment variables with default values:
# LOCALTIME will set the default local time for the system you
# build; it determines what /etc/localtime is symlink'd to.
# KERNSRCDIR points to kernel source; it is set by default to ../sys,
# but can be overridden.
# KERNOBJDIR is the kernel build directory, it defaults to
# ${KERNSRCDIR}/arch/${MACHINE}/compile/KERNELNAME, but can be
# overridden.
# KERNCONFDIR is where the configuration files for kernels are found;
# default is ${KERNSRCDIR}/arch/${MACHINE}/conf but can be overridden.
# NO_SENDMAIL is normally undefined; if defined, it will not do a
# `make distribution' in the sendmail config file source directory.
# USE_BIND4 is normally unset; if set, it will install a named.boot
# instead of a named.conf in etc/namedb.
# EXTRA_KERNELS has a machine-dependent list of kernels to build added
# to it, but you may also set this to have extra ones built.
#
# Targets:
# distribution: makes a full NetBSD distribution in DESTDIR. If
# INSTALL_DONE is set, it will not do a `make install.'
# distrib-dirs: creates an empty NetBSD directory tree in DESTDIR.
# Called by distribution.
# snapshot: calls distribution, above, and then tars up the files
# into a release(7) format in RELEASEDIR. Any port-dependent
# stuff for this target is found in etc.${MACHINE}/Makefile.inc.
# XXX: For NO_SENDMAIL and USE_BIND4
.include <bsd.own.mk>
@ -21,6 +52,12 @@ BIN3=
.include "etc.${MACHINE}/Makefile.inc"
.endif
# Use multiple jobs for kernel builds, if NBUILDJOBS set.
# (Taken from src/Makefile.)
.if defined(NBUILDJOBS)
_J= -j${NBUILDJOBS}
.endif
# -rw-r--r--
BINOWN= root
BINGRP= wheel
@ -160,33 +197,69 @@ distrib-dirs:
-mtree -def mtree/NetBSD.dist -p ${DESTDIR}/ -u
cd ${DESTDIR}; rm -f sys; ln -s usr/src/sys sys
snapshot: distribution snap_pre snap_tar snap_md
cd ${DESTDIR}/snapshot && cksum * > CKSUMS
.if !defined(RELEASEDIR)
snapshot snap_pre:
@echo setenv RELEASEDIR before doing that!
@false
.else
snapshot: distribution snap_pre snap_md snap_kern
sh ../distrib/sets/maketars -s ../distrib/sets \
-d ${DESTDIR} -t ${RELEASEDIR}/binary/sets
(cd ${RELEASEDIR}/binary/sets && \
cksum -o 1 *.tgz >BSDSUM && \
cksum *.tgz >CKSUM && \
cksum -m *.tgz >MD5 && \
cksum -o 2 *.tgz >SYSVSUM )
(cd ${RELEASEDIR}/binary/kernel && if [ -r *.gz ]; then \
cksum -o 1 *.gz >BSDSUM && \
cksum *.gz >CKSUM && \
cksum -m *.gz >MD5 && \
cksum -o 2 *.gz >SYSVSUM \
; fi )
snap_pre:
/bin/rm -rf ${DESTDIR}/snapshot
${INSTALL} -d -o root -g wheel -m 755 ${DESTDIR}/snapshot
/bin/rm -rf ${RELEASEDIR}
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}/binary
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}/binary/sets
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}/binary/kernel
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}/binary/security
${INSTALL} -d -o root -g wheel -m 755 ${RELEASEDIR}/installation
snap_tar:
cd ${DESTDIR} && tar cf - bin | gzip -9 > snapshot/bin.tar.gz
cd ${DESTDIR} && tar cf - dev | gzip -9 > snapshot/dev.tar.gz
cd ${DESTDIR} && tar cf - .profile .cshrc etc mnt root sys tmp | \
gzip -9 > snapshot/etc.tar.gz
cd ${DESTDIR} && tar cf - sbin | gzip -9 > snapshot/sbin.tar.gz
cd ${DESTDIR} && tar cf - usr/bin | gzip -9 > snapshot/usr.bin.tar.gz
cd ${DESTDIR} && tar cf - usr/games | gzip -9 > \
snapshot/usr.games.tar.gz
cd ${DESTDIR} && tar cf - usr/include | gzip -9 > \
snapshot/usr.include.tar.gz
cd ${DESTDIR} && tar cf - usr/lib | gzip -9 > snapshot/usr.lib.tar.gz
cd ${DESTDIR} && tar cf - usr/libexec | gzip -9 > \
snapshot/usr.libexec.tar.gz
cd ${DESTDIR} && tar cf - usr/mdec usr/libdata usr/local usr/src \
usr/obj | gzip -9 > snapshot/usr.misc.tar.gz
cd ${DESTDIR} && tar cf - usr/sbin | gzip -9 > snapshot/usr.sbin.tar.gz
cd ${DESTDIR} && tar cf - usr/share | gzip -9 > \
snapshot/usr.share.tar.gz
cd ${DESTDIR} && tar cf - var | gzip -9 > snapshot/var.tar.gz
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
# This target builds the GENERIC kernel (which must exist for all
# ports) and puts it in binary/sets/kern.tgz, and also builds any
# kernels specified in EXTRA_KERNELS and puts them in
# binary/kernel/netbsd.${KERN}.gz
#
snap_kern:
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/GENERIC -s ${KERNSRCDIR} GENERIC
.ifndef BUILD
cd ${KERNOBJDIR}/GENERIC && ${MAKE} clean
.endif
cd ${KERNOBJDIR}/GENERIC && \
${MAKE} depend && ${MAKE} ${_J} && \
tar cf - netbsd |\
gzip -c -9 > ${RELEASEDIR}/binary/sets/kern.tgz
.for kernel in ${EXTRA_KERNELS}
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} -s ${KERNSRCDIR} ${kernel}
.ifndef BUILD
cd ${KERNOBJDIR}/${kernel} && ${MAKE} clean
.endif
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} depend && ${MAKE} ${_J} && \
tar cf - netbsd |\
gzip -c -9 > ${RELEASEDIR}/binary/kernel/netbsd.${kernel}.gz
.endfor # EXTRA_KERNELS
.endif # RELEASEDIR check
snap_md:
# nothing here -- look in the machine-dependent Makefile.inc

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.11 1999/02/05 03:01:50 cjs Exp $
#
# etc.amiga/Makefile.inc -- amiga-specific etc Makefile targets
#
# $NetBSD: Makefile.inc,v 1.10 1998/10/09 10:40:59 itohy Exp $
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
gzip -c -9 netbsd > ${DESTDIR}/snapshot/netbsd.${kernel}.gz
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.4 1998/10/09 10:41:16 itohy Exp $
# $NetBSD: Makefile.inc,v 1.5 1999/02/05 03:01:50 cjs Exp $
#
# etc.arm32/Makefile.inc -- arm32-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,27 +1,8 @@
#
# $NetBSD: Makefile.inc,v 1.4 1998/10/09 10:41:24 itohy Exp $
# $NetBSD: Makefile.inc,v 1.5 1999/02/05 03:01:51 cjs Exp $
#
# etc.atari/Makefile.inc -- atari-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC ATARITT BOOT BOOTX HADES
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
gzip -c -9 netbsd > ${DESTDIR}/snapshot/netbsd.${kernel}.gz
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= ATARITT BOOT BOOTX HADES

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.1 1998/11/18 08:49:33 sakamoto Exp $
# $NetBSD: Makefile.inc,v 1.2 1999/02/05 03:01:51 cjs Exp $
#
# etc.bebox/Makefile.inc -- bebox-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,25 +1,8 @@
# $NetBSD: Makefile.inc,v 1.5 1998/10/09 10:41:27 itohy Exp $
# $NetBSD: Makefile.inc,v 1.6 1999/02/05 03:01:52 cjs Exp $
#
# etc.hp300/Makefile.inc -- hp300-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC DISKLESS
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
gzip -c -9 netbsd > ${DESTDIR}/snapshot/netbsd.${kernel}.gz
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= DISKLESS

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.11 1998/10/09 10:41:31 itohy Exp $
# $NetBSD: Makefile.inc,v 1.12 1999/02/05 03:01:52 cjs Exp $
#
# etc.i386/Makefile.inc -- i386-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,4 +1,8 @@
# $NetBSD: Makefile.inc,v 1.2 1997/12/17 22:47:47 perry Exp $
# $NetBSD: Makefile.inc,v 1.3 1999/02/05 03:01:52 cjs Exp $
#
# etc.pmax/Makefile.inc -- pmax-specific etc Makefile targets
#
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.12 1998/10/09 10:41:34 itohy Exp $
# $NetBSD: Makefile.inc,v 1.13 1999/02/05 03:01:53 cjs Exp $
#
# etc.sparc/Makefile.inc -- sparc-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC GENERIC_SCSI3
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= GENERIC_SCSI3

View File

@ -1,26 +1,8 @@
# $NetBSD: Makefile.inc,v 1.1 1999/01/23 21:03:22 eeh Exp $
# $NetBSD: Makefile.inc,v 1.2 1999/02/05 03:01:53 cjs Exp $
#
# etc.sparc/Makefile.inc -- sparc-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC GENERIC64
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= GENERIC64

View File

@ -1,28 +1,10 @@
# $NetBSD: Makefile.inc,v 1.7 1998/10/09 10:41:38 itohy Exp $
# $NetBSD: Makefile.inc,v 1.8 1999/02/05 03:01:53 cjs Exp $
#
# etc.sun3/Makefile.inc -- sun3-specific etc Makefile targets
#
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= GENERIC3X
BIN3+= etc.sun3/ttyaction
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC GENERIC3X
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
.endif # DESTDIR check

View File

@ -1,33 +1,8 @@
# $NetBSD: Makefile.inc,v 1.4 1998/10/09 10:41:42 itohy Exp $
# $NetBSD: Makefile.inc,v 1.5 1999/02/05 03:01:54 cjs Exp $
#
# etc.vax/Makefile.inc -- vax-specific etc Makefile targets
#
.ifdef DESTDIR
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
cp netbsd ${DESTDIR}/snapshot/netbsd.${kernel}
.endfor
distribution: pcs750.bin
pcs750.bin:
(cd etc.vax;uudecode pcs750.bin.uu)
(cd etc.vax; install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${PCS} \
${DESTDIR}/)
.endif # DESTDIR check
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
#EXTRA_KERNELS+=

View File

@ -1,27 +1,10 @@
# $NetBSD: Makefile.inc,v 1.5 1999/01/03 14:49:39 minoura Exp $
# $NetBSD: Makefile.inc,v 1.6 1999/02/05 03:01:54 cjs Exp $
#
# etc.x68k/Makefile.inc -- x68k-specific etc Makefile targets
#
.ifdef DESTDIR
# Set this for any kernels beyond GENERIC you want to include
# in the distribution.
EXTRA_KERNELS+= SMALL
LOCALTIME= Japan
# the regular expression does a basename(1) on .CURDIR so that we don't
# have to keep looking up .. at compile time.
KERNSRCDIR?= ${.CURDIR:C/[^\/]+$//}sys
KERNOBJDIR?= ${KERNSRCDIR}/arch/${MACHINE}/compile
KERNCONFDIR?= ${KERNSRCDIR}/arch/${MACHINE}/conf
snap_md:
.for kernel in GENERIC SMALL
cd ${KERNCONFDIR} && config \
-b ${KERNOBJDIR}/${kernel} \
-s ${KERNSRCDIR} \
${kernel}
cd ${KERNOBJDIR}/${kernel} && \
${MAKE} clean && ${MAKE} depend && ${MAKE} && \
gzip -c -9 netbsd > ${DESTDIR}/snapshot/netbsd.${kernel}.gz
.endfor
.endif # DESTDIR check