build_as_lib.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from os.path import join, realpath, exists
  2. import shutil, os
  3. Import("env")
  4. platform_stm32=False
  5. platform_esp32=False
  6. platform_nrf52=False
  7. platform_rp2040=False
  8. src_filter = []
  9. src_filter.append("+<*>")
  10. src_filter.append("-<helpers/ui/*>") # don't build with ui for now ...
  11. for item in env.get("CPPDEFINES", []):
  12. if isinstance(item, str) and item == "STM32_PLATFORM":
  13. # add STM32 specific sources
  14. env.Append(CPPPATH=[realpath("src/helpers/stm32")])
  15. platform_stm32=True
  16. env.Append(BUILD_FLAGS=["-I src/helpers/stm32"])
  17. elif isinstance(item, str) and item == "ESP32":
  18. platform_esp32=True
  19. env.Append(CPPPATH=[realpath("src/helpers/esp32")])
  20. env.Append(BUILD_FLAGS=["-I src/helpers/esp32"])
  21. elif isinstance(item, str) and item == "WIO_E5_DEV_VARIANT":
  22. env.Append(BUILD_FLAGS=["-I variants/wio-e5-dev"])
  23. src_filter.append("+<../variants/wio-e5-dev>")
  24. elif isinstance(item, str) and item == "RAK_3X72_VARIANT":
  25. env.Append(BUILD_FLAGS=["-I variants/rak3x72"])
  26. src_filter.append("+<../variants/rak3x72>")
  27. elif isinstance(item, str) and item == "XIAO_S3_WIO_VARIANT":
  28. env.Append(BUILD_FLAGS=["-I variants/xiao_s3_wio"])
  29. src_filter.append("+<../variants/xiao_s3_wio>")
  30. elif isinstance(item, str) and item == "XIAO_C6_VARIANT":
  31. env.Append(BUILD_FLAGS=["-I variants/xiao_c6"])
  32. src_filter.append("+<../variants/xiao_c6>")
  33. elif isinstance(item, str) and item == "GENERIC_ESPNOW_VARIANT":
  34. env.Append(BUILD_FLAGS=["-I variants/generic_espnow"])
  35. src_filter.append("+<../variants/generic_espnow>")
  36. src_filter.append("+<helpers/esp32/ESPNOWRadio.cpp>")
  37. if not platform_stm32:
  38. src_filter.append("-<helpers/stm32/*>")
  39. if not platform_esp32:
  40. src_filter.append("-<helpers/esp32/*>")
  41. if not platform_nrf52:
  42. src_filter.append("-<helpers/nrf52/*>")
  43. if not platform_rp2040:
  44. src_filter.append("-<helpers/rp2040/*>")
  45. env.Replace(SRC_FILTER=src_filter)
  46. print (env.Dump())