Makefile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. ######################################################################
  2. # Makefile user configuration
  3. ######################################################################
  4. # Path to nodemcu-uploader (https://github.com/kmpm/nodemcu-uploader)
  5. NODEMCU-UPLOADER?=python ../nodemcu-uploader/nodemcu-uploader.py
  6. # Serial port
  7. PORT?=/dev/cu.SLAB_USBtoUART
  8. SPEED?=115200
  9. define _upload
  10. @$(NODEMCU-UPLOADER) -b $(SPEED) --start_baud $(SPEED) -p $(PORT) upload $^
  11. endef
  12. ######################################################################
  13. LFS_IMAGE ?= lfs.img
  14. HTTP_FILES := $(wildcard http/*)
  15. WIFI_CONFIG := $(wildcard *conf*.lua)
  16. SERVER_FILES := $(filter-out $(WIFI_CONFIG), $(wildcard srv/*.lua) $(wildcard *.lua))
  17. LFS_FILES := $(LFS_IMAGE) $(filter-out $(WIFI_CONFIG), $(wildcard *.lua))
  18. FILE ?=
  19. # Print usage
  20. usage:
  21. @echo "make upload FILE:=<file> to upload a specific file (i.e make upload FILE:=init.lua)"
  22. @echo "make upload_http to upload files to be served"
  23. @echo "make upload_server to upload the server code and init.lua"
  24. @echo "make upload_all to upload all"
  25. # Upload one files only
  26. upload: $(FILE)
  27. $(_upload)
  28. # Upload HTTP files only
  29. upload_http: $(HTTP_FILES)
  30. $(_upload)
  31. # Upload httpserver lua files
  32. upload_server: $(SERVER_FILES)
  33. $(_upload)
  34. # Upload wifi configuration
  35. upload_wifi_config: $(WIFI_CONFIG)
  36. $(_upload)
  37. # Upload lfs image
  38. upload_lfs: $(LFS_FILES)
  39. $(_upload)
  40. # Throw error if lfs file not found
  41. $(LFS_IMAGE):
  42. $(error File $(LFS_IMAGE) not found)
  43. # Upload all non-lfs files
  44. upload_all: $(HTTP_FILES) $(SERVER_FILES) $(WIFI_CONFIG)
  45. $(_upload)
  46. # Upload all lfs files
  47. upload_all_lfs: $(HTTP_FILES) $(LFS_FILES) $(WIFI_CONFIG)
  48. $(_upload)
  49. .ENTRY: usage
  50. .PHONY: usage upload_http upload_server upload_wifi_config \
  51. upload_lfs upload_all upload_all_lfs