summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-11-11 01:25:06 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-11-11 01:25:06 +0000
commitea41d3a2881e925e4a8cd74b214fb3f836b1e386 (patch)
treeef3fa0ff7a3b7b2eecf0aeb41832b3c5645d08da
parentbf2fe7ea9a80e4f72afbdc2466f98aa61a978bf5 (diff)
downloadmaster-31e0f0ae-ea41d3a2881e925e4a8cd74b214fb3f836b1e386.tar.gz
master-31e0f0ae-ea41d3a2881e925e4a8cd74b214fb3f836b1e386.tar.bz2
master-31e0f0ae-ea41d3a2881e925e4a8cd74b214fb3f836b1e386.zip
merge target kernel config files with subtarget config files and add a variable override for editing the target kernel config file with make kernel_menuconfig in case the subtarget contains overrides (thx, sn9)
SVN-Revision: 18362
-rw-r--r--include/kernel-build.mk3
-rw-r--r--include/kernel-defaults.mk2
-rw-r--r--include/target.mk2
3 files changed, 4 insertions, 3 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index e3e446ba58..7c5d1fbe9c 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -104,7 +104,8 @@ define BuildKernel
$(LINUX_CONFCMD) > $(LINUX_DIR)/.config
touch $(LINUX_CONFIG)
$(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) $$@
- $(SCRIPT_DIR)/kconfig.pl '>' $(GENERIC_LINUX_CONFIG) $(LINUX_DIR)/.config > $(if $(LINUX_SUBCONFIG),$(LINUX_SUBCONFIG),$(LINUX_CONFIG))
+ $(SCRIPT_DIR)/kconfig.pl '>' $(if $(LINUX_SUBCONFIG),'+' $(GENERIC_LINUX_CONFIG) $(LINUX_CONFIG),$(GENERIC_LINUX_CONFIG)) \
+ $(LINUX_DIR)/.config > $(if $(LINUX_SUBCONFIG),$(LINUX_SUBCONFIG),$(LINUX_CONFIG))
$(Kernel/Configure)
install: $(LINUX_DIR)/.image
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index 35627f7bc4..f49cbb93a0 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -105,7 +105,7 @@ define Kernel/Configure/Default
$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(LINUX_DIR)/.config.target
$(if $(CONFIG_EABI_SUPPORT),echo '# CONFIG_OABI_COMPAT 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 $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
+ $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
$(call Kernel/SetInitramfs)
$(call Kernel/Configure/$(KERNEL))
rm -rf $(KERNEL_BUILD_DIR)/modules
diff --git a/include/target.mk b/include/target.mk
index b30be1032e..2bfb702788 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -115,7 +115,7 @@ GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GE
GENERIC_LINUX_CONFIG?=$(firstword $(wildcard $(GENERIC_PLATFORM_DIR)/config-$(KERNEL_PATCHVER) $(GENERIC_PLATFORM_DIR)/config-default))
LINUX_CONFIG?=$(firstword $(wildcard $(foreach subdir,$(PLATFORM_DIR) $(PLATFORM_SUBDIR),$(subdir)/config-$(KERNEL_PATCHVER) $(subdir)/config-default)) $(PLATFORM_DIR)/config-$(KERNEL_PATCHVER))
-LINUX_SUBCONFIG?=$(firstword $(wildcard $(PLATFORM_SUBDIR)/config-$(KERNEL_PATCHVER) $(PLATFORM_SUBDIR)/config-default))
+LINUX_SUBCONFIG?=$(if $(SHARED_LINUX_CONFIG),,$(firstword $(wildcard $(PLATFORM_SUBDIR)/config-$(KERNEL_PATCHVER) $(PLATFORM_SUBDIR)/config-default)))
ifeq ($(LINUX_CONFIG),$(LINUX_SUBCONFIG))
LINUX_SUBCONFIG:=
endif