123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #############################################################
- # Options
- #
- FSSOURCE ?= ../local/fs
- LUASOURCE ?= ../local/lua
- FLASHSIZE ?= 4mb 32mb 8mb
- FLASH_SW = -S
- SUBDIRS =
- OBJDUMP = $(or $(shell which objdump),xtensa-lx106-elf-objdump)
- #############################################################
- # Get the files to pack into the spiffs image
- #
- SPIFFSFILES ?= $(patsubst $(FSSOURCE)/%,%,$(shell find $(FSSOURCE)/ -name '*' '!' -name .gitignore ))
- #################################################################
- # Get the filesize of /bin/0x10000.bin and SPIFFS sizing
- #
- FLASH_FS_SIZE := $(shell $(CC) -E -dM - <../app/include/user_config.h | grep SPIFFS_MAX_FILESYSTEM_SIZE| cut -d ' ' -f 3)
- ifneq ($(strip $(FLASH_FS_SIZE)),)
- FLASHSIZE = $(shell printf "0x%x" $(FLASH_FS_SIZE))
- FLASH_SW = -c
- endif
- FLASH_FS_LOC := $(shell $(CC) -E -dM - <../app/include/user_config.h | grep SPIFFS_FIXED_LOCATION| cut -d ' ' -f 3)
- ifeq ($(strip $(FLASH_FS_LOC)),)
- FLASH_FS_LOC := $(shell printf "0x%x" $$((0x$(shell $(OBJDUMP) -t ../app/.output/eagle/debug/image/eagle.app.v6.out |grep " _flash_used_end" |cut -f1 -d" ") - 0x40200000)))
- else
- FLASH_FS_LOC := $(shell printf "0x%x" $(FLASH_FS_LOC))
- endif
- LFSSOURCES := $(wildcard $(LUASOURCE)/*.lua)
- BUILD_TYPE := $(shell $(CC) $(EXTRA_CCFLAGS) -E -dM - <../app/include/user_config.h | grep LUA_NUMBER_INTEGRAL | wc -l)
- ifeq ($(BUILD_TYPE),0)
- LUAC_CROSS := ../luac.cross
- else
- LUAC_CROSS := ../luac.cross.int
- endif
- #############################################################
- # Rules base
- #
- #
- all: spiffsscript
- .PHONY: TEST
- TEST:
- @echo $(FLASHSIZE)
- @echo $(FLASH_FS_SIZE)
- @echo $(FLASH_FS_LOC)
- @echo $(FLASH_USED_END)
- spiffsimg/spiffsimg:
- .PHONY: spiffsimg
- .PHONY: spiffsimg/spiffsimg
- spiffsimg: spiffsimg/spiffsimg
- @echo Built spiffsimg in spiffsimg/spiffsimg
- spiffsimg/spiffsimg:
- @$(MAKE) -C spiffsimg
- spiffsscript: remove-image LFSimage spiffsimg/spiffsimg
- rm -f ./spiffsimg/spiffs.lst
- @echo "" >> ./spiffsimg/spiffs.lst
- @$(foreach f, $(SPIFFSFILES), echo "import $(FSSOURCE)$(f) $(f)" >> ./spiffsimg/spiffs.lst ;)
- $(foreach sz, $(FLASHSIZE), spiffsimg/spiffsimg -f ../bin/0x%x-$(sz).img $(FLASH_SW) $(sz) -U $(FLASH_FS_LOC) -r ./spiffsimg/spiffs.lst -d; )
- @$(foreach sz, $(FLASHSIZE), if [ -r ../bin/spiffs-$(sz).dat ]; then echo Built $$(cat ../bin/spiffs-$(sz).dat)-$(sz).bin; fi; )
- ifneq ($(LFSSOURCES),)
- LFSimage: $(LFSSOURCES)
- $(LUAC_CROSS) -f -o $(FSSOURCE)flash.img $(LFSSOURCES)
- else
- LFSimage:
- rm -f $(FSSOURCE)flash.img
- endif
- remove-image:
- $(foreach sz, $(FLASHSIZE), if [ -r ../bin/spiffs-$(sz).dat ]; then rm -f ../bin/$$(cat ../bin/spiffs-$(sz).dat)-$(sz).bin; fi; )
- rm -f ../bin/spiffs*.dat
- spiffsclean: remove-image
- rm -f ./spiffsimg/spiffsimg
- rm -f ./spiffsimg/spiffs.lst
|