diff options
| -rw-r--r-- | target/linux/Config.in.advanced | 27 | ||||
| -rw-r--r-- | target/linux/Makefile.in.advanced | 10 | 
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 | 
