Author: bdrewery
Date: Wed Oct 21 00:25:18 2015
New Revision: 289669
URL: https://svnweb.freebsd.org/changeset/base/289669

Log:
  Fix building in a directory with SUBDIRs and SUBDIR_PARALLEL.
  
  The SUBDIR_PARALLEL feature uses a .for dir in ${SUBDIR} loop.  The old code
  here for recursing was setting SUBDIR= as a make *argument*.  The SUBDIR=
  replacement was not actually handled until after the .for loop was unrolled.
  This could be seen with a '.info ${SUBDIR} ${dir}' inside of the loop which
  showed an empty ${SUBDIR} and a set ${dir}.  Setting NO_SUBIDR= before calling
  ${MAKE} as an *environment* variable handles the case fine and is a more
  proper mechanism for disabling subdir handling.
  
  This could be seen with 'make -C tests/sys/kern -j15 SUBDIR_PARALLEL=yes'.
  
  MFC after:    2 weeks
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.progs.mk

Modified: head/share/mk/bsd.progs.mk
==============================================================================
--- head/share/mk/bsd.progs.mk  Tue Oct 20 23:52:37 2015        (r289668)
+++ head/share/mk/bsd.progs.mk  Wed Oct 21 00:25:18 2015        (r289669)
@@ -116,16 +116,16 @@ x.$p= PROG_CXX=$p
 $p ${p}_p: .PHONY .MAKE
        (cd ${.CURDIR} && \
            DEPENDFILE=.depend.$p \
-           ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
-           SUBDIR= PROG=$p ${x.$p})
+           NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
+           PROG=$p ${x.$p})
 
 # Pseudo targets for PROG, such as 'install'.
 .for t in ${PROGS_TARGETS:O:u}
 $p.$t: .PHONY .MAKE
        (cd ${.CURDIR} && \
            DEPENDFILE=.depend.$p \
-           ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
-           SUBDIR= PROG=$p ${x.$p} ${@:E})
+           NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
+           PROG=$p ${x.$p} ${@:E})
 .endfor
 .endfor
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to