print_flash_cmd:
echo $(ESPTOOL_WRITE_FLASH_OPTIONS) $(ESPTOOL_ALL_FLASH_ARGS) | sed -e 's:'$(PWD)/build/'::g'
+
+# List of unit-test-app configurations.
+# Each file in configs/ directory defines a configuration. The format is the
+# same as sdkconfig file. Configuration is applied on top of sdkconfig.defaults
+# file from the project directory
+CONFIG_NAMES := $(notdir $(wildcard configs/*))
+
+# Per-config targets
+CONFIG_BUILD_TARGETS := $(addprefix ut-build-,$(CONFIG_NAMES))
+CONFIG_CLEAN_TARGETS := $(addprefix ut-clean-,$(CONFIG_NAMES))
+CONFIG_APPLY_TARGETS := $(addprefix ut-apply-config-,$(CONFIG_NAMES))
+
+# Build (intermediate) and output (artifact) directories
+BUILDS_DIR := $(PROJECT_PATH)/builds
+BINARIES_DIR := $(PROJECT_PATH)/output
+
+# This generates per-config targets (clean, build, apply-config).
+define GenerateConfigTargets
+# $(1) - configuration name
+ut-clean-$(1):
+ rm -rf $$(BUILDS_DIR)/$(1) $$(BINARIES_DIR)/$(1)
+
+ut-build-$(1): $$(BINARIES_DIR)/$(1)/$$(PROJECT_NAME).bin
+
+ut-apply-config-$(1):
+ cat sdkconfig.defaults > sdkconfig
+ echo "" >> sdkconfig
+ cat configs/$(1) >> sdkconfig
+ $(call RunConf,conf --olddefconfig)
+endef
+
+$(foreach config_name,$(CONFIG_NAMES), $(eval $(call GenerateConfigTargets,$(config_name))))
+
+ut-build-all-configs: $(CONFIG_BUILD_TARGETS)
+ut-clean-all-configs: $(CONFIG_CLEAN_TARGETS)
+
+# This target builds the configuration. It does not currently track dependencies,
+# but is good enough for CI builds if used together with clean-all-configs.
+# For local builds, use 'apply-config-NAME' target and then use normal 'all'
+# and 'flash' targets.
+$(BINARIES_DIR)/%/bootloader.bin \
+$(BINARIES_DIR)/%/$(PROJECT_NAME).elf \
+$(BINARIES_DIR)/%/$(PROJECT_NAME).map \
+$(BINARIES_DIR)/%/$(PROJECT_NAME).bin: configs/%
+ # Create build and output directories
+ mkdir -p $(BINARIES_DIR)/$*/bootloader
+ mkdir -p $(BUILDS_DIR)/$*
+ # Prepare configuration: top-level sdkconfig.defaults file plus the current configuration (configs/$*)
+ $(summary) CONFIG $(BUILDS_DIR)/$*/sdkconfig
+ rm -f $(BUILDS_DIR)/$*/sdkconfig
+ cat sdkconfig.defaults > $(BUILDS_DIR)/$*/sdkconfig.defaults
+ echo "" >> $(BUILDS_DIR)/$*/sdkconfig.defaults # in case there is no trailing newline in sdkconfig.defaults
+ cat configs/$* >> $(BUILDS_DIR)/$*/sdkconfig.defaults
+ # Build, tweaking paths to sdkconfig and sdkconfig.defaults
+ $(summary) BUILD_CONFIG $(BUILDS_DIR)/$*
+ $(MAKE) defconfig all \
+ BUILD_DIR_BASE=$(BUILDS_DIR)/$* \
+ SDKCONFIG=$(BUILDS_DIR)/$*/sdkconfig \
+ SDKCONFIG_DEFAULTS=$(BUILDS_DIR)/$*/sdkconfig.defaults
+ $(MAKE) print_flash_cmd \
+ BUILD_DIR_BASE=$(BUILDS_DIR)/$* \
+ SDKCONFIG=$(BUILDS_DIR)/$*/sdkconfig \
+ | sed -e 's:'$(BUILDS_DIR)/$*/'::g' \
+ | tail -n 1 > $(BINARIES_DIR)/$*/download.config
+ # Copy files of interest to the output directory
+ cp $(BUILDS_DIR)/$*/bootloader/bootloader.bin $(BINARIES_DIR)/$*/bootloader/
+ cp $(BUILDS_DIR)/$*/$(PROJECT_NAME).elf $(BINARIES_DIR)/$*/
+ cp $(BUILDS_DIR)/$*/$(PROJECT_NAME).bin $(BINARIES_DIR)/$*/
+ cp $(BUILDS_DIR)/$*/$(PROJECT_NAME).map $(BINARIES_DIR)/$*/
+ cp $(BUILDS_DIR)/$*/partition_table*.bin $(BINARIES_DIR)/$*/
+ cp $(BUILDS_DIR)/$*/sdkconfig $(BINARIES_DIR)/$*/
+
+
+ut-help:
+ @echo "Additional unit-test-app specific targets:"
+ @echo ""
+ @echo "make ut-build-NAME - Build unit-test-app with configuration provided in configs/NAME."
+ @echo " Build directory will be builds/NAME/, output binaries will be"
+ @echo " under output/NAME/"
+ @echo "make ut-clean-NAME - Remove build and output directories for configuration NAME."
+ @echo ""
+ @echo "make ut-build-all-configs - Build all configurations defined in configs/ directory."
+ @echo ""
+ @echo "make ut-apply-config-NAME - Generates configuration based on configs/NAME in sdkconfig"
+ @echo " file. After this, normal all/flash targets can be used."
+ @echo " Useful for development/debugging."
+ @echo ""
+
+help: ut-help
+
+.PHONY: ut-build-all-configs ut-clean-all-configs \
+ $(CONFIG_BUILD_TARGETS) $(CONFIG_CLEAN_TARGETS) $(CONFIG_APPLY_TARGETS) \
+ ut-help
+++ /dev/null
-#
-# Automatically generated file; DO NOT EDIT.
-# Espressif IoT Development Framework Configuration
-#
-
-#
-# SDK tool configuration
-#
-CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
-CONFIG_PYTHON="python"
-CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y
-
-#
-# Bootloader config
-#
-CONFIG_LOG_BOOTLOADER_LEVEL_NONE=
-CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=
-CONFIG_LOG_BOOTLOADER_LEVEL_WARN=y
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=
-CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
-CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
-CONFIG_LOG_BOOTLOADER_LEVEL=2
-
-#
-# Security features
-#
-CONFIG_SECURE_BOOT_ENABLED=
-CONFIG_FLASH_ENCRYPTION_ENABLED=
-
-#
-# Serial flasher config
-#
-CONFIG_ESPTOOLPY_PORT="/dev/ttyUSB0"
-CONFIG_ESPTOOLPY_BAUD_115200B=
-CONFIG_ESPTOOLPY_BAUD_230400B=
-CONFIG_ESPTOOLPY_BAUD_921600B=y
-CONFIG_ESPTOOLPY_BAUD_2MB=
-CONFIG_ESPTOOLPY_BAUD_OTHER=
-CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
-CONFIG_ESPTOOLPY_BAUD=921600
-CONFIG_ESPTOOLPY_COMPRESSED=y
-CONFIG_FLASHMODE_QIO=
-CONFIG_FLASHMODE_QOUT=
-CONFIG_FLASHMODE_DIO=y
-CONFIG_FLASHMODE_DOUT=
-CONFIG_ESPTOOLPY_FLASHMODE="dio"
-CONFIG_ESPTOOLPY_FLASHFREQ_80M=
-CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
-CONFIG_ESPTOOLPY_FLASHFREQ_26M=
-CONFIG_ESPTOOLPY_FLASHFREQ_20M=
-CONFIG_ESPTOOLPY_FLASHFREQ="40m"
-CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
-CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
-CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
-CONFIG_ESPTOOLPY_FLASHSIZE_8MB=
-CONFIG_ESPTOOLPY_FLASHSIZE_16MB=
-CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
-CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
-CONFIG_ESPTOOLPY_BEFORE_RESET=y
-CONFIG_ESPTOOLPY_BEFORE_NORESET=
-CONFIG_ESPTOOLPY_BEFORE="default_reset"
-CONFIG_ESPTOOLPY_AFTER_RESET=y
-CONFIG_ESPTOOLPY_AFTER_NORESET=
-CONFIG_ESPTOOLPY_AFTER="hard_reset"
-CONFIG_MONITOR_BAUD_9600B=
-CONFIG_MONITOR_BAUD_57600B=
-CONFIG_MONITOR_BAUD_115200B=y
-CONFIG_MONITOR_BAUD_230400B=
-CONFIG_MONITOR_BAUD_921600B=
-CONFIG_MONITOR_BAUD_2MB=
-CONFIG_MONITOR_BAUD_OTHER=
-CONFIG_MONITOR_BAUD_OTHER_VAL=115200
-CONFIG_MONITOR_BAUD=115200
-
-#
-# Partition Table
-#
-CONFIG_PARTITION_TABLE_SINGLE_APP=
-CONFIG_PARTITION_TABLE_TWO_OTA=
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partition_table_unit_test_app.csv"
-CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000
-CONFIG_PARTITION_TABLE_FILENAME="partition_table_unit_test_app.csv"
-CONFIG_APP_OFFSET=0x10000
-
-#
-# Compiler options
-#
-CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
-CONFIG_OPTIMIZATION_LEVEL_RELEASE=
-CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
-CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=
-CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=
-CONFIG_CXX_EXCEPTIONS=
-
-#
-# Component config
-#
-
-#
-# Application Level Tracing
-#
-CONFIG_ESP32_APPTRACE_DEST_TRAX=
-CONFIG_ESP32_APPTRACE_DEST_NONE=y
-CONFIG_ESP32_APPTRACE_ENABLE=
-CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
-
-#
-# FreeRTOS SystemView Tracing
-#
-CONFIG_AWS_IOT_SDK=
-CONFIG_BT_ENABLED=
-CONFIG_BT_RESERVE_DRAM=0
-
-#
-# ESP32-specific
-#
-CONFIG_ESP32_DEFAULT_CPU_FREQ_80=
-CONFIG_ESP32_DEFAULT_CPU_FREQ_160=
-CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
-CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
-CONFIG_MEMMAP_SMP=y
-CONFIG_SPIRAM_SUPPORT=
-CONFIG_MEMMAP_TRACEMEM=
-CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
-CONFIG_ESP32_TRAX=
-CONFIG_TRACEMEM_RESERVE_DRAM=0x0
-CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=
-CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=
-CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
-CONFIG_ESP32_ENABLE_COREDUMP=
-CONFIG_TWO_UNIVERSAL_MAC_ADDRESS=
-CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
-CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
-CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048
-CONFIG_MAIN_TASK_STACK_SIZE=4096
-CONFIG_IPC_TASK_STACK_SIZE=1024
-CONFIG_TIMER_TASK_STACK_SIZE=4096
-CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
-CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF=
-CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR=
-CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF=
-CONFIG_NEWLIB_STDIN_LINE_ENDING_LF=
-CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
-CONFIG_NEWLIB_NANO_FORMAT=
-CONFIG_CONSOLE_UART_DEFAULT=y
-CONFIG_CONSOLE_UART_CUSTOM=
-CONFIG_CONSOLE_UART_NONE=
-CONFIG_CONSOLE_UART_NUM=0
-CONFIG_CONSOLE_UART_BAUDRATE=115200
-CONFIG_ULP_COPROC_ENABLED=y
-CONFIG_ULP_COPROC_RESERVE_MEM=512
-CONFIG_ESP32_PANIC_PRINT_HALT=
-CONFIG_ESP32_PANIC_PRINT_REBOOT=y
-CONFIG_ESP32_PANIC_SILENT_REBOOT=
-CONFIG_ESP32_PANIC_GDBSTUB=
-CONFIG_ESP32_DEBUG_OCDAWARE=y
-CONFIG_INT_WDT=y
-CONFIG_INT_WDT_TIMEOUT_MS=300
-CONFIG_INT_WDT_CHECK_CPU1=y
-CONFIG_TASK_WDT=
-CONFIG_BROWNOUT_DET=y
-CONFIG_BROWNOUT_DET_LVL_SEL_0=y
-CONFIG_BROWNOUT_DET_LVL_SEL_1=
-CONFIG_BROWNOUT_DET_LVL_SEL_2=
-CONFIG_BROWNOUT_DET_LVL_SEL_3=
-CONFIG_BROWNOUT_DET_LVL_SEL_4=
-CONFIG_BROWNOUT_DET_LVL_SEL_5=
-CONFIG_BROWNOUT_DET_LVL_SEL_6=
-CONFIG_BROWNOUT_DET_LVL_SEL_7=
-CONFIG_BROWNOUT_DET_LVL=0
-CONFIG_ESP32_TIME_SYSCALL_USE_RTC=
-CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
-CONFIG_ESP32_TIME_SYSCALL_USE_FRC1=
-CONFIG_ESP32_TIME_SYSCALL_USE_NONE=
-CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
-CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL=
-CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
-CONFIG_ESP32_XTAL_FREQ_40=
-CONFIG_ESP32_XTAL_FREQ_26=
-CONFIG_ESP32_XTAL_FREQ_AUTO=y
-CONFIG_ESP32_XTAL_FREQ=0
-CONFIG_DISABLE_BASIC_ROM_CONSOLE=
-CONFIG_NO_BLOBS=
-
-#
-# Wi-Fi
-#
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=0
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
-CONFIG_ESP32_WIFI_AMPDU_ENABLED=y
-CONFIG_ESP32_WIFI_TX_BA_WIN=6
-CONFIG_ESP32_WIFI_RX_BA_WIN=6
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-
-#
-# PHY
-#
-CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
-CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=
-CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
-CONFIG_ESP32_PHY_MAX_TX_POWER=20
-
-#
-# Ethernet
-#
-CONFIG_DMA_RX_BUF_NUM=10
-CONFIG_DMA_TX_BUF_NUM=10
-CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=
-CONFIG_EMAC_TASK_PRIORITY=20
-
-#
-# FAT Filesystem support
-#
-CONFIG_FATFS_CODEPAGE_ASCII=y
-CONFIG_FATFS_CODEPAGE_437=
-CONFIG_FATFS_CODEPAGE_720=
-CONFIG_FATFS_CODEPAGE_737=
-CONFIG_FATFS_CODEPAGE_771=
-CONFIG_FATFS_CODEPAGE_775=
-CONFIG_FATFS_CODEPAGE_850=
-CONFIG_FATFS_CODEPAGE_852=
-CONFIG_FATFS_CODEPAGE_855=
-CONFIG_FATFS_CODEPAGE_857=
-CONFIG_FATFS_CODEPAGE_860=
-CONFIG_FATFS_CODEPAGE_861=
-CONFIG_FATFS_CODEPAGE_862=
-CONFIG_FATFS_CODEPAGE_863=
-CONFIG_FATFS_CODEPAGE_864=
-CONFIG_FATFS_CODEPAGE_865=
-CONFIG_FATFS_CODEPAGE_866=
-CONFIG_FATFS_CODEPAGE_869=
-CONFIG_FATFS_CODEPAGE_932=
-CONFIG_FATFS_CODEPAGE_936=
-CONFIG_FATFS_CODEPAGE_949=
-CONFIG_FATFS_CODEPAGE_950=
-CONFIG_FATFS_CODEPAGE=1
-CONFIG_FATFS_MAX_LFN=255
-
-#
-# FreeRTOS
-#
-CONFIG_FREERTOS_UNICORE=
-CONFIG_FREERTOS_CORETIMER_0=y
-CONFIG_FREERTOS_CORETIMER_1=
-CONFIG_FREERTOS_HZ=1000
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL=
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
-CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3
-CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
-CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE=
-CONFIG_FREERTOS_ASSERT_DISABLE=
-CONFIG_FREERTOS_BREAK_ON_SCHEDULER_START_JTAG=y
-CONFIG_ENABLE_MEMORY_DEBUG=
-CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-CONFIG_FREERTOS_LEGACY_HOOKS=
-CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
-CONFIG_SUPPORT_STATIC_ALLOCATION=
-CONFIG_TIMER_TASK_PRIORITY=1
-CONFIG_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_TIMER_QUEUE_LENGTH=10
-CONFIG_FREERTOS_DEBUG_INTERNALS=
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_POISONING_DISABLED=
-CONFIG_HEAP_POISONING_LIGHT=
-CONFIG_HEAP_POISONING_COMPREHENSIVE=y
-CONFIG_HEAP_TRACING=
-
-#
-# libsodium
-#
-CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
-
-#
-# Log output
-#
-CONFIG_LOG_DEFAULT_LEVEL_NONE=
-CONFIG_LOG_DEFAULT_LEVEL_ERROR=
-CONFIG_LOG_DEFAULT_LEVEL_WARN=
-CONFIG_LOG_DEFAULT_LEVEL_INFO=y
-CONFIG_LOG_DEFAULT_LEVEL_DEBUG=
-CONFIG_LOG_DEFAULT_LEVEL_VERBOSE=
-CONFIG_LOG_DEFAULT_LEVEL=3
-CONFIG_LOG_COLORS=y
-
-#
-# LWIP
-#
-CONFIG_L2_TO_L3_COPY=
-CONFIG_LWIP_MAX_SOCKETS=4
-CONFIG_LWIP_SO_REUSE=
-CONFIG_LWIP_SO_RCVBUF=
-CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
-CONFIG_LWIP_IP_FRAG=
-CONFIG_LWIP_IP_REASSEMBLY=
-CONFIG_LWIP_STATS=
-CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
-CONFIG_TCPIP_RECVMBOX_SIZE=32
-
-#
-# TCP
-#
-CONFIG_TCP_MAXRTX=12
-CONFIG_TCP_SYNMAXRTX=6
-CONFIG_TCP_MSS=1436
-CONFIG_TCP_MSL=60000
-CONFIG_TCP_SND_BUF_DEFAULT=5744
-CONFIG_TCP_WND_DEFAULT=5744
-CONFIG_TCP_RECVMBOX_SIZE=6
-CONFIG_TCP_QUEUE_OOSEQ=y
-CONFIG_TCP_OVERSIZE_MSS=y
-CONFIG_TCP_OVERSIZE_QUARTER_MSS=
-CONFIG_TCP_OVERSIZE_DISABLE=
-
-#
-# UDP
-#
-CONFIG_UDP_RECVMBOX_SIZE=6
-CONFIG_LWIP_DHCP_DOES_ARP_CHECK=
-CONFIG_TCPIP_TASK_STACK_SIZE=2048
-CONFIG_PPP_SUPPORT=
-
-#
-# ICMP
-#
-CONFIG_LWIP_MULTICAST_PING=
-CONFIG_LWIP_BROADCAST_PING=
-
-#
-# mbedTLS
-#
-CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
-CONFIG_MBEDTLS_DEBUG=
-CONFIG_MBEDTLS_HARDWARE_AES=y
-CONFIG_MBEDTLS_HARDWARE_MPI=y
-CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
-CONFIG_MBEDTLS_HARDWARE_SHA=y
-CONFIG_MBEDTLS_HAVE_TIME=y
-CONFIG_MBEDTLS_HAVE_TIME_DATE=
-CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
-CONFIG_MBEDTLS_TLS_SERVER_ONLY=
-CONFIG_MBEDTLS_TLS_CLIENT_ONLY=
-CONFIG_MBEDTLS_TLS_DISABLED=
-CONFIG_MBEDTLS_TLS_SERVER=y
-CONFIG_MBEDTLS_TLS_CLIENT=y
-CONFIG_MBEDTLS_TLS_ENABLED=y
-
-#
-# TLS Key Exchange Methods
-#
-CONFIG_MBEDTLS_PSK_MODES=
-CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
-CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-CONFIG_MBEDTLS_SSL_PROTO_SSL3=
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
-CONFIG_MBEDTLS_SSL_PROTO_DTLS=
-CONFIG_MBEDTLS_SSL_ALPN=y
-CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y
-
-#
-# Symmetric Ciphers
-#
-CONFIG_MBEDTLS_AES_C=y
-CONFIG_MBEDTLS_CAMELLIA_C=
-CONFIG_MBEDTLS_DES_C=
-CONFIG_MBEDTLS_RC4_DISABLED=y
-CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT=
-CONFIG_MBEDTLS_RC4_ENABLED=
-CONFIG_MBEDTLS_BLOWFISH_C=
-CONFIG_MBEDTLS_XTEA_C=
-CONFIG_MBEDTLS_CCM_C=y
-CONFIG_MBEDTLS_GCM_C=y
-CONFIG_MBEDTLS_RIPEMD160_C=
-
-#
-# Certificates
-#
-CONFIG_MBEDTLS_PEM_PARSE_C=y
-CONFIG_MBEDTLS_PEM_WRITE_C=y
-CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
-CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
-CONFIG_MBEDTLS_ECP_C=y
-CONFIG_MBEDTLS_ECDH_C=y
-CONFIG_MBEDTLS_ECDSA_C=y
-CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
-CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
-
-#
-# OpenSSL
-#
-CONFIG_OPENSSL_DEBUG=
-CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
-CONFIG_OPENSSL_ASSERT_EXIT=
-
-#
-# PThreads
-#
-CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
-
-#
-# SPI Flash driver
-#
-CONFIG_SPI_FLASH_ENABLE_COUNTERS=
-CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
-
-#
-# SPIFFS Configuration
-#
-CONFIG_SPIFFS_MAX_PARTITIONS=3
-
-#
-# SPIFFS Cache Configuration
-#
-CONFIG_SPIFFS_CACHE=y
-CONFIG_SPIFFS_CACHE_WR=y
-CONFIG_SPIFFS_CACHE_STATS=
-CONFIG_SPIFFS_PAGE_CHECK=y
-CONFIG_SPIFFS_GC_MAX_RUNS=10
-CONFIG_SPIFFS_GC_STATS=
-CONFIG_SPIFFS_OBJ_NAME_LEN=32
-CONFIG_SPIFFS_USE_MAGIC=y
-CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
-
-#
-# Debug Configuration
-#
-CONFIG_SPIFFS_DBG=
-CONFIG_SPIFFS_API_DBG=
-CONFIG_SPIFFS_GC_DBG=
-CONFIG_SPIFFS_CACHE_DBG=
-CONFIG_SPIFFS_CHECK_DBG=
-CONFIG_SPIFFS_TEST_VISUALISATION=
-
-#
-# tcpip adapter
-#
-CONFIG_IP_LOST_TIMER_INTERVAL=120
-
-#
-# Wear Levelling
-#
-CONFIG_WL_SECTOR_SIZE_512=
-CONFIG_WL_SECTOR_SIZE_4096=y
-CONFIG_WL_SECTOR_SIZE=4096