Makefile 757 B

123456789101112131415161718192021222324252627282930313233343536
  1. MAKEFLAGS += -R -r
  2. ARDUINO_CLI = arduino-cli
  3. ZIP = zip
  4. SKETCH = max80
  5. TARGET = output/$(SKETCH).ino.bin
  6. GENFILES = $(SKETCH)/data/www.zip
  7. WWW = www
  8. PORT ?= /dev/ttyACM2
  9. BOARD = esp32:esp32:esp32s2usb
  10. all: $(TARGET)
  11. $(TARGET): $(shell find $(SKETCH) -type f) $(GENFILES)
  12. mkdir -p build output
  13. cd $(SKETCH) && \
  14. $(ARDUINO_CLI) compile -b $(BOARD) \
  15. --build-path ../build --output-dir ../output
  16. wwwfiles := $(shell find www -type f -print)
  17. $(SKETCH)/data/www.zip: $(wwwfiles)
  18. rm -f $@
  19. ( cd www && $(ZIP) -9DrpX - . -x '.*' -x '#*' -x '*~' -x '*.bak' ) \
  20. > $@
  21. upload: $(TARGET)
  22. $(ARDUINO_CLI) upload -i $(TARGET) -p $(PORT) -b $(BOARD) $(SKETCH)
  23. clean:
  24. rm -rf build $(SKETCH)/data/*.zip
  25. spotless: clean
  26. rm -rf output