Makefile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # Makefile using arduino-cli
  2. ARDUINO_HOME=$(HOME)/.arduino15
  3. ESP32_VER=2.0.3
  4. ESP32_TOOLS=$(ARDUINO_HOME)/packages/esp32/hardware/esp32/$(ESP32_VER)/tools
  5. ESPTOOL=$(ESP32_TOOLS)/esptool.py
  6. ESP32_FQBN=esp32:esp32:$(CHIP)
  7. SERDEV := $(wildcard /dev/serial/by-id/usb-Espressif_*)
  8. ARDUINO_CLI=../bin/arduino-cli
  9. # ensure python tools are in $PATH
  10. export PATH := $(HOME)/.local/bin:$(PATH)
  11. .PHONY: headers
  12. all: headers esp32s3dev esp32c3dev bluemark-db200 bluemark-db110
  13. esp32s3dev: CHIP=esp32s3
  14. esp32s3dev: ArduRemoteID-ESP32S3_DEV.bin
  15. esp32c3dev: CHIP=esp32c3
  16. esp32c3dev: ArduRemoteID-ESP32C3_DEV.bin
  17. bluemark-db200: CHIP=esp32c3
  18. bluemark-db200: ArduRemoteID-BLUEMARK_DB200.bin
  19. bluemark-db110: CHIP=esp32c3
  20. bluemark-db110: ArduRemoteID-BLUEMARK_DB110.bin
  21. setup:
  22. @echo "Installing ESP32 support"
  23. $(ARDUINO_CLI) core update-index --config-file arduino-cli.yaml
  24. $(ARDUINO_CLI) core install esp32:esp32@$(ESP32_VER)
  25. headers:
  26. @../scripts/git-version.sh
  27. @cd .. && scripts/regen_headers.sh
  28. ArduRemoteID-%.bin: *.cpp *.ino *.h
  29. @echo "Building $* on $(CHIP)"
  30. @BUILD_FLAGS="-DBOARD_$*"
  31. @rm -rf build
  32. @$(ARDUINO_CLI) compile -b esp32:esp32:$(CHIP) --export-binaries --build-property build.extra_flags=-DBOARD_$* .
  33. @echo "Merging $*"
  34. @python3 $(ESPTOOL) --chip $(CHIP) merge_bin -o ArduRemoteID-$*.bin --flash_size 4MB 0xe000 $(ESP32_TOOLS)/partitions/boot_app0.bin 0x0 build/esp32.esp32.$(CHIP)/RemoteIDModule.ino.bootloader.bin 0x10000 build/esp32.esp32.$(CHIP)/RemoteIDModule.ino.bin 0x8000 build/esp32.esp32.$(CHIP)/RemoteIDModule.ino.partitions.bin
  35. @rm -rf build
  36. boards:
  37. @echo "Listing boards"
  38. @$(ARDUINO_CLI) board list
  39. checkdev:
  40. @[ "${SERDEV}" ] && echo "Using device $(SERDEV)" || ( echo "Failed to find serial device"; exit 1 )
  41. upload-%: checkdev
  42. @echo "Flashing ArduRemoteID-$*.bin"
  43. $(ESPTOOL) --port $(SERDEV) write_flash 0x0 ArduRemoteID-$*.bin
  44. upload: upload-ESP32S3_DEV
  45. clean:
  46. rm -rf ..esp32* *.bin build*