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:
jmmv 2013-12-11 03:41:07 +00:00
parent 65fca39fd1
commit 865b783eec

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