mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
d497c4babd
Fixes an issue where build fails if the build directory is a symlink. The issue is caused by the rule target and the final executable dependency not matching. Closes https://github.com/espressif/esp-idf/issues/3626
51 lines
1.8 KiB
Makefile
51 lines
1.8 KiB
Makefile
ifdef CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
|
|
|
|
PHY_INIT_DATA_OBJ = $(BUILD_DIR_BASE)/phy_init_data.o
|
|
PHY_INIT_DATA_BIN = $(BUILD_DIR_BASE)/phy_init_data.bin
|
|
|
|
# Command to flash PHY init data partition
|
|
PHY_INIT_DATA_FLASH_CMD = $(ESPTOOLPY_SERIAL) write_flash $(PHY_DATA_OFFSET) $(PHY_INIT_DATA_BIN)
|
|
ESPTOOL_ALL_FLASH_ARGS += $(PHY_DATA_OFFSET) $(PHY_INIT_DATA_BIN)
|
|
|
|
ESP32_COMPONENT_PATH := $(COMPONENT_PATH)
|
|
|
|
$(PHY_INIT_DATA_OBJ): $(ESP32_COMPONENT_PATH)/phy_init_data.h $(BUILD_DIR_BASE)/include/sdkconfig.h
|
|
$(summary) CC $(notdir $@)
|
|
printf "#include \"phy_init_data.h\"\n" | $(CC) -I $(BUILD_DIR_BASE)/include -I $(ESP32_COMPONENT_PATH) -I $(ESP32_COMPONENT_PATH)/include -c -o $@ -xc -
|
|
|
|
$(PHY_INIT_DATA_BIN): $(PHY_INIT_DATA_OBJ)
|
|
$(summary) BIN $(notdir $@)
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
phy_init_data: $(PHY_INIT_DATA_BIN)
|
|
|
|
phy_init_data-flash: $(BUILD_DIR_BASE)/phy_init_data.bin
|
|
@echo "Flashing PHY init data..."
|
|
$(PHY_INIT_DATA_FLASH_CMD)
|
|
|
|
phy_init_data-clean:
|
|
rm -f $(PHY_INIT_DATA_BIN) $(PHY_INIT_DATA_OBJ)
|
|
|
|
all: phy_init_data
|
|
flash: phy_init_data
|
|
|
|
endif # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
|
|
|
|
|
|
# Enable psram cache bug workaround in compiler if selected
|
|
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND
|
|
CFLAGS+=-mfix-esp32-psram-cache-issue
|
|
CXXFLAGS+=-mfix-esp32-psram-cache-issue
|
|
endif
|
|
|
|
# Enable dynamic esp_timer overflow value if building unit tests
|
|
ifneq ("$(filter esp32,$(TEST_COMPONENTS_LIST))","")
|
|
CPPFLAGS += -DESP_TIMER_DYNAMIC_OVERFLOW_VAL
|
|
endif
|
|
ESP32_LINKER_SCRIPT_TEMPLATE := $(COMPONENT_PATH)/ld/esp32.project.ld.in
|
|
ESP32_LINKER_SCRIPT_OUTPUT_DIR := $(realpath $(BUILD_DIR_BASE)/esp32)
|
|
|
|
# Target to generate linker script generator from fragments presented by each of
|
|
# the components
|
|
$(eval $(call ldgen_process_template, $(ESP32_LINKER_SCRIPT_TEMPLATE), $(ESP32_LINKER_SCRIPT_OUTPUT_DIR)/esp32.project.ld))
|