[Midnightbsd-cvs] mports [22251] trunk/Mk: refactor var handling, use sinclude

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jan 28 17:52:44 EST 2017


Revision: 22251
          http://svnweb.midnightbsd.org/mports/?rev=22251
Author:   laffer1
Date:     2017-01-28 17:52:44 -0500 (Sat, 28 Jan 2017)
Log Message:
-----------
refactor var handling, use sinclude

Modified Paths:
--------------
    trunk/Mk/bsd.mport.mk
    trunk/Mk/bsd.port.subdir.mk

Modified: trunk/Mk/bsd.mport.mk
===================================================================
--- trunk/Mk/bsd.mport.mk	2017-01-28 22:31:57 UTC (rev 22250)
+++ trunk/Mk/bsd.mport.mk	2017-01-28 22:52:44 UTC (rev 22251)
@@ -4122,15 +4122,12 @@
 # Depend is generally meaningless for arbitrary ports, but if someone wants
 # one they can override this.  This is just to catch people who've gotten into
 # the habit of typing `make depend all install' as a matter of course.
-#
-.if !target(depend)
-depend:
-.endif
 
-# Same goes for tags
-.if !target(tags)
-tags:
+.for _t in depend tags
+.if !target(${_t})
+${_t}:
 .endif
+.endfor
 
 .if !defined(NOPRECIOUSMAKEVARS)
 # These won't change, so we can pass them through the environment

Modified: trunk/Mk/bsd.port.subdir.mk
===================================================================
--- trunk/Mk/bsd.port.subdir.mk	2017-01-28 22:31:57 UTC (rev 22250)
+++ trunk/Mk/bsd.port.subdir.mk	2017-01-28 22:52:44 UTC (rev 22251)
@@ -66,6 +66,7 @@
 .if !defined(ARCH)
 ARCH!=	${DESTDIR}${UNAME} -p
 .endif
+_EXPORTED_VARS+=	ARCH
 
 .if !defined(OSVERSION)
 .if exists(/usr/include/sys/param.h)
@@ -79,15 +80,18 @@
 .endif
 
 .if !defined(_OSRELEASE)
-_OSRELEASE!=			${UNAME} -r
+_OSRELEASE!=		${UNAME} -r
 .endif
+_EXPORTED_VARS+=	_OSRELEASE
 .if !defined(OSREL)
 OSREL=	${_OSRELEASE:C/[-(].*//}
 .endif
+_EXPORTED_VARS+=	OSREL
 
 .if !defined(OPSYS)
 OPSYS!=	${UNAME} -s
 .endif
+_EXPORTED_VARS+=	OPSYS
 
 .if ${ARCH} == "amd64"
 .if !defined(HAVE_COMPAT_IA32_KERN)
@@ -97,19 +101,40 @@
 .endif
 .endif
 .endif
+_EXPORTED_VARS+=	HAVE_COMPAT_IA32_KERN
 
 .if !defined(CONFIGURE_MAX_CMD_LEN)
 CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax
 .endif
+_EXPORTED_VARS+=	CONFIGURE_MAX_CMD_LEN
 
+.if !defined(_JAVA_VERSION_LIST_REGEXP)
+_JAVA_VERSION_LIST_REGEXP!=	${MAKE} -V _JAVA_VERSION_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.mport.mk
+.endif
+_EXPORTED_VARS+=	_JAVA_VERSION_LIST_REGEXP
+
+.if !defined(_JAVA_VENDOR_LIST_REGEXP)
+_JAVA_VENDOR_LIST_REGEXP!=	${MAKE} -V _JAVA_VENDOR_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.mport.mk
+.endif
+_EXPORTED_VARS+=	_JAVA_VENDOR_LIST_REGEXP
+
+.if !defined(_JAVA_OS_LIST_REGEXP)
+_JAVA_OS_LIST_REGEXP!=		${MAKE} -V _JAVA_OS_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.mport.mk
+.endif
+_EXPORTED_VARS+=	_JAVA_OS_LIST_REGEXP
+
+.if !defined(_JAVA_PORTS_INSTALLED)
+_JAVA_PORTS_INSTALLED!=		${MAKE} -V _JAVA_PORTS_INSTALLED USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.mport.mk
+.endif
+_EXPORTED_VARS+=	_JAVA_PORTS_INSTALLED
+
 .if !defined(UID)
 UID!=	${ID} -u
 .endif
+_EXPORTED_VARS+=	UID
 
 # local customization of the ports tree
-.if exists(${.CURDIR}/Makefile.local)
-.include "${.CURDIR}/Makefile.local"
-.endif
+.sinclude "${.CURDIR}/Makefile.local"
 
 TARGETS+=	all
 TARGETS+=	build
@@ -341,21 +366,13 @@
 	@${RM} -f $@.tmp $@.tmp2 $@.tmp3 $@.tmp4
 
 # Pass in the cached invariant variables to child makes.
-# XXX Why are we trying to escape these characters using regexps and not using ':Q'?
 .if !defined(NOPRECIOUSMAKEVARS)
-.MAKEFLAGS: \
-	ARCH="${ARCH:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
-	OPSYS="${OPSYS:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
-	OSREL="${OSREL:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
-	OSVERSION="${OSVERSION:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
-	UID="${UID:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
-	HAVE_COMPAT_IA32_KERN="${HAVE_COMPAT_IA32_KERN}" \
-	CONFIGURE_MAX_CMD_LEN="${CONFIGURE_MAX_CMD_LEN}" \
-	_JAVA_VERSION_LIST_REGEXP="${_JAVA_VERSION_LIST_REGEXP:Q}" \
-	_JAVA_VENDOR_LIST_REGEXP="${_JAVA_VENDOR_LIST_REGEXP:Q}" \
-	_JAVA_OS_LIST_REGEXP="${_JAVA_OS_LIST_REGEXP:Q}" \
-	_JAVA_PORTS_INSTALLED="${_JAVA_PORTS_INSTALLED}"
+.for var in ${_EXPORTED_VARS}
+.if empty(.MAKEFLAGS:M${var}=*) && !empty(${var})
+.MAKEFLAGS:	${var}=${${var}:Q}
 .endif
+.endfor
+.endif
 
 PORTSEARCH_DISPLAY_FIELDS?=name,path,info,maint,index,bdeps,rdeps,www
 PORTSEARCH_KEYLIM?=0



More information about the Midnightbsd-cvs mailing list