Subject: Re: Retiring NBUILDJOBS in favor of just using -j..
To: Bill Sommerfeld <sommerfeld@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-toolchain
Date: 04/29/2002 11:40:37
On Sun, Apr 28, 2002 at 03:58:45PM -0400, Bill Sommerfeld wrote:
> So, NBUILDJOBS was introduced a long time ago as a "hack" to allow
> partial parallelism -- because "make -jN" at the top level didn't do
> the right thing, only the "2nd level" makes (i.e., in lib, bin,
> usr.bin) etc., would be run in parallel.
>
> The changes I committed to make well over a year ago, and some of the
> makefile changes made since then remove the need for it -- you can
> just do a "make -jN build" at top level and the right thing happens.
>
> I'd like to make the following change to build.sh so build.sh -j
> passes the parallelism argument directly to the top-level make:
>
> --- build.sh 2002/04/18 01:38:11 1.56
> +++ build.sh 2002/04/28 19:50:52
> @@ -151,7 +151,7 @@
> -d) buildtarget=distribution;;
>
> -j) eval $optargcmd
> - MAKEFLAGS="$MAKEFLAGS NBUILDJOBS=$OPTARG"; export MAKEFLAGS;;
> + parallel="-j $OPTARG";;
>
> # -m overrides MACHINE_ARCH unless "-a" is specified
> -m) eval $optargcmd
> @@ -384,10 +384,10 @@
> $runcmd chmod +x "$makewrapper"
>
> if $do_buildsystem; then
> - ${runcmd-exec} "$makewrapper" $buildtarget
> + ${runcmd-exec} "$makewrapper" $parallel $buildtarget
> elif $do_buildonlytools; then
> if [ "$MKOBJDIRS" != "no" ]; then
> - $runcmd "$makewrapper" obj-tools || exit 1
> + $runcmd "$makewrapper" $parallel obj-tools || exit 1
> fi
> $runcmd cd tools
> if [ "$UPDATE" = "" ]; then
>
> .. and we can then remove the NBUILDJOBS logic from the top-level
> makefile.
Sure the NBUILDJOBS hack isn't needed any more. Please kill it
--
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr
--