From 7b87723296340fc674dc7bc5b3b9dfebabb0df15 Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Wed, 14 Oct 2015 02:37:30 +0000 Subject: [PATCH] Replace the out-of-place includes/files/config handling in bsd.subdir.mk with more typical ALL_SUBDIR_TARGETS entries and target hooks in bsd.incs.mk, bsd.files.mk and bsd.confs.mk. This allows the targets to be NOPs if unneeded and still work with the shortcut 'make includes' to build and then install in a parallel-safe manner. Sort and re-indent the ALL_SUBDIR_TARGETS with the new entries. Sponsored by: EMC / Isilon Storage Division --- share/mk/bsd.confs.mk | 3 +++ share/mk/bsd.files.mk | 3 +++ share/mk/bsd.incs.mk | 3 +++ share/mk/bsd.subdir.mk | 26 ++++++-------------------- 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/share/mk/bsd.confs.mk b/share/mk/bsd.confs.mk index 0750a4e4fa5..bcc36bc18e6 100644 --- a/share/mk/bsd.confs.mk +++ b/share/mk/bsd.confs.mk @@ -84,4 +84,7 @@ STAGE_TARGETS+= stage_config .endif .endif +config: buildconfig installconfig +.ORDER: buildconfig installconfig + .endif # ${MK_INCLUDES} != "no" diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index b9379d92b59..d1d3263c444 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -94,4 +94,7 @@ buildfiles: stage_as .endif .endif +files: buildfiles installfiles +.ORDER: buildfiles installfiles + .endif # !target(____) diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk index e1398c95dcd..c985668c7c4 100644 --- a/share/mk/bsd.incs.mk +++ b/share/mk/bsd.incs.mk @@ -99,4 +99,7 @@ STAGE_SYMLINKS.INCS= ${INCSLINKS} .endif .endif +includes: buildincludes installincludes +.ORDER: buildincludes installincludes + .endif # ${MK_INCLUDES} != "no" diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index 8afe40a693b..e4c3e69d1c2 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -32,9 +32,12 @@ .if !target(____) ____: -ALL_SUBDIR_TARGETS= all all-man checkdpadd clean cleandepend cleandir \ - cleanilinks cleanobj depend distribute lint maninstall manlint obj \ - objlink realinstall regress tags ${SUBDIR_TARGETS} +ALL_SUBDIR_TARGETS= all all-man buildconfig buildfiles buildincludes \ + checkdpadd clean cleandepend cleandir cleanilinks \ + cleanobj config depend distribute files includes \ + installconfig installfiles installincludes lint \ + maninstall manlint obj objlink realinstall regress tags \ + ${SUBDIR_TARGETS} .include @@ -123,23 +126,6 @@ _sub.${__target}: _SUBDIR .endif .endfor -# This is to support 'make includes' calling 'make buildincludes' and -# 'make installincludes' in the proper order, and to support these -# targets as SUBDIR_TARGETS. -.for __target in files includes config -.for __stage in build install -${__stage}${__target}: -.if make(${__stage}${__target}) -${__stage}${__target}: _sub.${__stage}${__target} -_sub.${__stage}${__target}: _SUBDIR -.endif -.endfor -.if !target(${__target}) -${__target}: .MAKE - ${_+_}cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target} -.endif -.endfor - .endif .if !target(install)