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 <ntl@pobox.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Nathan Lynch 2012-06-16 09:37:17 +00:00 committed by Peter Korsgaard
parent f6b26ea425
commit 5016aa02fb
2 changed files with 13 additions and 3 deletions

View File

@ -178,10 +178,12 @@ config BR2_DEBIAN_MIRROR
endmenu
config BR2_JLEVEL
int "Number of jobs to run simultaneously"
default "2"
int "Number of jobs to run simultaneously (0 for auto)"
default "0"
help
Number of jobs to run simultaneously
Number of jobs to run simultaneously. If 0, determine
automatically according to number of CPUs on the host
system.
config BR2_CCACHE
bool "Enable compiler cache"

View File

@ -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)