changes to allow "make -j N" to more easily parallelize many subdirs
This commit is contained in:
parent
9bc57d2244
commit
30f6cf581e
@ -1,39 +1,46 @@
|
|||||||
# $NetBSD: bsd.subdir.mk,v 1.11 1996/04/04 02:05:06 jtc Exp $
|
# $NetBSD: bsd.subdir.mk,v 1.12 1997/03/21 00:53:02 cgd Exp $
|
||||||
# @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
|
# @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
|
||||||
|
|
||||||
.if !target(.MAIN)
|
.if !target(.MAIN)
|
||||||
.MAIN: all
|
.MAIN: all
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
_SUBDIRUSE: .USE
|
_SUBDIRUSE: .USE ${SUBDIR:S/^/${.TARGET}-/}
|
||||||
.if defined(SUBDIR)
|
|
||||||
@for entry in ${SUBDIR}; do \
|
|
||||||
(set -e; if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
|
|
||||||
_newdir_="$${entry}.${MACHINE}"; \
|
|
||||||
else \
|
|
||||||
_newdir_="$${entry}"; \
|
|
||||||
fi; \
|
|
||||||
if test X"${_THISDIR_}" = X""; then \
|
|
||||||
_nextdir_="$${_newdir_}"; \
|
|
||||||
else \
|
|
||||||
_nextdir_="$${_THISDIR_}/$${_newdir_}"; \
|
|
||||||
fi; \
|
|
||||||
echo "===> $${_nextdir_}"; \
|
|
||||||
cd ${.CURDIR}/$${_newdir_}; \
|
|
||||||
${MAKE} _THISDIR_="$${_nextdir_}" \
|
|
||||||
${.TARGET:S/realinstall/install/:S/.depend/depend/}); \
|
|
||||||
done
|
|
||||||
|
|
||||||
${SUBDIR}::
|
__SUBDIRINTERNALUSE: .USE
|
||||||
@set -e; if test -d ${.CURDIR}/${.TARGET}.${MACHINE}; then \
|
@(_maketarget_="${.TARGET:S/realinstall/install/}"; \
|
||||||
_newdir_=${.TARGET}.${MACHINE}; \
|
entry="$${_maketarget_#*-}";\
|
||||||
|
target="$${_maketarget_%%-*}";\
|
||||||
|
set -e; if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
|
||||||
|
_newdir_="$${entry}.${MACHINE}"; \
|
||||||
else \
|
else \
|
||||||
_newdir_=${.TARGET}; \
|
_newdir_="$${entry}"; \
|
||||||
fi; \
|
fi; \
|
||||||
echo "===> $${_newdir_}"; \
|
if test X"${_THISDIR_}" = X""; then \
|
||||||
|
_nextdir_="$${_newdir_}"; \
|
||||||
|
else \
|
||||||
|
_nextdir_="$${_THISDIR_}/$${_newdir_}"; \
|
||||||
|
fi; \
|
||||||
|
echo "===> $${_nextdir_}"; \
|
||||||
cd ${.CURDIR}/$${_newdir_}; \
|
cd ${.CURDIR}/$${_newdir_}; \
|
||||||
${MAKE} _THISDIR_="$${_newdir_}" all
|
${MAKE} _THISDIR_="$${_nextdir_}" $${target});
|
||||||
.endif
|
|
||||||
|
.for dir in ${SUBDIR}
|
||||||
|
all-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
install-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
realinstall-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
clean-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
cleandir-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
includes-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
depend-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
lint-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
obj-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
tags-${dir}: __SUBDIRINTERNALUSE
|
||||||
|
|
||||||
|
# Backward-compatibility with the old rules. If this went away,
|
||||||
|
# 'xlint' could become 'lint', 'xinstall' could become 'install', etc.
|
||||||
|
${dir}: all-${dir}
|
||||||
|
.endfor
|
||||||
|
|
||||||
.if !target(install)
|
.if !target(install)
|
||||||
.if !target(beforeinstall)
|
.if !target(beforeinstall)
|
||||||
|
Loading…
Reference in New Issue
Block a user