use lazy evaluation to allow targets to override kernel config files
SVN-Revision: 26714
This commit is contained in:
parent
032a3504ee
commit
a65dac690c
1 changed files with 14 additions and 21 deletions
|
@ -112,42 +112,35 @@ __config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default
|
||||||
__config_list = $(firstword $(wildcard $(call __config_name_list,$(1))))
|
__config_list = $(firstword $(wildcard $(call __config_name_list,$(1))))
|
||||||
find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list)))
|
find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list)))
|
||||||
|
|
||||||
GENERIC_LINUX_CONFIG:=$(call find_kernel_config,$(GENERIC_PLATFORM_DIR))
|
GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR))
|
||||||
LINUX_TARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_DIR))
|
LINUX_TARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_DIR))
|
||||||
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
|
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
|
||||||
LINUX_SUBTARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_SUBDIR))
|
LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# config file list used for compiling
|
# 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
|
# default config list for reconfiguring
|
||||||
# defaults to subtarget if subtarget exists and target does not
|
# defaults to subtarget if subtarget exists and target does not
|
||||||
# defaults to target otherwise
|
# defaults to target otherwise
|
||||||
ifeq ($(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)),1)
|
USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1))
|
||||||
LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
|
|
||||||
LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG)
|
LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG)))
|
||||||
else
|
LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG))
|
||||||
LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
|
|
||||||
LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# select the config file to be cahnged by kernel_menuconfig/kernel_oldconfig
|
# select the config file to be cahnged by kernel_menuconfig/kernel_oldconfig
|
||||||
ifeq ($(CONFIG_TARGET),platform)
|
ifeq ($(CONFIG_TARGET),platform)
|
||||||
LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
|
LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG))
|
||||||
LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG)
|
LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG)
|
||||||
endif
|
endif
|
||||||
ifeq ($(CONFIG_TARGET),subtarget)
|
ifeq ($(CONFIG_TARGET),subtarget)
|
||||||
ifeq ($(wildcard $(LINUX_SUBTARGET_CONFIG)),)
|
LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
|
||||||
$(error Subtarget not available, cannot reconfigure)
|
LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG)
|
||||||
else
|
|
||||||
LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG))
|
|
||||||
LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
ifeq ($(CONFIG_TARGET),env)
|
ifeq ($(CONFIG_TARGET),env)
|
||||||
LINUX_RECONFIG_LIST := $(LINUX_KCONFIG_LIST)
|
LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST)
|
||||||
LINUX_RECONFIG_TARGET := $(TOPDIR)/env/kernel-config
|
LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config
|
||||||
endif
|
endif
|
||||||
|
|
||||||
__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1)
|
__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1)
|
||||||
|
|
Loading…
Reference in a new issue