svn commit: r209916 - projects/ppc64

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sun Jul 11 22:48:56 UTC 2010


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," \


More information about the svn-src-projects mailing list