From 77c1699f0c45f83f5d32870cd48dcbb57c9ad754 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Thu, 26 Sep 2002 04:40:54 +0000 Subject: [PATCH] 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. --- Makefile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Makefile b/Makefile index 6c08c5e2d07d..13116c28ac0b 100644 --- a/Makefile +++ b/Makefile @@ -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 +