summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/Makefile2
-rw-r--r--gnu/usr.bin/Makefile2
-rw-r--r--lib/Makefile4
-rw-r--r--lib/clang/Makefile2
-rw-r--r--sbin/Makefile2
-rw-r--r--share/mk/bsd.subdir.mk19
-rw-r--r--usr.bin/Makefile2
-rw-r--r--usr.bin/clang/Makefile2
-rw-r--r--usr.sbin/Makefile2
9 files changed, 37 insertions, 0 deletions
diff --git a/bin/Makefile b/bin/Makefile
index e4bc281..63d96fe 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -60,4 +60,6 @@ SUBDIR+= tests
SUBDIR:= ${SUBDIR:O}
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile
index 663107c..02d0b2a 100644
--- a/gnu/usr.bin/Makefile
+++ b/gnu/usr.bin/Makefile
@@ -46,4 +46,6 @@ _cc= cc
_gdb= gdb
.endif
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/lib/Makefile b/lib/Makefile
index 22f3414..ab6c579 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -271,4 +271,8 @@ afterinstall:
${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
.endif
+.if !make(install)
+SUBDIR_PARALLEL=
+.endif
+
.include <bsd.subdir.mk>
diff --git a/lib/clang/Makefile b/lib/clang/Makefile
index 8b6f385..d335d80 100644
--- a/lib/clang/Makefile
+++ b/lib/clang/Makefile
@@ -147,4 +147,6 @@ SUBDIR+=liblldb \
SUBDIR+= include
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/sbin/Makefile b/sbin/Makefile
index 4772844..c6c3786 100644
--- a/sbin/Makefile
+++ b/sbin/Makefile
@@ -118,4 +118,6 @@ SUBDIR+= routed
SUBDIR:= ${SUBDIR:O}
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk
index 12dd4de..0ceda56 100644
--- a/share/mk/bsd.subdir.mk
+++ b/share/mk/bsd.subdir.mk
@@ -71,7 +71,26 @@ ${SUBDIR}: .PHONY .MAKE
.for __target in all all-man checkdpadd clean cleandepend cleandir \
cleanilinks depend distribute lint maninstall manlint obj objlink \
realinstall regress tags ${SUBDIR_TARGETS}
+.ifdef SUBDIR_PARALLEL
+.for __dir in ${SUBDIR}
+${__target}: ${__target}_subdir_${__dir}
+${__target}_subdir_${__dir}: .MAKE
+ @${_+_}set -e; \
+ if test -d ${.CURDIR}/${__dir}.${MACHINE_ARCH}; then \
+ ${ECHODIR} "===> ${DIRPRFX}${__dir}.${MACHINE_ARCH} (${__target:realinstall=install})"; \
+ edir=${__dir}.${MACHINE_ARCH}; \
+ cd ${.CURDIR}/$${edir}; \
+ else \
+ ${ECHODIR} "===> ${DIRPRFX}${__dir} (${__target:realinstall=install})"; \
+ edir=${__dir}; \
+ cd ${.CURDIR}/$${edir}; \
+ fi; \
+ ${MAKE} ${__target:realinstall=install} \
+ DIRPRFX=${DIRPRFX}$$edir/
+.endfor
+.else
${__target}: _SUBDIR
+.endif
.endfor
.for __target in files includes
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 0a6145b..be3f95b 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -376,4 +376,6 @@ SUBDIR+= svn
SUBDIR:= ${SUBDIR:O}
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile
index f0ab065..f3e2957 100644
--- a/usr.bin/clang/Makefile
+++ b/usr.bin/clang/Makefile
@@ -29,4 +29,6 @@ SUBDIR+=lldb
.endif
.endif # TOOLS_PREFIX
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index 5f275a6..f809688 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -324,4 +324,6 @@ SUBDIR+= wpa
SUBDIR:= ${SUBDIR:O}
+SUBDIR_PARALLEL=
+
.include <bsd.subdir.mk>
OpenPOWER on IntegriCloud