Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Dec 2013 03:41:07 +0000 (UTC)
From:      Julio Merino <jmmv@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r259209 - head/share/mk
Message-ID:  <201312110341.rBB3f7xU066617@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312110341.rBB3f7xU066617>