From 5016aa02fb51dbd73461f65ed8c7d9b52539a988 Mon Sep 17 00:00:00 2001 From: Nathan Lynch Date: Sat, 16 Jun 2012 09:37:17 +0000 Subject: automatically set PARALLEL_JOBS when BR2_JLEVEL is 0 When BR2_JLEVEL is 0, set PARALLEL_JOBS to double the number of CPUs detected. This allows one to more or less fully utilize the host system without manually tuning the configuration. Also make 0 the default value for BR2_JLEVEL. Signed-off-by: Nathan Lynch Signed-off-by: Peter Korsgaard --- package/Makefile.in | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'package/Makefile.in') diff --git a/package/Makefile.in b/package/Makefile.in index be83ada1c..1d43aef5c 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -6,7 +6,15 @@ HOSTMAKE=$(MAKE) endif HOSTMAKE :=$(shell which $(HOSTMAKE) || type -p $(HOSTMAKE) || echo make) +# If BR2_LEVEL is 0, scale the maximum concurrency with the number of +# CPUs. A coefficient of 2 is used in order to keep processors busy +# while waiting on I/O. +ifeq ($(BR2_JLEVEL),0) +PARALLEL_JOBS:=$(shell echo \ + $$((2 * `getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`))) +else PARALLEL_JOBS:=$(BR2_JLEVEL) +endif MAKE1:=$(HOSTMAKE) -j1 MAKE:=$(HOSTMAKE) -j$(PARALLEL_JOBS) -- cgit v1.2.3