Make bsd.progs.mk work in directories with SCRIPTS but no PROGS.

This change fixes some cases where bsd.progs.mk would fail to handle
directories with SCRIPTS but no PROGS.  In particular, "install" did
not handle such scripts nor dependent files when bsd.subdir.mk was
added to the mix.

This is "make tinderbox" clean.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
This commit is contained in:
Julio Merino 2013-12-11 03:41:07 +00:00
parent d8278f57f8
commit f4a4cdd166
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=259209

View File

@ -73,7 +73,7 @@ UPDATE_DEPENDFILE = NO
# handle being called [bsd.]progs.mk
.include <bsd.prog.mk>
.ifndef PROG
.ifndef _RECURSING_PROGS
# tell progs.mk we might want to install things
PROGS_TARGETS+= cleandepend cleandir cleanobj depend install
@ -84,11 +84,13 @@ x.$p= PROG_CXX=$p
.endif
$p ${p}_p: .PHONY .MAKE
(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} PROG=$p ${x.$p})
(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
SUBDIR= PROG=$p ${x.$p})
.for t in ${PROGS_TARGETS:O:u}
$p.$t: .PHONY .MAKE
(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} PROG=$p ${x.$p} ${@:E})
(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
SUBDIR= PROG=$p ${x.$p} ${@:E})
.endfor
.endfor
@ -96,4 +98,18 @@ $p.$t: .PHONY .MAKE
$t: ${PROGS:%=%.$t}
.endfor
SCRIPTS_TARGETS+= cleandepend cleandir cleanobj depend install
.for p in ${SCRIPTS}
.for t in ${SCRIPTS_TARGETS:O:u}
$p.$t: .PHONY .MAKE
(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \
SUBDIR= SCRIPT=$p ${x.$p} ${@:E})
.endfor
.endfor
.for t in ${SCRIPTS_TARGETS:O:u}
$t: ${SCRIPTS:%=%.$t}
.endfor
.endif