Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Oct 2015 23:41:56 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r289778 - head/share/mk
Message-ID:  <201510222341.t9MNfuNK007465@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Thu Oct 22 23:41:56 2015
New Revision: 289778
URL: https://svnweb.freebsd.org/changeset/base/289778

Log:
  For SUBDIR_PARALLEL, when doing 'make clean*' or 'make obj' there is no need to
  respect SUBDIR_DEPEND_* or .WAIT.
  
  MFC after:	2 weeks
  Sponsored by:	EMC / Isilon Storage Division

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

Modified: head/share/mk/bsd.subdir.mk
==============================================================================
--- head/share/mk/bsd.subdir.mk	Thu Oct 22 23:08:08 2015	(r289777)
+++ head/share/mk/bsd.subdir.mk	Thu Oct 22 23:41:56 2015	(r289778)
@@ -83,6 +83,15 @@ ${SUBDIR:N.WAIT}: .PHONY .MAKE
 	    dir=${.TARGET}; \
 	    ${_SUBDIR_SH};
 
+# .WAIT and dependencies can be skipped for some targets.
+.if defined(SUBDIR_PARALLEL)
+.if make(obj) || make(clean*)
+_skip_subdir_ordering=	1
+SUBDIR:=	${SUBDIR:N.WAIT}
+.else
+_skip_subdir_ordering=	0
+.endif
+.endif	# defined(SUBDIR_PARALLEL)
 # Work around parsing of .if nested in .for by putting .WAIT string into a var.
 __wait= .WAIT
 .for __target in ${ALL_SUBDIR_TARGETS}
@@ -94,9 +103,11 @@ __subdir_targets+= .WAIT
 .else
 __subdir_targets+= ${__target}_subdir_${__dir}
 __deps=
+.if ${_skip_subdir_ordering} == 0
 .for __dep in ${SUBDIR_DEPEND_${__dir}}
 __deps+= ${__target}_subdir_${__dep}
 .endfor
+.endif
 ${__target}_subdir_${__dir}: .PHONY .MAKE ${__deps}
 .if !defined(NO_SUBDIR)
 	@${_+_}target=${__target:realinstall=install}; \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510222341.t9MNfuNK007465>