On Thursday, February 10, 2011 8:22:00 am Bjoern A. Zeeb wrote: > On Thu, 10 Feb 2011, John Baldwin wrote: > > > 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. > > Should also go to build(7). Ok. > > # 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 > > You lost th JFLAG again that you had lately added. On purpose? It was redundant. The JFLAG was already being passed via MAKEOPTIONS. > > +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 > > Not sure that's ideal but ok for a start; Eventually someone could think > that UNIVERSE_TARGET=kernels could replace the MAKE_JUST_KERNELS=yes. > With the current logic that however is almost impossible to do. > Call it UNIVERSE_WORLD_TARGET? Actually, I would love to have a 'kernels' target and use 'make UNIVERSE_TARGET=kernels universe' to replace MAKE_JUST_KERNELS, but the kernel build stuff is quite convoluted. One could though do something like 'make UNIVERSE_TARGET=buildkernel' assuming that 'make buildkernel' always chose a suitable KERNCONF (I'm betting it doesn't on powerpc64), so it's not strictly speaking just for world targets. I think the main idea is that if UNIVERSE_TARGET is set, only that step is done for all targets. Otherwise the default action is to build world + kernels for all targets. In that case having it be UNIVERSE_TARGET makes sense I think. -- John BaldwinReceived on Thu Feb 10 2011 - 13:09:13 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:11 UTC