Browse Source

edit Makefile (#128)

seregaxvm 4 years ago
parent
commit
8d5620a5c9
2 changed files with 44 additions and 16 deletions
  1. 39 15
      Makefile
  2. 5 1
      README.md

+ 39 - 15
Makefile

@@ -3,18 +3,24 @@
 ######################################################################
 ######################################################################
 
 
 # Path to nodemcu-uploader (https://github.com/kmpm/nodemcu-uploader)
 # Path to nodemcu-uploader (https://github.com/kmpm/nodemcu-uploader)
-NODEMCU-UPLOADER=../nodemcu-uploader/nodemcu-uploader.py
+NODEMCU-UPLOADER?=python ../nodemcu-uploader/nodemcu-uploader.py
 
 
 # Serial port
 # Serial port
-PORT=/dev/cu.SLAB_USBtoUART
-SPEED=115200
+PORT?=/dev/cu.SLAB_USBtoUART
+SPEED?=115200
 
 
-NODEMCU-COMMAND=$(NODEMCU-UPLOADER) -b $(SPEED) --start_baud $(SPEED) -p $(PORT) upload
+define _upload
+@$(NODEMCU-UPLOADER) -b $(SPEED) --start_baud $(SPEED) -p $(PORT) upload $^
+endef
 
 
 ######################################################################
 ######################################################################
 
 
+LFS_IMAGE ?= lfs.img
 HTTP_FILES := $(wildcard http/*)
 HTTP_FILES := $(wildcard http/*)
-LUA_FILES := $(wildcard *.lua)
+WIFI_CONFIG := $(wildcard *conf*.lua)
+SERVER_FILES := $(filter-out $(WIFI_CONFIG), $(wildcard srv/*.lua) $(wildcard *.lua))
+LFS_FILES := $(LFS_IMAGE) $(filter-out $(WIFI_CONFIG), $(wildcard *.lua))
+FILE ?=
 
 
 # Print usage
 # Print usage
 usage:
 usage:
@@ -22,21 +28,39 @@ usage:
 	@echo "make upload_http          to upload files to be served"
 	@echo "make upload_http          to upload files to be served"
 	@echo "make upload_server        to upload the server code and init.lua"
 	@echo "make upload_server        to upload the server code and init.lua"
 	@echo "make upload_all           to upload all"
 	@echo "make upload_all           to upload all"
-	@echo $(TEST)
 
 
 # Upload one files only
 # Upload one files only
-upload:
-	@python $(NODEMCU-COMMAND) $(FILE)
+upload: $(FILE)
+	$(_upload)
 
 
 # Upload HTTP files only
 # Upload HTTP files only
 upload_http: $(HTTP_FILES)
 upload_http: $(HTTP_FILES)
-	@python $(NODEMCU-COMMAND) $(foreach f, $^, $(f))
+	$(_upload)
 
 
-# Upload httpserver lua files (init and server module)
-upload_server: $(LUA_FILES)
-	@python $(NODEMCU-COMMAND) $(foreach f, $^, $(f))
+# Upload httpserver lua files
+upload_server: $(SERVER_FILES)
+	$(_upload)
 
 
-# Upload all
-upload_all: $(LUA_FILES) $(HTTP_FILES)
-	@python $(NODEMCU-COMMAND) $(foreach f, $^, $(f))
+# Upload wifi configuration
+upload_wifi_config: $(WIFI_CONFIG)
+	$(_upload)
 
 
+# Upload lfs image
+upload_lfs: $(LFS_FILES)
+	$(_upload)
+
+# Throw error if lfs file not found
+$(LFS_IMAGE):
+	$(error File $(LFS_IMAGE) not found)
+
+# Upload all non-lfs files
+upload_all: $(HTTP_FILES) $(SERVER_FILES) $(WIFI_CONFIG)
+	$(_upload)
+
+# Upload all lfs files
+upload_all_lfs: $(HTTP_FILES) $(LFS_FILES) $(WIFI_CONFIG)
+	$(_upload)
+
+.ENTRY: usage
+.PHONY: usage upload_http upload_server upload_wifi_config \
+upload_lfs upload_all upload_all_lfs

+ 5 - 1
README.md

@@ -38,6 +38,10 @@ Let the abuse begin.
 
 
          make upload_server
          make upload_server
 
 
+   If you only want to update wifi configuration, type:
+
+         make upload_wifi_config
+
    And if you only want to upload just the files that can be served:
    And if you only want to upload just the files that can be served:
 
 
          make upload_http
          make upload_http
@@ -98,7 +102,7 @@ Let the abuse begin.
 
 
    1. Compile contents of `srv` into LFS image. There's a [cloud service](https://blog.ellisons.org.uk/article/nodemcu/a-lua-cross-compile-web-service/) and [docker image](https://github.com/marcelstoer/docker-nodemcu-build) that will help you with that.
    1. Compile contents of `srv` into LFS image. There's a [cloud service](https://blog.ellisons.org.uk/article/nodemcu/a-lua-cross-compile-web-service/) and [docker image](https://github.com/marcelstoer/docker-nodemcu-build) that will help you with that.
 
 
-   1. Upload image file under `lfs.img` name.
+   1. Upload image file under `lfs.img` name. You may use Makefile rules `upload_lfs` and `upload_all_lfs` for this.
 
 
    1. Reboot you NodeMCU. Init script will pick up image and apply it for you.
    1. Reboot you NodeMCU. Init script will pick up image and apply it for you.