Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2014 00:54:53 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r273501 - stable/10/share/mk
Message-ID:  <201410230054.s9N0srfB084580@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Thu Oct 23 00:54:52 2014
New Revision: 273501
URL: https://svnweb.freebsd.org/changeset/base/273501

Log:
  MFC r272055:
  
    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
    Sponsored by: EMC / Isilon Storage Division

Modified:
  stable/10/share/mk/bsd.progs.mk
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/share/mk/bsd.progs.mk
==============================================================================
--- stable/10/share/mk/bsd.progs.mk	Thu Oct 23 00:51:52 2014	(r273500)
+++ stable/10/share/mk/bsd.progs.mk	Thu Oct 23 00:54:52 2014	(r273501)
@@ -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



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