summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-17 21:47:44 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-17 21:47:44 +0000
commitfbbdac4faae3e304458187d76aad51a47c75b386 (patch)
tree5ce1b10074f9523fc1eec4cbc2bc269cfc0d89e9 /include
parent0e460adef92bb959a57015b4de8533d906fd893b (diff)
use lazy evaluation to allow targets to override kernel config files
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26714 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r--include/target.mk35
1 files changed, 14 insertions, 21 deletions
diff --git a/include/target.mk b/include/target.mk
index f673f95827..83455723ea 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -112,42 +112,35 @@ __config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default
__config_list = $(firstword $(wildcard $(call __config_name_list,$(1))))
find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list)))
-GENERIC_LINUX_CONFIG:=$(call find_kernel_config,$(GENERIC_PLATFORM_DIR))
-LINUX_TARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_DIR))
+GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR))
+LINUX_TARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_DIR))
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
- LINUX_SUBTARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_SUBDIR))
+ LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR))
endif
# config file list used for compiling
-LINUX_KCONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config)
+LINUX_KCONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config)
# default config list for reconfiguring
# defaults to subtarget if subtarget exists and target does not
# defaults to target otherwise
-ifeq ($(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)),1)
- LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
- LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG)
-else
- LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
- LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG)
-endif
+USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1))
+
+LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG)))
+LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG))
# select the config file to be cahnged by kernel_menuconfig/kernel_oldconfig
ifeq ($(CONFIG_TARGET),platform)
- LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
- LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG)
+ LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
+ LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG)
endif
ifeq ($(CONFIG_TARGET),subtarget)
- ifeq ($(wildcard $(LINUX_SUBTARGET_CONFIG)),)
- $(error Subtarget not available, cannot reconfigure)
- else
- LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
- LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG)
- endif
+ LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
+ LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG)
endif
ifeq ($(CONFIG_TARGET),env)
- LINUX_RECONFIG_LIST := $(LINUX_KCONFIG_LIST)
- LINUX_RECONFIG_TARGET := $(TOPDIR)/env/kernel-config
+ LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST)
+ LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config
endif
__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1)