2
0

Makefile 904 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. MAKEFLAGS += -R -r
  2. ARDUINO_CLI = arduino-cli
  3. ZIP = zip
  4. SKETCH = max80
  5. TARGET = output/$(SKETCH).ino.bin
  6. GENFILES = 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) --warnings all \
  15. --build-path ../build --output-dir ../output
  16. .PHONY: zip
  17. zip:
  18. mkdir -p zip
  19. cd www && \
  20. TZ=GMT0 \
  21. $(ZIP) -9DrpX -FS ../zip/www.zip . \
  22. -x '.*' -x '#*' -x '*~' -x '*.bak'
  23. # Ugly hack but needed to avoid unnecessary rebuilds
  24. www.zip: zip
  25. if [ ! -f $@ ] || [ zip/$@ -nt $@ ]; then \
  26. cp -f zip/$@ $@; \
  27. rm -f build/sketch/www.c build/sketch/www.c.*; \
  28. fi
  29. upload: $(TARGET)
  30. $(ARDUINO_CLI) upload -i $(TARGET) -p $(PORT) -b $(BOARD) $(SKETCH)
  31. clean:
  32. rm -rf build zip $(GENFILES)
  33. spotless: clean
  34. rm -rf output