forked from espressif/esp-idf
Merge branch 'bugfix/ci-menuconfig-noninteractive' into 'master'
Fix for noninteractive builds This MR fixes the case when new Kconfig configuration options were added and you run `make menuconfig`. Previously this would first show console prompt to set values for new options, and then launch menuconfig. Now this will just launch menuconfig. New items are marked as `(NEW)`. New target is added, defconfig, which may be useful for non-interactive environments to set default values for all new configuration options. Gitlab CI uses `make defconfig` to update sdkconfig in case any new options were added in ESP-IDF. See merge request !15
This commit is contained in:
@@ -15,6 +15,7 @@ build_template_app:
|
|||||||
script:
|
script:
|
||||||
- git clone https://github.com/espressif/esp-idf-template.git
|
- git clone https://github.com/espressif/esp-idf-template.git
|
||||||
- cd esp-idf-template
|
- cd esp-idf-template
|
||||||
|
- make defconfig
|
||||||
- make all
|
- make all
|
||||||
|
|
||||||
test_nvs_on_host:
|
test_nvs_on_host:
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
# Makefile is located.
|
# Makefile is located.
|
||||||
#
|
#
|
||||||
|
|
||||||
.PHONY: build-components menuconfig all build clean all_binaries
|
.PHONY: build-components menuconfig defconfig all build clean all_binaries
|
||||||
all: all_binaries # other components will add dependencies to 'all_binaries'
|
all: all_binaries # other components will add dependencies to 'all_binaries'
|
||||||
@echo "To flash all build output, run 'make flash' or:"
|
@echo "To flash all build output, run 'make flash' or:"
|
||||||
@echo $(ESPTOOLPY_WRITE_FLASH) $(ESPTOOL_ALL_FLASH_ARGS)
|
@echo $(ESPTOOLPY_WRITE_FLASH) $(ESPTOOL_ALL_FLASH_ARGS)
|
||||||
@@ -23,6 +23,7 @@ help:
|
|||||||
@echo "Welcome to Espressif IDF build system. Some useful make targets:"
|
@echo "Welcome to Espressif IDF build system. Some useful make targets:"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "make menuconfig - Configure IDF project"
|
@echo "make menuconfig - Configure IDF project"
|
||||||
|
@echo "make defconfig - Set defaults for all new configuration options"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "make all - Build app, bootloader, partition table"
|
@echo "make all - Build app, bootloader, partition table"
|
||||||
@echo "make flash - Flash all components to a fresh chip"
|
@echo "make flash - Flash all components to a fresh chip"
|
||||||
|
@@ -28,10 +28,18 @@ ifeq ("$(wildcard $(PROJECT_PATH)/sdkconfig)","")
|
|||||||
$(PROJECT_PATH)/sdkconfig: menuconfig
|
$(PROJECT_PATH)/sdkconfig: menuconfig
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
defconfig: $(KCONFIG_TOOL_DIR)/mconf $(IDF_PATH)/Kconfig $(BUILD_DIR_BASE)
|
||||||
|
$(vecho) DEFCONFIG
|
||||||
|
$(Q) mkdir -p $(PROJECT_PATH)/build/include/config
|
||||||
|
$(Q) KCONFIG_AUTOHEADER=$(PROJECT_PATH)/build/include/sdkconfig.h \
|
||||||
|
KCONFIG_CONFIG=$(PROJECT_PATH)/sdkconfig \
|
||||||
|
COMPONENT_KCONFIGS="$(COMPONENT_KCONFIGS)" \
|
||||||
|
COMPONENT_KCONFIGS_PROJBUILD="$(COMPONENT_KCONFIGS_PROJBUILD)" \
|
||||||
|
$(KCONFIG_TOOL_DIR)/conf --olddefconfig $(IDF_PATH)/Kconfig
|
||||||
|
|
||||||
# Work out of whether we have to build the Kconfig makefile
|
# Work out of whether we have to build the Kconfig makefile
|
||||||
# (auto.conf), or if we're in a situation where we don't need it
|
# (auto.conf), or if we're in a situation where we don't need it
|
||||||
NON_CONFIG_TARGETS := clean %-clean get_variable help
|
NON_CONFIG_TARGETS := clean %-clean get_variable help menuconfig defconfig
|
||||||
AUTO_CONF_REGEN_TARGET := $(PROJECT_PATH)/build/include/config/auto.conf
|
AUTO_CONF_REGEN_TARGET := $(PROJECT_PATH)/build/include/config/auto.conf
|
||||||
|
|
||||||
# disable AUTO_CONF_REGEN_TARGET if all targets are non-config targets
|
# disable AUTO_CONF_REGEN_TARGET if all targets are non-config targets
|
||||||
|
Reference in New Issue
Block a user