From c41b621878b69dc522ab283ea8e34850dca53d7d Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Fri, 25 Sep 2015 22:51:30 +0000 Subject: [PATCH] Explicitly enable .MAKE.ALWAYS_PASS_JOB_QUEUE for bmake. This is a NOP as r254419 enabled this by default in bmake. Add it here though to ensure it is known that we are using this as a default and in case a bmake import removes the default we have. This tells bmake to always pass job tokens into sub-commands. Otherwise it would only do so if the target being built depended on the special .MAKE target (which causes _all_ commands to be executed with -n as well) or if the command matches '${MAKE}/${.MAKE}/$(MAKE)/$(.MAKE)/make' (before expansion, so ${LIB32WMAKE} would not qualify). Using '+' on a command (which runs the command with -n) would not pass the job token even though it is a documented way to achieve the .MAKE effect on a command. Sponsored by: EMC / Isilon Storage Division --- share/mk/sys.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 041a1f8efe9..e8f4892cd99 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -394,6 +394,10 @@ SHELL= ${__MAKE_SHELL} # Tell bmake the makefile preference .MAKE.MAKEFILE_PREFERENCE= BSDmakefile makefile Makefile +# Tell bmake to always pass job tokens, regardless of target depending on +# .MAKE or looking like ${MAKE}/${.MAKE}/$(MAKE)/$(.MAKE)/make. +.MAKE.ALWAYS_PASS_JOB_QUEUE= yes + # By default bmake does *not* use set -e # when running target scripts, this is a problem for many makefiles here. # So define a shell that will do what FreeBSD expects.