svn commit: r259209 - head/share/mk
Julio Merino
jmmv at FreeBSD.org
Wed Dec 11 03:41:08 UTC 2013
Author: jmmv
Date: Wed Dec 11 03:41:07 2013
New Revision: 259209
URL: http://svnweb.freebsd.org/changeset/base/259209
Log:
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)
Modified:
head/share/mk/bsd.progs.mk
Modified: head/share/mk/bsd.progs.mk
==============================================================================
--- head/share/mk/bsd.progs.mk Wed Dec 11 03:39:50 2013 (r259208)
+++ head/share/mk/bsd.progs.mk Wed Dec 11 03:41:07 2013 (r259209)
@@ -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
More information about the svn-src-all
mailing list