Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/Makefile,v rcsdiff: /ftp/cvs/cvsroot/src/Makefile,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.289 retrieving revision 1.289.2.3 diff -u -p -r1.289 -r1.289.2.3 --- src/Makefile 2011/09/09 14:23:37 1.289 +++ src/Makefile 2012/10/30 18:46:03 1.289.2.3 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.289 2011/09/09 14:23:37 apb Exp $ +# $NetBSD: Makefile,v 1.289.2.3 2012/10/30 18:46:03 yamt Exp $ # # This is the top-level makefile for building NetBSD. For an outline of @@ -48,7 +48,7 @@ # installworld: # Install the distribution from DESTDIR to INSTALLWORLDDIR (which # defaults to the root directory). Ensures that INSTALLWORLDDIR -# is the not root directory if cross compiling. +# is not the root directory if cross compiling. # release: # Does a `make distribution', and then tars up the DESTDIR files # into ${RELEASEDIR}/${RELEASEMACHINEDIR}, in release(7) format. @@ -71,6 +71,16 @@ # Create CD-ROM image with source in RELEASEDIR/iso. # RELEASEDIR must already have been populated by # `make release sourcesets' or equivalent. +# live-image: +# Create bootable live image for emulators or USB stick etc. +# in RELEASEDIR/liveimage. +# RELEASEDIR must already have been populated by `make release' +# or equivalent. +# install-image: +# Create bootable installation image for USB stick etc. +# in RELEASEDIR/installimage. +# RELEASEDIR must already have been populated by `make release' +# or equivalent. # # Targets invoked by `make build,' in order: # cleandir: cleans the tree. @@ -82,27 +92,9 @@ # includes: installs include files. # do-tools-compat: builds the "libnbcompat" library; needed for some # random host tool programs in the source tree. -# do-lib-csu: builds and installs prerequisites from lib/csu. -# do-libgcc: builds and installs prerequisites from -# gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and -# gnu/lib/libgcc${LIBGCC_EXT}. -# do-libpcc: builds and install prerequisites from -# external/bsd/pcc/crtstuff (if necessary) and -# external/bsd/pcc/libpcc. -# do-lib-libc: builds and installs prerequisites from lib/libc. -# do-lib: builds and installs prerequisites from lib. -# do-sys-rump-dev-lib: builds and installs prerequisites from sys/rump/dev/lib -# do-sys-rump-fs-lib: builds and installs prerequisites from sys/rump/fs/lib -# do-sys-rump-kern-lib: builds and installs prereq. from sys/rump/kern/lib -# do-sys-rump-net-lib: builds and installs prerequisites from sys/rump/net/lib -# do-sys-modules: builds and installs kernel modules (used by rump binaries) -# do-ld.so: builds and installs prerequisites from libexec/ld.*_so. -# do-compat-lib-csu: builds and installs prerequisites from compat/lib/csu +# do-lib: builds and installs prerequisites from lib # if ${MKCOMPAT} != "no". -# do-compat-libgcc: builds and installs prerequisites from -# compat/gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and -# compat/gnu/lib/libgcc${LIBGCC_EXT} if ${MKCOMPAT} != "no". -# do-compat-lib-libc: builds and installs prerequisites from compat/lib/libc +# do-compat-lib: builds and installs prerequisites from compat/lib # if ${MKCOMPAT} != "no". # do-build: builds and installs the entire system. # do-x11: builds and installs X11 if ${MKX11} != "no"; either @@ -178,20 +170,27 @@ afterinstall: .PHONY .MAKE .endif _POSTINSTALL= ${.CURDIR}/usr.sbin/postinstall/postinstall +_POSTINSTALL_ENV= \ + AWK=${TOOL_AWK:Q} \ + DB=${TOOL_DB:Q} \ + HOST_SH=${HOST_SH:Q} \ + MAKE=${MAKE:Q} \ + PWD_MKDB=${TOOL_PWD_MKDB:Q} \ + STAT=${TOOL_STAT:Q} postinstall-check: .PHONY @echo " === Post installation checks ===" - AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ check; if [ $$? -gt 1 ]; then exit 1; fi + ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ check; if [ $$? -gt 1 ]; then exit 1; fi @echo " ================================" postinstall-fix: .NOTMAIN .PHONY @echo " === Post installation fixes ===" - AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix + ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix @echo " ===============================" postinstall-fix-obsolete: .NOTMAIN .PHONY @echo " === Removing obsolete files ===" - AWK=${TOOL_AWK:Q} MAKE=${MAKE:Q} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix obsolete + ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix obsolete @echo " ===============================" @@ -233,27 +232,8 @@ BUILDTARGETS+= do-distrib-dirs .if !defined(NOINCLUDES) BUILDTARGETS+= includes .endif -BUILDTARGETS+= do-tools-compat -BUILDTARGETS+= do-lib-csu -.if ${MKGCC} != "no" -BUILDTARGETS+= do-libgcc -.endif -.if ${MKPCC} != "no" -BUILDTARGET+= do-libpcc -.endif -BUILDTARGETS+= do-lib-libc BUILDTARGETS+= do-lib -.if ${MKKMOD} != "no" -BUILDTARGETS+= do-sys-modules -.endif -BUILDTARGETS+= do-sys-rump-dev-lib do-sys-rump-fs-lib -BUILDTARGETS+= do-sys-rump-kern-lib do-sys-rump-net-lib -.if ${MKCOMPAT} != "no" -BUILDTARGETS+= do-compat-lib-csu -BUILDTARGETS+= do-compat-libgcc -BUILDTARGETS+= do-compat-lib-libc -.endif -BUILDTARGETS+= do-ld.so +BUILDTARGETS+= do-compat-lib BUILDTARGETS+= do-build .if ${MKX11} != "no" BUILDTARGETS+= do-x11 @@ -402,6 +382,24 @@ iso-image-source: .PHONY @printf "make ${.TARGET} finished at: " && date # +# Create bootable live images. +# + +live-image: .PHONY + ${MAKEDIRTARGET} etc live-image + @echo "make ${.TARGET} started at: ${START_TIME}" + @printf "make ${.TARGET} finished at: " && date + +# +# Create bootable installation images. +# + +install-image: .PHONY + ${MAKEDIRTARGET} etc install-image + @echo "make ${.TARGET} started at: ${START_TIME}" + @printf "make ${.TARGET} finished at: " && date + +# # Special components of the "make build" process. # @@ -434,32 +432,18 @@ do-${targ}: .PHONY ${targ} @true .endfor -.if defined(HAVE_GCC) -.if ${USE_COMPILERCRTSTUFF} == "yes" -BUILD_CC_LIB= ${BUILD_CC_LIB_BASEDIR}/crtstuff${LIBGCC_EXT} -.endif -BUILD_CC_LIB+= ${BUILD_CC_LIB_BASEDIR}/libgcc${LIBGCC_EXT} -.elif defined(HAVE_PCC) -BUILD_CC_LIB+= external/bsd/pcc/crtstuff -BUILD_CC_LIB+= external/bsd/pcc/libpcc -.endif - -.for dir in tools tools/compat lib/csu ${BUILD_CC_LIB} lib/libc lib sys/rump/dev/lib sys/rump/fs/lib sys/rump/kern/lib sys/rump/net/lib sys/modules +.for dir in tools tools/compat do-${dir:S/\//-/g}: .PHONY .MAKE .for targ in dependall install ${MAKEDIRTARGET} ${dir} ${targ} .endfor .endfor -.if ${MKCOMPAT} != "no" -COMPAT_SUBDIR_LIST=lib/csu ${BUILD_CC_LIB} lib/libc -.for dir in ${COMPAT_SUBDIR_LIST} -do-compat-${dir:S/\//-/g}: .PHONY .MAKE -.for targ in dependall install - ${MAKEDIRTARGET} compat ${targ} BOOTSTRAP_SUBDIRS="../../../${dir}" -.endfor -.endfor -.endif +do-lib: .PHONY .MAKE + ${MAKEDIRTARGET} lib build_install + +do-compat-lib: .PHONY .MAKE + ${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../lib" do-top-obj: .PHONY .MAKE ${MAKEDIRTARGET} . obj NOSUBDIR= @@ -467,41 +451,6 @@ do-top-obj: .PHONY .MAKE do-tools-obj: .PHONY .MAKE ${MAKEDIRTARGET} tools obj -do-libgcc: .PHONY .MAKE -.if defined(HAVE_GCC) -.if ${MKGCC} != "no" -.if ${USE_COMPILERCRTSTUFF} == "yes" - ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT} -.endif - ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT} -.endif -.endif - -do-compat-libgcc: .PHONY .MAKE -.if defined(HAVE_GCC) -.if ${MKGCC} != "no" -.if ${USE_COMPILERCRTSTUFF} == "yes" - ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT} -.endif - ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT} -.endif -.endif - -do-libpcc: .PHONY .MAKE -.if defined(HAVE_PCC) -.if ${MKPCC} != "no" -.if ${USE_COMPILERCRTSTUFF} == "yes" - ${MAKEDIRTARGET} . do-pcc-lib-crtstuff -.endif - ${MAKEDIRTARGET} . do-pcc-lib-libpcc -.endif -.endif - -do-ld.so: .PHONY .MAKE -.for targ in dependall install - ${MAKEDIRTARGET} libexec/ld.elf_so ${targ} -.endfor - do-build: .PHONY .MAKE .for targ in dependall install ${MAKEDIRTARGET} . ${targ} BUILD_tools=no BUILD_lib=no @@ -535,7 +484,7 @@ do-obsolete: .PHONY .MAKE # (Tells not to recurse for them.) # -.for dir in bin etc distrib games libexec regress sbin usr.sbin tools +.for dir in bin etc distrib games libexec regress sbin usr.bin usr.sbin tools includes-${dir}: .PHONY @true .endfor