Imported Upstream version 3.2.0
[platform/upstream/libwebsockets.git] / scripts / esp32.mk
index c4ebc72..4a4de2b 100644 (file)
@@ -8,36 +8,49 @@
 
 SHELL=/bin/bash
 
+# check genromfs is available
+GENROMFS := $(shell command -v genromfs 2> /dev/null)
+# check xxd is available
+XXD := $(shell command -v xxd 2> /dev/null)
+
 ESPPORT ?= $(CONFIG_ESPTOOLPY_PORT)
 
-jbi=$(COMPONENT_PATH)/../build/json-buildinfo
+LWS_BUILD_PATH=$(PROJECT_PATH)/build
+
+jbi=$(LWS_BUILD_PATH)/json-buildinfo
 
 FAC=$(CONFIG_LWS_IS_FACTORY_APPLICATION)
 ifeq ($(FAC),)
        FAC=0
 endif
 export FAC
-DIRNAME:=$(shell basename $$(pwd) | tr -d '\n')
 
-$(COMPONENT_PATH)/../build/pack.img: $(APP_BIN)
+$(LWS_BUILD_PATH)/pack.img: $(APP_BIN)
+       if [ -z "$(GENROMFS)" ]; then \
+               echo "ERROR: genromfs is unavailable, please install or compile genromfs" ; \
+               exit 1 ; \
+       fi; \
+       if [ -z "$(XXD)" ]; then \
+               echo "ERROR: xxd is unavailable, please install or compile xxd (usually provided by vim package)" ; \
+               exit 1 ; \
+       fi; \
        GNUSTAT=stat ;\
        if [ `which gstat 2>/dev/null` ] ; then GNUSTAT=gstat ; fi ;\
-       DIRNAME=$$(basename $$(pwd) | tr -d '\n') ;\
-       genromfs -f $(COMPONENT_PATH)/../build/romfs.img -d $(COMPONENT_PATH)/../romfs-files ; \
-        RLEN=$$($$GNUSTAT -c %s $(COMPONENT_PATH)/../build/romfs.img) ;\
-        LEN=$$($$GNUSTAT -c %s $(COMPONENT_PATH)/../build/$$DIRNAME.bin) ;\
+       genromfs -f $(LWS_BUILD_PATH)/romfs.img -d $(PROJECT_PATH)/romfs-files ; \
+        RLEN=$$($$GNUSTAT -c %s $(LWS_BUILD_PATH)/romfs.img) ;\
+        LEN=$$($$GNUSTAT -c %s $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin) ;\
         printf "             Original length: 0x%06x (%8d)\n" $$LEN $$LEN ; \
-        printf %02x $$(( $$RLEN % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-        printf %02x $$(( ( $$RLEN / 256 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-        printf %02x $$(( ( $$RLEN / 65536 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-        printf %02x $$(( ( $$RLEN / 16777216 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-        cat $(COMPONENT_PATH)/../build/romfs.img >>$(COMPONENT_PATH)/../build/$$DIRNAME.bin ; \
-        LEN=$$($$GNUSTAT -c %s $(COMPONENT_PATH)/../build/$$DIRNAME.bin) ;\
+        printf %02x $$(( $$RLEN % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+        printf %02x $$(( ( $$RLEN / 256 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+        printf %02x $$(( ( $$RLEN / 65536 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+        printf %02x $$(( ( $$RLEN / 16777216 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+        cat $(LWS_BUILD_PATH)/romfs.img >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ; \
+        LEN=$$($$GNUSTAT -c %s $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin) ;\
        UNIXTIME=$$(date +%s | tr -d '\n') ; \
        echo -n -e "{\r\n \"schema\": \"lws1\",\r\n \"model\": \"$(CONFIG_LWS_MODEL_NAME)\",\r\n \"builder\": \"" > $(jbi) ;\
        hostname | tr -d '\n' >> $(jbi) ;\
        echo -n -e "\",\r\n \"app\": \"" >> $(jbi) ;\
-       echo -n $$DIRNAME >> $(jbi) ;\
+       echo -n $(PROJECT_NAME) >> $(jbi) ;\
        echo -n -e "\",\r\n \"user\": \"" >> $(jbi) ;\
        whoami | tr -d '\n' >>$(jbi) ;\
        echo -n -e  "\",\r\n \"git\": \"" >> $(jbi) ;\
@@ -46,18 +59,18 @@ $(COMPONENT_PATH)/../build/pack.img: $(APP_BIN)
        date | tr -d '\n' >> $(jbi) ;\
        echo -n -e "\",\r\n \"unixtime\": \"" >> $(jbi) ;\
        echo -n $$UNIXTIME >> $(jbi) ;\
-       echo -n -e "\",\r\n \"file\": \""$$DIRNAME-$$UNIXTIME.bin >> $(jbi) ;\
+       echo -n -e "\",\r\n \"file\": \""$(PROJECT_NAME)-$$UNIXTIME.bin >> $(jbi) ;\
        echo -n -e "\",\r\n \"factory\": \"$(FAC)" >> $(jbi) ;\
        echo -n -e "\"\r\n}"  >> $(jbi) ;\
        JLEN=$$($$GNUSTAT -c %s $(jbi)) ;\
-       printf %02x $$(( $$JLEN % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-       printf %02x $$(( ( $$JLEN / 256 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-       printf %02x $$(( ( $$JLEN / 65536 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-       printf %02x $$(( ( $$JLEN / 16777216 ) % 256 )) | xxd -r -p >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-       cat $(jbi) >> $(COMPONENT_PATH)/../build/$$DIRNAME.bin ;\
-       cp $(COMPONENT_PATH)/../build/$$DIRNAME.bin $(COMPONENT_PATH)/../build/pack.img ;\
-        LEN=$$($$GNUSTAT -c %s $(COMPONENT_PATH)/../build/$$DIRNAME.bin) ;\
-       cp $(COMPONENT_PATH)/../build/$$DIRNAME.bin $(COMPONENT_PATH)/../build/$$DIRNAME-$$UNIXTIME.bin ;\
+       printf %02x $$(( $$JLEN % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+       printf %02x $$(( ( $$JLEN / 256 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+       printf %02x $$(( ( $$JLEN / 65536 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+       printf %02x $$(( ( $$JLEN / 16777216 ) % 256 )) | xxd -r -p >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+       cat $(jbi) >> $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin ;\
+       cp $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin $(LWS_BUILD_PATH)/pack.img ;\
+        LEN=$$($$GNUSTAT -c %s $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin) ;\
+       cp $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin $(LWS_BUILD_PATH)/$(PROJECT_NAME)-$$UNIXTIME.bin ;\
        printf "    After ROMFS + Build info: 0x%06x (%8d)\n" $$LEN $$LEN
 
 .PHONY: manifest
@@ -76,24 +89,23 @@ endif
        cat $(F)/build/json-buildinfo >> build/manifest.json
        echo -n -e "\r\n}\r\n" >> build/manifest.json
 
-all: $(COMPONENT_PATH)/../build/pack.img
+all: $(LWS_BUILD_PATH)/pack.img
 
-flash: $(COMPONENT_PATH)/../build/pack.img
+flash: $(LWS_BUILD_PATH)/pack.img
 
-flash_ota: $(COMPONENT_PATH)/../build/pack.img
-       DIRNAME=$$(basename $$(pwd) | tr -d '\n') ;\
+lws_flash_ota: $(LWS_BUILD_PATH)/pack.img
        $(IDF_PATH)/components/esptool_py/esptool/esptool.py \
                --chip esp32 \
                --port $(ESPPORT) \
                --baud $(CONFIG_ESPTOOLPY_BAUD) \
-               write_flash 0x110000 $(COMPONENT_PATH)/../build/$$DIRNAME.bin
+               write_flash 0x120000 $(LWS_BUILD_PATH)/$(PROJECT_NAME).bin
 
-erase_ota:
+lws_erase_ota:
        $(IDF_PATH)/components/esptool_py/esptool/esptool.py \
                --chip esp32 \
                --port $(ESPPORT) \
                --baud $(CONFIG_ESPTOOLPY_BAUD) \
-               erase_region 0x110000 0x2f0000
+               erase_region 0x120000 0x2e0000
 
 
 export A