Rely on the Kconfig defconfig mechanism to fill all the missing options, instead of needing to set them all in the kernel configurations like what was previously done.
This will allow to trim down a lot the configuration files, avoid carrying unused configuration options and preserve the developpers mental health. Signed-off-by: Maxime Ripard <maxime.rip...@free-electrons.com> --- include/kernel-defaults.mk | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 8abd32d7141d..9fd96a234e37 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -100,16 +100,40 @@ define Kernel/SetNoInitramfs echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config endef +ifeq ($(ARCH),armeb) + LINUX_ARCH := arm +else ifeq ($(ARCH),mipsel) + LINUX_ARCH := mips +else ifeq ($(ARCH),mips64) + LINUX_ARCH := mips +else ifeq ($(ARCH),um) + LINUX_ARCH := x86 +else ifeq ($(ARCH),i386) + LINUX_ARCH := x86 +else ifeq ($(ARCH),x86_64) + LINUX_ARCH := x86 +else + LINUX_ARCH := $(ARCH) +endif + +DEFCONFIG_DIR = $(LINUX_DIR)/arch/$(LINUX_ARCH)/configs +DEFCONFIG_NAME = openwrt_defconfig + define Kernel/Configure/Default - $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target + $(LINUX_CONF_CMD) > $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target # copy CONFIG_KERNEL_* settings over to .config.target - awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target - echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target - echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target - echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target - echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target - $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config > $(LINUX_DIR)/.config.override - $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config + awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' \ + $(TOPDIR)/.config >> $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target + echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target + echo "# CONFIG_KALLSYMS_ALL is not set" >> $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target + echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target + echo "# CONFIG_KPROBES is not set" >> $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target + $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config > \ + $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).override + $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).target \ + /dev/null $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME).override > \ + $(DEFCONFIG_DIR)/$(DEFCONFIG_NAME) + +$(MAKE) $(KERNEL_MAKEOPTS) $(DEFCONFIG_NAME) $(call Kernel/SetNoInitramfs) rm -rf $(KERNEL_BUILD_DIR)/modules $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install -- 2.1.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel