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). Patch for this. It documents the previously undocumented variables for 'make universe' and also describes UNIVERSE_TARGET: Index: build.7 =================================================================== --- build.7 (revision 218481) +++ build.7 (working copy) _at__at_ -218,13 +218,14 _at__at_ on how to make it start at boot time. Create the build toolchain needed to build the rest of the system. For cross-architecture builds, this step creates a cross-toolchain. .It Cm universe -Execute a +For each architecture, +execute a .Cm buildworld -and +followed by a .Cm buildkernel -for all kernels including -.Pa LINT , -for each architecture supported by the build system. +for all kernels for that architecture, +including +.Pa LINT . This command takes a long time. .It Cm update Get updated sources as configured in _at__at_ -240,6 +241,8 _at__at_ Execute the same targets as .Cm universe . In addition print a summary of all failed targets at the end and exit with an error if there were any. +.It Cm toolchains +Create a build toolchain for each architecture supported by the build system. .El .Pp Kernel specific build targets in _at__at_ -508,6 +511,29 _at__at_ If set, restricts the documentation build to the l specified as its content. The default action is to build documentation for all languages. .El +.Pp +Builds using the +.Cm universe +target are influenced by the following +.Xr make 1 +variables: +.Bl -tag -width ".Va MAKE_JUST_KERNELS" +.It Va JFLAG +Pass the value of this variable to each +.Xr make 1 +invocation used to build worlds and kernels. +This can be used to enable multiple jobs within a single architecture's build +while still building each architecture serially. +.It Va MAKE_JUST_KERNELS +Only build kernels for each supported architecture. +.It Va MAKE_JUST_WORLDS +Only build worlds for each supported architecture. +.It Va UNIVERSE_TARGET +Execute the specified +.Xr make 1 +target for each supported architecture instead of the default action of +building a world and one or more kernels. +.El .Sh FILES .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /usr/doc/Makefile -- John BaldwinReceived on Thu Feb 10 2011 - 14:06:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:11 UTC