aboutsummaryrefslogtreecommitdiff
path: root/share/mk/bsd.subdir.mk
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2012-08-22 19:25:57 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2012-08-22 19:25:57 +0000
commit7750ad47a9a7dbc83f87158464170c8640723293 (patch)
treecd79e2918968cd4506cfed6dbf7f1829c11aa985 /share/mk/bsd.subdir.mk
parente43b47e8f430b87d4bb6a2c798216568483ab8c2 (diff)
downloadsrc-7750ad47a9a7dbc83f87158464170c8640723293.tar.gz
src-7750ad47a9a7dbc83f87158464170c8640723293.zip
Sync FreeBSD's bmake branch with Juniper's internal bmake branch.
Requested by: Simon Gerraty <sjg@juniper.net>
Notes
Notes: svn path=/projects/bmake/; revision=239572
Diffstat (limited to 'share/mk/bsd.subdir.mk')
-rw-r--r--share/mk/bsd.subdir.mk15
1 files changed, 13 insertions, 2 deletions
diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk
index dc5af72ff175..f9962df27117 100644
--- a/share/mk/bsd.subdir.mk
+++ b/share/mk/bsd.subdir.mk
@@ -31,6 +31,15 @@
.include <bsd.init.mk>
+.if defined(.PARSEDIR) && !defined(NEED_SUBDIR)
+.if ${.MAKE.LEVEL} == 0 && ${.MAKE.MODE:Mmeta*} != "" && !empty(SUBDIR) && !(make(clean*) || make(destroy*))
+.include <meta.subdir.mk>
+# ignore this
+_SUBDIR:
+.endif
+.endif
+.if !target(_SUBDIR)
+
DISTRIBUTION?= base
.if !target(distribute)
distribute:
@@ -42,7 +51,7 @@ distribute:
_SUBDIR: .USE
.if defined(SUBDIR) && !empty(SUBDIR) && !defined(NO_SUBDIR)
- @${_+_}for entry in ${SUBDIR}; do \
+ @${_+_}set -e; for entry in ${SUBDIR}; do \
if test -d ${.CURDIR}/$${entry}.${MACHINE_ARCH}; then \
${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE_ARCH} (${.TARGET:realinstall=install})"; \
edir=$${entry}.${MACHINE_ARCH}; \
@@ -79,9 +88,11 @@ ${__stage}${__target}: _SUBDIR
.endif
.endfor
${__target}:
- ${_+_}cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target}
+ ${_+_}set -e; cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target}
.endfor
+.endif
+
.if !target(install)
.if !target(beforeinstall)
beforeinstall: