aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2002-09-26 04:40:54 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2002-09-26 04:40:54 +0000
commit77c1699f0c45f83f5d32870cd48dcbb57c9ad754 (patch)
treeac4cf594b59feb85af7d29d00a80f3c516c635be /Makefile
parent2a96b2d69fa84970ae0c8c6fe2516b91ddb50d32 (diff)
downloadsrc-77c1699f0c45f83f5d32870cd48dcbb57c9ad754.tar.gz
src-77c1699f0c45f83f5d32870cd48dcbb57c9ad754.zip
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.
Notes
Notes: svn path=/head/; revision=103985
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile38
1 files changed, 38 insertions, 0 deletions
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
+