svn commit: r294354 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Tue Jan 19 22:42:08 UTC 2016


Author: bdrewery
Date: Tue Jan 19 22:42:07 2016
New Revision: 294354
URL: https://svnweb.freebsd.org/changeset/base/294354

Log:
  bsd.subdir.mk: Allow easier modification of [STANDALONE_]SUBDIR_TARGETS.
  
  This reworks r289254 and removes ALL_SUBDIR_TARGETS.
  
  Because there is an include guard in this file there is no need for
  LOCAL_ or ?= on SUBDIR_TARGETS or STANDALONE_SUBDIR_TARGETS.  These can
  just be set via src.conf.  By the time bsd.subdir.mk is included it will
  just append the values to the existing value and work fine.  This allows
  a consistent way to append to these variables without introducing a
  LOCAL_ var for STANDALONE_SUBDIR_TARGETS or renaming the historical
  SUBDIR_TARGETS.
  
  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	Tue Jan 19 22:42:04 2016	(r294353)
+++ head/share/mk/bsd.subdir.mk	Tue Jan 19 22:42:07 2016	(r294354)
@@ -25,27 +25,30 @@
 # 		This is a variant of install, which will
 # 		put the stuff into the right "distribution".
 #
-# 	See ALL_SUBDIR_TARGETS for list of targets that will recurse.
-# 	Custom targets can be added to SUBDIR_TARGETS in src.conf.
+# 	See SUBDIR_TARGETS for list of targets that will recurse.
 #
 # 	Targets defined in STANDALONE_SUBDIR_TARGETS will always be ran
 # 	with SUBDIR_PARALLEL and will not respect .WAIT or SUBDIR_DEPEND_
 # 	values.
 #
+# 	SUBDIR_TARGETS and STANDALONE_SUBDIR_TARGETS can be appended to
+# 	via make.conf or src.conf.
+#
 
 .if !target(__<bsd.subdir.mk>__)
 __<bsd.subdir.mk>__:
 
-ALL_SUBDIR_TARGETS= all all-man buildconfig buildfiles buildincludes \
-		    checkdpadd clean cleandepend cleandir cleanilinks \
-		    cleanobj depend distribute files includes installconfig \
-		    installfiles installincludes realinstall lint maninstall \
-		    manlint obj objlink regress tags \
-		    ${SUBDIR_TARGETS}
+SUBDIR_TARGETS+= \
+		all all-man buildconfig buildfiles buildincludes \
+		checkdpadd clean cleandepend cleandir cleanilinks \
+		cleanobj depend distribute files includes installconfig \
+		installfiles installincludes realinstall lint maninstall \
+		manlint obj objlink regress tags \
 
 # Described above.
-STANDALONE_SUBDIR_TARGETS?= obj checkdpadd clean cleandepend cleandir \
-			    cleanilinks cleanobj installconfig
+STANDALONE_SUBDIR_TARGETS+= \
+		obj checkdpadd clean cleandepend cleandir \
+		cleanilinks cleanobj installconfig \
 
 .include <bsd.init.mk>
 
@@ -115,7 +118,7 @@ ${SUBDIR:N.WAIT}: .PHONY .MAKE
 	    dir=${.TARGET}; \
 	    ${_SUBDIR_SH};
 
-.for __target in ${ALL_SUBDIR_TARGETS}
+.for __target in ${SUBDIR_TARGETS}
 # Only recurse on directly-called targets.  I.e., don't recurse on dependencies
 # such as 'install' becoming {before,real,after}install, just recurse
 # 'install'.  Despite that, 'realinstall' is special due to ordering issues
@@ -154,12 +157,12 @@ ${__target}: ${__subdir_targets}
 ${__target}: _SUBDIR
 .endif	# SUBDIR_PARALLEL || _is_standalone_target
 .endif	# make(${__target})
-.endfor	# __target in ${ALL_SUBDIR_TARGETS}
+.endfor	# __target in ${SUBDIR_TARGETS}
 
 .endif	# !target(_SUBDIR)
 
 # Ensure all targets exist
-.for __target in ${ALL_SUBDIR_TARGETS}
+.for __target in ${SUBDIR_TARGETS}
 .if !target(${__target})
 ${__target}:
 .endif


More information about the svn-src-head mailing list