diff options
| -rw-r--r-- | Config.in | 12 | ||||
| -rw-r--r-- | Makefile | 17 | ||||
| -rw-r--r-- | docs/manual/customize-store.txt | 10 | 
3 files changed, 31 insertions, 8 deletions
| @@ -22,6 +22,18 @@ config BR2_HOSTARCH_NEEDS_IA32_LIBS  source "arch/Config.in" +config BR2_DEFCONFIG_FROM_ENV +	string +	option env="BR2_DEFCONFIG" + +config BR2_DEFCONFIG +	string "Location to save buildroot config" +	default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != "" +	default "$(CONFIG_DIR)/defconfig" +	help +	  When running 'make savedefconfig', the defconfig file will be saved +	  in this location. +  menu "Build options"  menu "Commands" @@ -56,7 +56,7 @@ DATE:=$(shell date +%Y%m%d)  export BR2_VERSION_FULL:=$(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)  noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \ -	defconfig %_defconfig savedefconfig allyesconfig allnoconfig silentoldconfig release \ +	%_defconfig allyesconfig allnoconfig silentoldconfig release \  	randpackageconfig allyespackageconfig allnopackageconfig \  	source-check print-version @@ -592,6 +592,8 @@ else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)  all: menuconfig +endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y) +  # configuration  # --------------------------------------------------------------------------- @@ -602,7 +604,12 @@ $(BUILD_DIR)/buildroot-config/%onf:  	mkdir -p $(@D)/lxdialog  	$(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F) +DEFCONFIG = $(call qstrip,$(BR2_DEFCONFIG)) + +# We don't want to fully expand BR2_DEFCONFIG here, so Kconfig will +# recognize that if it's still at its default $(CONFIG_DIR)/defconfig  COMMON_CONFIG_ENV = \ +	BR2_DEFCONFIG='$(call qstrip,$(value BR2_DEFCONFIG))' \  	KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \  	KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \  	KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \ @@ -680,7 +687,7 @@ silentoldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile  defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile  	@mkdir -p $(BUILD_DIR)/buildroot-config -	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(BR2_DEFCONFIG),=$(BR2_DEFCONFIG)) $(CONFIG_CONFIG_IN) +	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)  %_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile  	@mkdir -p $(BUILD_DIR)/buildroot-config @@ -688,13 +695,15 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile  savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile  	@mkdir -p $(BUILD_DIR)/buildroot-config -	@$(COMMON_CONFIG_ENV) $< --savedefconfig=$(CONFIG_DIR)/defconfig $(CONFIG_CONFIG_IN) +	@$(COMMON_CONFIG_ENV) $< \ +		--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \ +		$(CONFIG_CONFIG_IN)  # check if download URLs are outdated  source-check:  	$(MAKE) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source -endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y) +.PHONY: defconfig savedefconfig  #############################################################  # diff --git a/docs/manual/customize-store.txt b/docs/manual/customize-store.txt index 298b5e96a..63ea82dcf 100644 --- a/docs/manual/customize-store.txt +++ b/docs/manual/customize-store.txt @@ -20,13 +20,15 @@ Buildroot configuration  ^^^^^^^^^^^^^^^^^^^^^^^  For storing the buildroot configuration itself, buildroot offers the -following command: +make savedefconfig+ +following command: +make savedefconfig+.  This strips the buildroot configuration down by removing configuration  options that are at their default value. The result is stored in a file -called +defconfig+. Copy this file to +foo_defconfig+ in the +configs+ -directory. The configuration can then be rebuilt by running -+make foo_defconfig+ +called +defconfig+.  If you want to save it in another place, change +the +BR2_DEFCONFIG+ option, or call make with +make savedefconfig +BR2_DEFCONFIG=<path-to-defconfig>+.  The usual place is ++configs/<boardname>_defconfig+. The configuration can then be rebuilt by +running +make <boardname>_defconfig+.  Alternatively, you can copy the file to any other place and rebuild with  +make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+. | 
