From: "Eugene San (eugenesan)" <eugene...@gmail.com>
Signed-off-by: Eugene San (eugenesan) <eugene...@gmail.com> --- Config.in | 13 +++++++++++++ include/kernel-defaults.mk | 6 ++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Config.in b/Config.in index f36221c..f4dbf80 100644 --- a/Config.in +++ b/Config.in @@ -307,6 +307,19 @@ menu "Global build settings" If you say Y, toolchain build might break. Before reporting build bugs, set this to N and re-run the build. + config KERNEL_PARALLEL + bool + prompt "Parallelize the kernel build (May break build)" + depends on PKG_BUILD_PARALLEL + default n + help + Build the kernel with parallel make jobs. + This speeds up the kernel build on SMP machines, but may + break the build for certain toolchain versions. + + If you say Y, kernel build might break. + Before reporting build bugs, set this to N and re-run the build. + comment "Stripping options" choice diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 5fd27ae..b637577 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -5,6 +5,8 @@ # See /LICENSE for more information. # +KERNEL_JOBS?=$(if $(CONFIG_KERNEL_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS)) + KERNEL_MAKEOPTS := -C $(LINUX_DIR) \ CROSS_COMPILE="$(KERNEL_CROSS)" \ ARCH="$(LINUX_KARCH)" \ @@ -93,14 +95,14 @@ endef define Kernel/CompileModules/Default rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map - +$(MAKE) $(KERNEL_MAKEOPTS) modules + +$(MAKE) $(KERNEL_MAKEOPTS) $(KERNEL_JOBS) modules endef OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id define Kernel/CompileImage/Default $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),,rm -f $(TARGET_DIR)/init) - +$(MAKE) $(KERNEL_MAKEOPTS) $(KERNELNAME) + +$(MAKE) $(KERNEL_MAKEOPTS) $(KERNEL_JOBS) $(KERNELNAME) $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL) $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux.elf endef -- 1.7.6 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel