OSDN Git Service

kernel.mk: build with -j option based on processor cores
authorMauro Rossi <issor.oruam@gmail.com>
Fri, 8 Jun 2018 23:17:15 +0000 (00:17 +0100)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Sun, 17 Jun 2018 04:31:10 +0000 (12:31 +0800)
submake call builds kernel using only one job,
j option is used with number of processors cores retrieved by $(shell) call

v2: use $(nproc) and add -l to limit the number of jobs based on the load
    average (cwhuang)

build/tasks/kernel.mk

index da84163..2062922 100644 (file)
@@ -31,7 +31,7 @@ else
 CROSS_COMPILE ?= $(abspath $(TARGET_TOOLS_PREFIX))
 endif
 KBUILD_OUTPUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel)
-mk_kernel := + $(hide) $(MAKE) -C $(KERNEL_DIR) O=$(KBUILD_OUTPUT) ARCH=$(TARGET_ARCH) CROSS_COMPILE="$(abspath $(CC_WRAPPER)) $(CROSS_COMPILE)" $(if $(SHOW_COMMANDS),V=1)
+mk_kernel := + $(hide) $(MAKE) -j$$(nproc) -l$$(($$(nproc)+2)) -C $(KERNEL_DIR) O=$(KBUILD_OUTPUT) ARCH=$(TARGET_ARCH) CROSS_COMPILE="$(abspath $(CC_WRAPPER)) $(CROSS_COMPILE)" $(if $(SHOW_COMMANDS),V=1)
 
 KERNEL_CONFIG_FILE := $(if $(wildcard $(TARGET_KERNEL_CONFIG)),$(TARGET_KERNEL_CONFIG),$(KERNEL_DIR)/$(KERNEL_CONFIG_DIR)/$(TARGET_KERNEL_CONFIG))