Makefile 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. # Path to LUA cross compiler (part of the nodemcu firmware; only needed to compile the LFS image yourself)
  7. LUACC?=../nodemcu-firmware/luac.cross
  8. # Serial port
  9. PORT?=$(shell ls /dev/cu.SLAB_USBtoUART /dev/ttyUSB* 2>/dev/null|head -n1)
  10. SPEED?=115200
  11. define _upload
  12. @$(NODEMCU-UPLOADER) -b $(SPEED) --start_baud $(SPEED) -p $(PORT) upload $^
  13. endef
  14. ######################################################################
  15. LFS_IMAGE ?= lfs.img
  16. HTTP_FILES := $(wildcard http/*)
  17. WIFI_CONFIG := $(wildcard *conf*.lua)
  18. SERVER_FILES := $(filter-out $(WIFI_CONFIG), $(wildcard srv/*.lua) $(wildcard *.lua))
  19. LFS_FILES := $(LFS_IMAGE) $(filter-out $(WIFI_CONFIG), $(wildcard *.lua))
  20. FILE ?=
  21. # Print usage
  22. usage:
  23. @echo "make upload FILE:=<file> to upload a specific file (i.e make upload FILE:=init.lua)"
  24. @echo "make upload_http to upload files to be served"
  25. @echo "make upload_server to upload the server code and init.lua"
  26. @echo "make upload_all to upload all"
  27. @echo "make upload_lfs to upload lfs based server code"
  28. @echo "make upload_all_lfs to upload all (LFS based)"
  29. # Upload one file only
  30. upload: $(FILE)
  31. $(_upload)
  32. # Upload HTTP files only
  33. upload_http: $(HTTP_FILES)
  34. $(_upload)
  35. # Upload httpserver lua files
  36. upload_server: $(SERVER_FILES)
  37. $(_upload)
  38. # Upload wifi configuration
  39. upload_wifi_config: $(WIFI_CONFIG)
  40. $(_upload)
  41. # Upload lfs image
  42. upload_lfs: $(LFS_FILES)
  43. $(_upload)
  44. $(LFS_IMAGE):
  45. $(LUACC) -f -o $(LFS_IMAGE) srv/*.lua
  46. # Upload all non-lfs files
  47. upload_all: $(HTTP_FILES) $(SERVER_FILES) $(WIFI_CONFIG)
  48. $(_upload)
  49. # Upload all lfs files
  50. upload_all_lfs: $(HTTP_FILES) $(LFS_FILES) $(WIFI_CONFIG)
  51. $(_upload)
  52. .ENTRY: usage
  53. .PHONY: usage upload_http upload_server upload_wifi_config \
  54. upload_lfs upload_all upload_all_lfs