diff options
author | phk <phk@FreeBSD.org> | 2002-09-26 04:40:54 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-09-26 04:40:54 +0000 |
commit | 58b4c8ef8262d91211ca71f1217416841e3bed3b (patch) | |
tree | ac4cf594b59feb85af7d29d00a80f3c516c635be /Makefile | |
parent | d6f7c28f2bf07e1b7dc0e285cf358a6bc0bddacc (diff) | |
download | FreeBSD-src-58b4c8ef8262d91211ca71f1217416841e3bed3b.zip FreeBSD-src-58b4c8ef8262d91211ca71f1217416841e3bed3b.tar.gz |
Add "make universe" target which:
for each arch i386 sparc64 alpha ia64
make buildworld TARGET_ARCH=$arch
if NOTES found
make LINT
foreach kern ${arch}/conf/[A-Z0-9]*
make buildkernel TARGET_ARCH=$arch KERNCONF=$kern
Errors from the individual steps are ignored and the stdout+stderr
are saved in distinct files in root of the source tree with names
like: _.${arch}.${target}
On my dual 1.6G Athlon it takes roughly four hours to run this target.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -3,6 +3,8 @@ # # The user-driven targets are: # +# universe - *Really* build *everything*: Buildworld and +# all kernels on all architectures. # buildworld - Rebuild *everything*, including glue to help do # upgrades. # installworld - Install everything built by "buildworld". @@ -213,3 +215,39 @@ upgrade: aout-to-elf ${UPGRADE} : upgrade_checks @cd ${.CURDIR}; \ ${MAKE} -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET} + + +universe: + @echo "--------------------------------------------------------------" + @echo ">>> make universe started on ${STARTTIME}" + @echo "--------------------------------------------------------------" +.for arch in i386 sparc64 alpha ia64 + @printf ">> ${arch} started on `LC_ALL=C date`\n" + -cd ${.CURDIR} && make ${JFLAG} buildworld TARGET_ARCH=${arch} \ + __MAKE_CONF=/dev/null \ + > _.${arch}.buildworld 2>&1 + @printf ">> ${arch} buildworld ended on `LC_ALL=C date`\n" +.if exists(sys/${arch}/conf/NOTES) + cd ${.CURDIR}/sys/${arch}/conf && make LINT \ + > _.${arch}.makeLINT 2>&1 +.endif + cd ${.CURDIR} && make buildkernels TARGET_ARCH=${arch} JFLAG="${JFLAG}" + @printf ">> ${arch} ended on `LC_ALL=C date`\n" +.endfor + @echo "--------------------------------------------------------------" + @printf ">>> make universe completed on `LC_ALL=C date`\n (started ${STARTTIME})\n" + @echo "--------------------------------------------------------------" + +KERNCONFS != echo ${.CURDIR}/sys/${TARGET_ARCH}/conf/[A-Z]* +KERNCONF2 = ${KERNCONFS:T:N*[a-z]*:NCVS:NNOTES} + +buildkernels: +.for kernel in ${KERNCONF2} +.if exists(${.CURDIR}/sys/${TARGET_ARCH}/conf/${kernel}) + -cd ${.CURDIR} && make ${JFLAG} buildkernel \ + TARGET_ARCH=${TARGET_ARCH} KERNCONF=${kernel} \ + __MAKE_CONF=/dev/null \ + > _.${TARGET_ARCH}.${kernel} 2>&1 +.endif +.endfor + |