Date: Sun, 11 Jul 2010 22:48:55 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r209916 - projects/ppc64 Message-ID: <201007112248.o6BMmtVh013502@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Sun Jul 11 22:48:55 2010 New Revision: 209916 URL: http://svn.freebsd.org/changeset/base/209916 Log: Teach make universe to possibly build multiple architecture's worth of worlds per target, and to use config -m to figure out which architecture should be used for a particular kernel. Modified: projects/ppc64/Makefile Modified: projects/ppc64/Makefile ============================================================================== --- projects/ppc64/Makefile Sun Jul 11 22:47:46 2010 (r209915) +++ projects/ppc64/Makefile Sun Jul 11 22:48:55 2010 (r209916) @@ -282,6 +282,12 @@ tinderbox: # .if make(universe) || make(universe_kernels) || make(tinderbox) TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v +TARGET_ARCHES_powerpc?= powerpc powerpc64 +TARGET_ARCHES_sun4v?= sparc64 +TARGET_ARCHES_pc98?= i386 +.for target in ${TARGETS} +TARGET_ARCHES_${target}?= ${target} +.endfor .if defined(DOING_TINDERBOX) FAILFILE=tinderbox.failed @@ -303,14 +309,19 @@ universe: universe_${target} .ORDER: universe_prologue universe_${target} universe_epilogue universe_${target}: .if !defined(MAKE_JUST_KERNELS) - @echo ">> ${target} started on `LC_ALL=C date`" +.for target_arch in ${TARGET_ARCHES_${target}} +universe_${target}: universe_${target}_${target_arch} +universe_${target}_${target_arch}: + @echo ">> ${target}/${target_arch} started on `LC_ALL=C date`" @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ ${MAKE} ${JFLAG} buildworld \ TARGET=${target} \ + TARGET_ARCH=${target_arch} \ > _.${target}.buildworld 2>&1 || \ (echo "${target} world failed," \ "check _.${target}.buildworld for details" | ${MAKEFAIL})) - @echo ">> ${target} buildworld completed on `LC_ALL=C date`" + @echo ">> ${target}/${target_arch} buildworld completed on `LC_ALL=C date`" +.endfor .endif .if !defined(MAKE_JUST_WORLDS) .if exists(${.CURDIR}/sys/${target}/conf/NOTES) @@ -333,9 +344,15 @@ KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/ ! -name DEFAULTS ! -name NOTES universe_kernconfs: .for kernel in ${KERNCONFS} +TARGET_ARCH_${kernel}!= cd ${.CURDIR}/sys/${TARGET}/conf && \ + config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \ + tail -n 1 | cut -f 2 +universe_kernconfs: universe_kernconf_${TARGET}_${kernel} +universe_kernconf_${TARGET}_${kernel}: @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ ${MAKE} ${JFLAG} buildkernel \ TARGET=${TARGET} \ + TARGET_ARCH=${TARGET_ARCH_${kernel}} \ KERNCONF=${kernel} \ > _.${TARGET}.${kernel} 2>&1 || \ (echo "${TARGET} ${kernel} kernel failed," \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007112248.o6BMmtVh013502>