Date: Mon, 3 Jun 2013 16:25:56 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: Navdeep Parhar <nparhar@gmail.com> Cc: freebsd-hackers@freebsd.org, sjg@juniper.net Subject: Re: UNIVERSE_TARGET doesn't seem to work Message-ID: <20130603232556.B196958097@chaos.jnpr.net> In-Reply-To: <51AD0702.2060802@gmail.com> References: <20130531014320.GA22257@itx> <51AD0702.2060802@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 3 Jun 2013 14:13:38 -0700, Navdeep Parhar writes: >On 05/30/13 18:43, Navdeep Parhar wrote: >> I build kernel-toolchain and MAKE_JUST_KERNELS (often with NO_CLEAN, but >> not this time) as part of my pre-commit checklist. It doesn't seem to >> work after the switch to bmake. What am I missing? This on a system >> at r251171 with nothing in make.conf or src.conf: >> >> # make -j12 universe UNIVERSE_TARGET=kernel-toolchain >> --- universe_prologue --- So not so much conflicting dependencies, but bmake seems to not like .ORDER and explicit dependencies that effectively say the same thing. That is since there is an explicit dependency: universe_${target}: universe_${target}_prologue it shouldn't be necessary to also express that in the .ORDER This is probably a bug, but identifying exactly where and a fix could take a while. Moving the .ORDER out of the loop like: @@ -373,9 +373,10 @@ .if defined(DOING_TINDERBOX) @rm -f ${FAILFILE} .endif +.ORDER: universe_prologue upgrade_checks universe_targets universe_epilogue .for target in ${TARGETS} universe: universe_${target} -.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue +universe_targets: universe_${target} universe_${target}: universe_${target}_prologue universe_${target}_prologue: @echo ">> ${target} started on `LC_ALL=C date`" would seem to make sense, but fmake runs universe_epilogue too early (which is also a bug). Thus the simplest patch which avoids an error and works for both bmake and fmake is: Index: Makefile =================================================================== --- Makefile (revision 250971) +++ Makefile (working copy) @@ -375,7 +375,7 @@ .endif .for target in ${TARGETS} universe: universe_${target} -.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue +.ORDER: universe_prologue upgrade_checks universe_${target} universe_epilogue universe_${target}: universe_${target}_prologue universe_${target}_prologue: @echo ">> ${target} started on `LC_ALL=C date`"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130603232556.B196958097>