@@ -78,8 +78,11 @@ INC += -Iesp-idf/components/freertos/xtensa/include
7878INC += -Iesp-idf/components/esp32s2/include
7979INC += -Iesp-idf/components/xtensa/esp32s2/include
8080INC += -Iesp-idf/components/esp_common/include
81+ INC += -Iesp-idf/components/esp_event/include
82+ INC += -Iesp-idf/components/esp_netif/include
8183INC += -Iesp-idf/components/esp_ringbuf/include
8284INC += -Iesp-idf/components/esp_rom/include
85+ INC += -Iesp-idf/components/esp_wifi/include
8386INC += -Iesp-idf/components/xtensa/include
8487INC += -Iesp-idf/components/esp_timer/include
8588INC += -Iesp-idf/components/soc/include
@@ -129,7 +132,7 @@ LDFLAGS += -L$(BUILD)/esp-idf/esp-idf/esp32s2 \
129132 -Tesp32s2.rom.newlib-data.ld \
130133 -Tesp32s2.rom.newlib-funcs.ld \
131134 -Tesp32s2.rom.spiflash.ld
132- LIBS := -lgcc -lc
135+ LIBS := -lgcc -lc -lstdc++
133136
134137#
135138
@@ -238,20 +241,25 @@ $(BUILD)/esp-idf/partition_table/partition-table.bin: $(BUILD)/esp-idf/config/sd
238241
239242# run menuconfig
240243menuconfig : $(BUILD ) /esp-idf/config
241- ninja -C $(BUILD ) /esp-idf menuconfig
242- diff --old-line-format= --unchanged-line-format= sdkconfig.defaults $(BUILD ) /esp-idf/sdkconfig > boards/$(BOARD ) /sdkconfig || true
244+ $( Q ) ninja -C $(BUILD ) /esp-idf menuconfig
245+ $( Q ) diff --old-line-format= --unchanged-line-format= sdkconfig.defaults $(BUILD ) /esp-idf/sdkconfig > boards/$(BOARD ) /sdkconfig || true
243246
244247# qstr builds include headers so we need to make sure they are up to date
245248$(HEADER_BUILD ) /qstr.i.last : | $(BUILD ) /esp-idf/config/sdkconfig.h
246249
247250# Order here matters
248- ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf #
251+ ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash
249252
250253ESP_IDF_COMPONENTS_INCLUDE = driver freertos log soc
251254
252255INC += $(foreach component, $(ESP_IDF_COMPONENTS_INCLUDE ) , -Iesp-idf/components/$(component ) /include)
253256
254257ESP_IDF_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/$(component ) /lib$(component ) .a)
258+ ESP_IDF_WIFI_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_WIFI_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/$(component ) /lib$(component ) .a)
259+
260+ MBEDTLS_COMPONENTS_LINK = crypto tls x509
261+ MBEDTLS_COMPONENTS_LINK_EXPANDED = $(foreach component, $(MBEDTLS_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/mbedtls/mbedtls/library/libmbed$(component ) .a)
262+
255263BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libhal.a
256264BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a librtc.a libsmartconfig.a libphy.a
257265BINARY_BLOBS += $(addprefix esp-idf/components/esp_wifi/lib/esp32s2/, $(BINARY_WIFI_BLOBS ) )
@@ -265,18 +273,23 @@ all: $(BUILD)/firmware.bin $(BUILD)/firmware.uf2
265273
266274.PHONY : esp-idf-stamp
267275esp-idf-stamp : $(BUILD ) /esp-idf/config/sdkconfig.h
268- ninja -C $(BUILD ) /esp-idf \
276+ $( Q ) ninja -C $(BUILD ) /esp-idf \
269277 bootloader/bootloader.bin \
270278 esp-idf/bootloader_support/libbootloader_support.a \
271279 esp-idf/esp32s2/ld/esp32s2.project.ld \
280+ esp-idf/esp_event/libesp_event.a \
272281 esp-idf/esp_system/libesp_system.a \
282+ esp-idf/esp_wifi/libesp_wifi.a \
283+ esp-idf/nvs_flash/libnvs_flash.a \
284+ esp-idf/wpa_supplicant/libwpa_supplicant.a \
285+ esp-idf/mbedtls/libmbedtls.a \
273286 esp-idf/freertos/libfreertos.a \
274287 esp-idf/log/liblog.a \
275288 esp-idf/xtensa/libxtensa.a
276289
277290$(BUILD ) /firmware.elf : $(OBJ ) | esp-idf-stamp
278291 $(STEPECHO ) " LINK $@ "
279- $(Q )$(CC ) -o $@ $(LDFLAGS ) $^ $(ESP_IDF_COMPONENTS_EXPANDED ) $(BINARY_BLOBS ) build-$(BOARD ) /esp-idf/esp-idf/newlib/libnewlib.a - u newlib_include_pthread_impl -Wl,--start-group $(LIBS ) -Wl,--end-group
292+ $(Q )$(CC ) -o $@ $(LDFLAGS ) $^ -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED ) $(BINARY_BLOBS ) $( MBEDTLS_COMPONENTS_LINK_EXPANDED ) build-$(BOARD ) /esp-idf/esp-idf/newlib/libnewlib.a -Wl,--end-group - u newlib_include_pthread_impl -Wl,--start-group $(LIBS ) -Wl,--end-group build- $( BOARD ) /esp-idf/esp-idf/pthread/libpthread.a -u __cxx_fatal_exception
280293 # $(Q)$(SIZE) $@ | $(PYTHON3) $(TOP)/tools/build_memory_info.py $(BUILD)/esp-idf/esp-idf/esp32s2/esp32s2_out.ld
281294
282295$(BUILD ) /circuitpython-firmware.bin : $(BUILD ) /firmware.elf
0 commit comments