component.mk 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. COMPONENT_ADD_INCLUDEDIRS := include
  2. COMPONENT_SRCDIRS := patches .
  3. COMPONENT_PRIV_INCLUDEDIRS := esp32
  4. #Linker scripts used to link the final application.
  5. #Warning: These linker scripts are only used when the normal app is compiled; the bootloader
  6. #specifies its own scripts.
  7. LINKER_SCRIPTS += esp32.rom.ld \
  8. esp32.rom.libgcc.ld \
  9. esp32.rom.syscalls.ld \
  10. esp32.rom.newlib-data.ld \
  11. esp32.rom.api.ld
  12. #SPI-RAM incompatible functions can be used in when the SPI RAM
  13. #workaround is not enabled.
  14. ifndef CONFIG_SPIRAM_CACHE_WORKAROUND
  15. LINKER_SCRIPTS += esp32.rom.newlib-funcs.ld
  16. ifdef CONFIG_ESP32_REV_MIN_3
  17. LINKER_SCRIPTS += esp32.rom.eco3.ld
  18. endif
  19. # Include in newlib nano from ROM only if SPIRAM cache workaround is disabled
  20. ifdef CONFIG_NEWLIB_NANO_FORMAT
  21. LINKER_SCRIPTS += esp32.rom.newlib-nano.ld
  22. endif
  23. endif #CONFIG_SPIRAM_CACHE_WORKAROUND
  24. ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
  25. LINKER_SCRIPTS += esp32.rom.spiflash.ld
  26. endif
  27. ifndef CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS
  28. # If SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS option is defined
  29. # then all time functions from the ROM memory will not be linked.
  30. # Instead, those functions can be used from the toolchain by ESP-IDF.
  31. LINKER_SCRIPTS += esp32.rom.newlib-time.ld
  32. endif
  33. COMPONENT_ADD_LDFLAGS += -L $(COMPONENT_PATH)/esp32/ld \
  34. $(addprefix -T ,$(LINKER_SCRIPTS)) \
  35. COMPONENT_ADD_LINKER_DEPS += $(addprefix esp32/ld/, $(LINKER_SCRIPTS))