diff --git a/config/functions b/config/functions index 82bb424673..b826729b70 100644 --- a/config/functions +++ b/config/functions @@ -250,19 +250,26 @@ setup_toolchain() { # parallel if flag_enabled "parallel" "yes"; then - NINJA_OPTS="$NINJA_OPTS -j$CONCURRENCY_MAKE_LEVEL" - export MAKEFLAGS="-j$CONCURRENCY_MAKE_LEVEL" + NINJA_OPTS="-j$CONCURRENCY_MAKE_LEVEL" + MAKEFLAGS="-j$CONCURRENCY_MAKE_LEVEL" else - NINJA_OPTS="$NINJA_OPTS -j1" - export MAKEFLAGS="-j1" + NINJA_OPTS="-j1" + MAKEFLAGS="-j1" fi # verbose flag if flag_enabled "verbose" "no"; then - NINJA_OPTS="$NINJA_OPTS -v" - export MAKEFLAGS="$MAKEFLAGS V=1 VERBOSE=1" + NINJA_OPTS+=" -v" + MAKEFLAGS+=" V=1 VERBOSE=1" fi + # average load limit + if [ "${CONCURRENCY_LOAD}" != "0" ]; then + NINJA_OPTS+=" -l${CONCURRENCY_LOAD}" + MAKEFLAGS+=" -l${CONCURRENCY_LOAD}" + fi + export MAKEFLAGS + case "$1:$2" in target:meson) export DESTIMAGE="target" diff --git a/config/optimize b/config/optimize index dd38973488..7cdb26447d 100644 --- a/config/optimize +++ b/config/optimize @@ -1,8 +1,6 @@ # Linker hash-style is set to gnu via gcc default LD_OPTIM="-Wl,--as-needed" -NINJA_OPTS="" - TARGET_CPPFLAGS="" TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $PROJECT_CFLAGS" TARGET_CXXFLAGS="$TARGET_CFLAGS" diff --git a/config/options b/config/options index d19a90fb2e..5cc004e10d 100644 --- a/config/options +++ b/config/options @@ -77,6 +77,7 @@ VERBOSE="${VERBOSE:-yes}" # Try values between 1 and number of processor cores present. # default: use all cores [ -z "${CONCURRENCY_MAKE_LEVEL}" ] && export CONCURRENCY_MAKE_LEVEL=$(nproc) +[ -z "${CONCURRENCY_LOAD}" ] && export CONCURRENCY_LOAD=$(python3 -c "import os; print('%.2f' % (os.cpu_count() * 1.5))") # cache size for ccache # Set the maximum size of the files stored in the cache. You can specify a