summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2009-08-28 22:56:27 +0200
committerPhil Sutter <phil@nwl.cc>2009-08-28 23:09:28 +0200
commit6d3405b4161a9cf5f1e16ebeb8426dadb48dbe71 (patch)
tree7f637675bd8b2a1c1fe5f77614a3b0ef2bfc6ef5 /mk
parent0b6742af9d19cc389ed0f0bb08a65e1f84268893 (diff)
core: allow selecting parallel builds
The value of CONFIG_ADK_MAKE_JOBS is being passed to make via the option '-j', in order to have it run multiple jobs simultaneously. This is done for all kernel builds, and per default for each package using the default BUILD_STYLE of 'auto', unless the package makefile defines PKG_NOPARALLEL to a non-empty string.
Diffstat (limited to 'mk')
-rw-r--r--mk/kernel-build.mk2
-rw-r--r--mk/pkg-bottom.mk9
2 files changed, 9 insertions, 2 deletions
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index 62c6290b5..0eb1e0a39 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -34,7 +34,7 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig
$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
$(TRACE) target/$(DEVICE)-kernel-compile
- $(MAKE) ${KERNEL_MAKE_OPTS} $(MAKE_TRACE)
+ $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} $(MAKE_TRACE)
$(TRACE) target/$(DEVICE)-kernel-modules-install
rm -rf $(LINUX_BUILD_DIR)/modules
$(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index 36a998a82..05c123ed2 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -70,6 +70,13 @@ endif
@${MAKE} post-configure $(MAKE_TRACE)
touch $@
+# do a parallel build if requested && package doesn't force disable it
+ifeq (${PKG_BUILD_PARALLEL},y)
+ifeq ($(strip ${PKG_NOPARALLEL}),)
+MAKE_FLAGS+= -j${ADK_MAKE_JOBS}
+endif
+endif
+
pre-build:
do-build:
post-build:
@@ -78,7 +85,7 @@ ${_BUILD_COOKIE}: ${_CONFIGURE_COOKIE}
@$(CMD_TRACE) "compiling... "
ifneq ($(filter auto,${BUILD_STYLE}),)
cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
- ${MAKEJOBS} ${MAKE_FLAGS} ${ALL_TARGET} $(MAKE_TRACE)
+ ${MAKE_FLAGS} ${ALL_TARGET} $(MAKE_TRACE)
else ifneq ($(filter manual,${BUILD_STYLE}),)
env ${MAKE_ENV} ${MAKE} do-build $(MAKE_TRACE)
else ifeq ($(strip ${BUILD_STYLE}),)