mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 06:36:34 +00:00
Make savedefconfig save to a configured file.
Store BR2_DEFCONFIG in .config, and use it to update the original input defconfig file after updating the configuration. When a config is created by using the BR2_DEFCONFIG=... option, this is saved in the .config file; later runs of savedefconfig will update that same location. It is also possible to configure this place in the interactive configuration. The BR2_DEFCONFIG value itself is not saved into the generated defconfig, since Kconfig considers it at its default. This is intentional, to avoid hard-coding an absolute path in the defconfig. It will anyway be set again when the defconfig is used with the 'make BR2_DEFCONFIG=... defconfig' command. As a side-effect of this change, the *config options have been moved out of the BR2_HAVE_DOT_CONFIG condition. This doesn't make any functional difference, because the .config is still not read for the *config targets. However, the defconfig and savedefconfig targets do need to include .config now, which makes them slightly slower. [Peter: slightly tweak help text] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
f026d3642d
commit
1ed4996346
12
Config.in
12
Config.in
@ -22,6 +22,18 @@ config BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|||||||
|
|
||||||
source "arch/Config.in"
|
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 "Build options"
|
||||||
|
|
||||||
menu "Commands"
|
menu "Commands"
|
||||||
|
17
Makefile
17
Makefile
@ -56,7 +56,7 @@ DATE:=$(shell date +%Y%m%d)
|
|||||||
export BR2_VERSION_FULL:=$(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
export BR2_VERSION_FULL:=$(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||||
|
|
||||||
noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||||
defconfig %_defconfig savedefconfig allyesconfig allnoconfig silentoldconfig release \
|
%_defconfig allyesconfig allnoconfig silentoldconfig release \
|
||||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||||
source-check print-version
|
source-check print-version
|
||||||
|
|
||||||
@ -592,6 +592,8 @@ else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
|||||||
|
|
||||||
all: menuconfig
|
all: menuconfig
|
||||||
|
|
||||||
|
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||||
|
|
||||||
# configuration
|
# configuration
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -602,7 +604,12 @@ $(BUILD_DIR)/buildroot-config/%onf:
|
|||||||
mkdir -p $(@D)/lxdialog
|
mkdir -p $(@D)/lxdialog
|
||||||
$(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F)
|
$(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 = \
|
COMMON_CONFIG_ENV = \
|
||||||
|
BR2_DEFCONFIG='$(call qstrip,$(value BR2_DEFCONFIG))' \
|
||||||
KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
|
KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
|
||||||
KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
|
KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
|
||||||
KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \
|
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
|
defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
@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
|
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile
|
||||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
@mkdir -p $(BUILD_DIR)/buildroot-config
|
||||||
@ -688,13 +695,15 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
|||||||
|
|
||||||
savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||||
@mkdir -p $(BUILD_DIR)/buildroot-config
|
@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
|
# check if download URLs are outdated
|
||||||
source-check:
|
source-check:
|
||||||
$(MAKE) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
|
$(MAKE) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
|
||||||
|
|
||||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
.PHONY: defconfig savedefconfig
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
#
|
#
|
||||||
|
@ -20,13 +20,15 @@ Buildroot configuration
|
|||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
For storing the buildroot configuration itself, buildroot offers the
|
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
|
This strips the buildroot configuration down by removing configuration
|
||||||
options that are at their default value. The result is stored in a file
|
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+
|
called +defconfig+. If you want to save it in another place, change
|
||||||
directory. The configuration can then be rebuilt by running
|
the +BR2_DEFCONFIG+ option, or call make with +make savedefconfig
|
||||||
+make foo_defconfig+
|
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
|
Alternatively, you can copy the file to any other place and rebuild with
|
||||||
+make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
|
+make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user