Move PROGS logic to proper place and remove redundant and unneeded logic.

- bsd.progs.mk is safe to include regardless of PROGS/PROGS_CXX/SCRIPTS
  being set.
- bsd.progs.mk includes bsd.prog.mk always and will bring in
  bsd.files.mk and bsd.obj.mk.
- DIRDEPS_BUILD: There's no need for _SKIP_BUILD or _SKIP_STAGING as the
  PROGS were implicitly being built by the staging dependency anyway.  This
  was also preventing other objects from building if they were not part of
  the staging sets.
- DIRDEPS_BUILD: This fixes PROGS without bsd.test.mk not staging.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Bryan Drewery 2016-02-26 22:13:52 +00:00
parent db74470bff
commit 342863e712
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=296122
2 changed files with 8 additions and 26 deletions

View File

@ -59,11 +59,19 @@ all: ${PROGS}
# We cannot capture dependencies for meta mode here
UPDATE_DEPENDFILE = NO
.if ${MK_STAGING} != "no"
.if !empty(PROGS)
stage_files.prog: ${PROGS}
.endif
.endif # ${MK_STAGING} != "no"
.endif
.endif # PROGS || PROGS_CXX
# These are handled by the main make process.
.ifdef _RECURSING_PROGS
MK_STAGING= no
_PROGS_GLOBAL_VARS= CLEANFILES CLEANDIRS CONFGROUPS FILESGROUPS INCSGROUPS \
SCRIPTS
.for v in ${_PROGS_GLOBAL_VARS}

View File

@ -93,30 +93,4 @@ beforecheck realcheck aftercheck check: .PHONY
.ORDER: beforecheck realcheck aftercheck
check: beforecheck realcheck aftercheck
.ifdef PROG
# we came here via bsd.progs.mk below
# parent will do staging.
MK_STAGING= no
.endif
.if !empty(PROGS) || !empty(PROGS_CXX) || !empty(SCRIPTS)
.include <bsd.progs.mk>
.endif
.include <bsd.files.mk>
.if !defined(PROG) && ${MK_STAGING} != "no"
.if !defined(_SKIP_BUILD)
# this will handle staging if needed
_SKIP_STAGING= no
# but we don't want it to build anything
_SKIP_BUILD=
.endif
.if !empty(PROGS)
stage_files.prog: ${PROGS}
.endif
.include <bsd.prog.mk>
.endif
.if !target(objwarn)
.include <bsd.obj.mk>
.endif