summaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/Config.in.advanced27
-rw-r--r--target/linux/Makefile.in.advanced10
2 files changed, 34 insertions, 3 deletions
diff --git a/target/linux/Config.in.advanced b/target/linux/Config.in.advanced
index cd5f52cdf..b8c71d59c 100644
--- a/target/linux/Config.in.advanced
+++ b/target/linux/Config.in.advanced
@@ -416,12 +416,14 @@ config BR2_PACKAGE_LINUX_USE_DEFCONFIG
Configure Linux by make <board>_defconfig
config BR2_PACKAGE_LINUX_USE_XCONFIG
- bool "Run make ARCH=$(ARCH) xconfig before build"
+ bool "Run make ARCH=$(ARCH) [xconfig|menuconfig] before build"
depends BR2_PACKAGE_LINUX
help
Configure Linux by make xconfig
endchoice
+
+
config BR2_PACKAGE_LINUX_KCONFIG
string ".config file"
depends on BR2_PACKAGE_LINUX_USE_KCONFIG
@@ -433,6 +435,29 @@ config BR2_PACKAGE_LINUX_KCONFIG
board-imposed value by passing LINUX26_KCONFIG=<path> to
make.
+choice
+ prompt "Preferred config tool"
+ default BR2_MAKE_XCONFIG
+ help
+ Define the preferred tool to invoke if a configuration is invalid
+
+config BR2_MAKE_XCONFIG
+ bool "make xconfig"
+ help
+ Run "make menuconfig" if kernel ".config" is invalid
+
+config BR2_MAKE_MENUCONFIG
+ bool "make menuconfig"
+ help
+ Run "make menuconfig" if kernel ".config" is invalid
+
+endchoice
+
+config BR2_KERNEL_CONFIG_METHOD
+ string
+ default "xconfig" if BR2_MAKE_XCONFIG
+ default "menuconfig" if BR2_MAKE_MENUCONFIG
+
endmenu
choice
diff --git a/target/linux/Makefile.in.advanced b/target/linux/Makefile.in.advanced
index d57f52a21..0c67f220e 100644
--- a/target/linux/Makefile.in.advanced
+++ b/target/linux/Makefile.in.advanced
@@ -103,6 +103,12 @@ endif
endif
endif
+KERNEL_CONFIG_METHOD:=($(strip $(subst ",,$(BR2_KERNEL_CONFIG_METHOD))),)
+#"))
+ifeq ($(KERNEL_CONFIG_METHOD),)
+KERNEL_CONFIG_METHOD:=xconfig
+endif
+
# -----------------------------------------------------------------------------
ifndef LINUX26_FORMAT
ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),)
@@ -302,7 +308,7 @@ ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y)
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y)
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig
+ $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD)
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
# Try user defined config
@@ -326,7 +332,7 @@ ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
fi
# let the user create his/her own config
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig ; \
+ $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) ; \
fi
endif