This patch adds a 'make toolchains' target that invokes 'make toolchain' for each target. The use case I want it for is a cheaper way to just test kernels via make tinderbox so I can do: make toolchains make MAKE_JUST_KERNELS=yes tinderbox It is implemented by adding a new frob to tweak the target that make universe builds for the world stage of universe (UNIVERSE_TARGET). If that frob is set, then the kernel build step for a universe is skipped. With this, the toolchains target is a simple wrapper for: make UNIVERSE_TARGET=toolchains universe Index: Makefile =================================================================== --- Makefile (revision 218481) +++ Makefile (working copy) _at__at_ -30,6 +30,7 _at__at_ # delete-old-libs - Delete obsolete libraries. # targets - Print a list of supported TARGET/TARGET_ARCH pairs # for world and kernel targets. +# toolchains - Build a toolchain for all world and kernel targets. # # This makefile is simple by design. The FreeBSD make automatically reads # the /usr/share/mk/sys.mk unless the -m argument is specified on the _at__at_ -307,9 +308,11 _at__at_ make: .PHONY ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR= tinderbox: - _at_cd ${.CURDIR} && \ - DOING_TINDERBOX=YES ${MAKE} JFLAG=${JFLAG} universe + _at_cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe +toolchains: + _at_cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe + # # universe # _at__at_ -328,6 +331,12 _at__at_ TARGET_ARCHES_sun4v?= sparc64 TARGET_ARCHES_${target}?= ${target} .endfor +.if defined(UNIVERSE_TARGET) +MAKE_JUST_WORLDS= YES +.else +UNIVERSE_TARGET?= buildworld +.endif + targets: _at_echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets" .for target in ${TARGETS} _at__at_ -361,16 +370,16 _at__at_ universe_${target}_prologue: .for target_arch in ${TARGET_ARCHES_${target}} universe_${target}: universe_${target}_${target_arch} universe_${target}_${target_arch}: universe_${target}_prologue - _at_echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`" + _at_echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`" _at_(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ - ${MAKE} ${JFLAG} buildworld \ + ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \ TARGET=${target} \ TARGET_ARCH=${target_arch} \ - > _.${target}.${target_arch}.buildworld 2>&1 || \ - (echo "${target}.${target_arch} world failed," \ - "check _.${target}.${target_arch}.buildworld for details" | \ + > _.${target}.${target_arch}.${UNIVERSE_TARGET} 2>&1 || \ + (echo "${target}.${target_arch} ${UNIVERSE_TARGET} failed," \ + "check _.${target}.${target_arch}.${UNIVERSE_TARGET} for details" | \ ${MAKEFAIL})) - _at_echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C date`" + _at_echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`" .endfor .endif .if !defined(MAKE_JUST_WORLDS) -- John BaldwinReceived on Thu Feb 10 2011 - 12:13:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:11 UTC