summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in29
-rw-r--r--mk/kernel-build.mk2
-rw-r--r--mk/pkg-bottom.mk9
-rw-r--r--package/asterisk/Makefile1
-rw-r--r--package/net-snmp/Makefile1
5 files changed, 40 insertions, 2 deletions
diff --git a/Config.in b/Config.in
index 2f741cdc9..903ec2cf5 100644
--- a/Config.in
+++ b/Config.in
@@ -15,5 +15,34 @@ config ADK_HAVE_DOT_CONFIG
bool
default y
+menu "ADK settings"
+
+config ADK_MAKE_JOBS
+ int
+ default 1 if ! ADK_MAKE_PARALLEL
+
+config ADK_MAKE_PARALLEL
+ prompt "Enable parallel building of packages that claim to support it"
+ boolean
+ default n
+
+config ADK_MAKE_JOBS
+ prompt "How many jobs to use"
+ int
+ default 2
+ depends on ADK_MAKE_PARALLEL
+ help
+ The number specified here will be passed to make as N in '-jN'
+
+config ADK_FORCE_PARALLEL
+ prompt "Force parallel building of all packages (DANGEROUS)"
+ bool
+ default n
+ depends on ADK_MAKE_PARALLEL
+ help
+ Do not enable this! It's for testing purposes only.
+
+endmenu
+
source "target/Config.in"
source "package/Config.in"
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}),)
diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile
index e5a3609a7..b048c823c 100644
--- a/package/asterisk/Makefile
+++ b/package/asterisk/Makefile
@@ -10,6 +10,7 @@ PKG_MD5SUM:= 9b46f8628f43e1d3c275460ceee26646
PKG_DESCR:= Open Source PBX
PKG_SECTION:= net
PKG_DEPENDS:= libncurses libpthread libopenssl libcurl
+PKG_NOPARALLEL:= 1
PKG_URL:= http://www.asterisk.org
PKG_SITES:= http://downloads.asterisk.org/pub/telephony/asterisk/releases/
diff --git a/package/net-snmp/Makefile b/package/net-snmp/Makefile
index 9fb44be22..c78efadcf 100644
--- a/package/net-snmp/Makefile
+++ b/package/net-snmp/Makefile
@@ -10,6 +10,7 @@ PKG_MD5SUM:= 984932520143f0c8bf7b7ce1fc9e1da1
PKG_DESCR:= SNMP Agent
PKG_SECTION:= net
PKG_DEPENDS:= libnetsnmp libelf
+PKG_NOPARALLEL:= 1
PKG_URL:= http://www.net-snmp.org
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=net-snmp/}