svn commit: r272055 - head/share/mk

Garrett Cooper ngie at FreeBSD.org
Wed Sep 24 04:45:36 UTC 2014


Author: ngie
Date: Wed Sep 24 04:45:35 2014
New Revision: 272055
URL: http://svnweb.freebsd.org/changeset/base/272055

Log:
  Improve bsd.progs.mk compatibility with bsd.prog.mk
  
  1. Do not install FILES/SCRIPTS multiple times if PROGS is specified; this is
     already handled via bsd.prog.mk when it's called recursively (PR: 191055,
     191955).
  2. Some variables, like BINDIR and PROGNAME, default to a value if unset
     whereas others get appended to, like CFLAGS. Add support for the former case
     (PR: 191056)
  3. Make "checkdpadd" and "clean" available targets for recursive execution.
  
  Reviewed by: marcel, sjg
  Phabric: D822
  PR: 191055, 191056, 191955
  MFC after: 1 week
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.progs.mk

Modified: head/share/mk/bsd.progs.mk
==============================================================================
--- head/share/mk/bsd.progs.mk	Wed Sep 24 04:17:29 2014	(r272054)
+++ head/share/mk/bsd.progs.mk	Wed Sep 24 04:45:35 2014	(r272055)
@@ -42,10 +42,15 @@ PROG ?= $t
 
 .if defined(PROG)
 # just one of many
-PROG_VARS += BINDIR CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD MAN SRCS
+PROG_OVERRIDE_VARS += BINDIR MAN SRCS
+PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD ${PROG_OVERRIDE_VARS}
 .for v in ${PROG_VARS:O:u}
-.if defined(${v}.${PROG}) || defined(${v}_${PROG})
-$v += ${${v}_${PROG}:U${${v}.${PROG}}}
+.if empty(${PROG_OVERRIDE_VARS:M$v})
+.if defined(${v}.${PROG})
+$v += ${${v}.${PROG}}
+.elif defined(${v}_${PROG})
+$v += ${${v}_${PROG}}
+.endif
 .else
 $v ?=
 .endif
@@ -61,7 +66,7 @@ UPDATE_DEPENDFILE ?= NO
 DEPENDFILE?= .depend.${PROG}
 # prog.mk will do the rest
 .else
-all: ${PROGS}
+all: ${FILES} ${PROGS} ${SCRIPTS}
 
 # We cannot capture dependencies for meta mode here
 UPDATE_DEPENDFILE = NO
@@ -75,7 +80,7 @@ UPDATE_DEPENDFILE = NO
 
 .ifndef _RECURSING_PROGS
 # tell progs.mk we might want to install things
-PROGS_TARGETS+= cleandepend cleandir cleanobj depend install
+PROGS_TARGETS+= checkdpadd clean cleandepend cleandir cleanobj depend install
 
 .for p in ${PROGS}
 .if defined(PROGS_CXX) && !empty(PROGS_CXX:M$p)
@@ -98,18 +103,15 @@ $p.$t: .PHONY .MAKE
 $t: ${PROGS:%=%.$t}
 .endfor
 
-SCRIPTS_TARGETS+= cleandepend cleandir cleanobj depend install
+.if empty(PROGS) && !empty(SCRIPTS)
 
-.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
+.for t in ${PROGS_TARGETS:O:u}
+scripts.$t: .PHONY .MAKE
+	(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} SUBDIR= _RECURSING_PROGS= \
+	    $t)
+$t: scripts.$t
 .endfor
 
-.for t in ${SCRIPTS_TARGETS:O:u}
-$t: ${SCRIPTS:%=%.$t}
-.endfor
+.endif
 
 .endif


More information about the svn-src-all mailing list