From 3c55ed7092e869cf0b84155462485dba2821069b Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" Date: Fri, 8 Jan 2010 19:01:50 +0000 Subject: [PATCH] To avoid hardcoding further kernel configuration names for make universe, split the logic into two parts: - 1st to build worlds and generate kernel configs like LINT. - 2nd to build kernels for a given TARGET architecture correctly finding all newly generated configs, not knowing anything about LINT anymore. (*) (*) If you know better/cleaner/... ways to do this, let me know. Discussed on/with: arch, jhb, rwatson MFC after: 1 month --- Makefile | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index ebaeb6d49c68..e7c4c5fe0860 100644 --- a/Makefile +++ b/Makefile @@ -278,7 +278,7 @@ tinderbox: # with a reasonable chance of success, regardless of how old your # existing system is. # -.if make(universe) || make(tinderbox) +.if make(universe) || make(universe_kernels) || make(tinderbox) TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v .if defined(DOING_TINDERBOX) @@ -297,10 +297,6 @@ universe_prologue: rm -f ${FAILFILE} .endif .for target in ${TARGETS} -KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \ - find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \ - ! -name DEFAULTS ! -name LINT -KERNCONFS:= ${KERNCONFS:S/^NOTES$/LINT/} universe: universe_${target} .ORDER: universe_prologue universe_${target} universe_epilogue universe_${target}: @@ -320,16 +316,25 @@ universe_${target}: (echo "${target} 'make LINT' failed," \ "check _.${target}.makeLINT for details"| ${MAKEFAIL})) .endif + @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} TARGET=${target} \ + universe_kernels + @echo ">> ${target} completed on `LC_ALL=C date`" +.endfor +universe_kernels: universe_kernconfs +BUILD_ARCH!= uname -p +TARGET?= ${BUILD_ARCH} +KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \ + find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \ + ! -name DEFAULTS ! -name NOTES +universe_kernconfs: .for kernel in ${KERNCONFS} @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ ${MAKE} ${JFLAG} buildkernel \ - TARGET=${target} \ + TARGET=${TARGET} \ KERNCONF=${kernel} \ - > _.${target}.${kernel} 2>&1 || \ - (echo "${target} ${kernel} kernel failed," \ - "check _.${target}.${kernel} for details"| ${MAKEFAIL})) -.endfor - @echo ">> ${target} completed on `LC_ALL=C date`" + > _.${TARGET}.${kernel} 2>&1 || \ + (echo "${TARGET} ${kernel} kernel failed," \ + "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL})) .endfor universe: universe_epilogue universe_epilogue: