| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- COMPONENT=spiffs
- TEST_PROGRAM=test_$(COMPONENT)
- #Expose as a library
- COMPONENT_LIB=lib$(COMPONENT).a
- SPI_FLASH=spi_flash
- SPI_FLASH_DIR=../../$(SPI_FLASH)
- SPI_FLASH_SIM_DIR=$(SPI_FLASH_DIR)/sim
- SPI_FLASH_LIB=lib$(SPI_FLASH).a
- all: $(TEST_PROGRAM)
- SOURCE_FILES = \
- ../spiffs_api.c \
- $(addprefix ../spiffs/src/, \
- spiffs_cache.c \
- spiffs_check.c \
- spiffs_gc.c \
- spiffs_hydrogen.c \
- spiffs_nucleus.c \
- ) \
- $(addprefix ./stubs/, \
- log/log.c \
- )
- TEST_SOURCE_FILES = \
- test_spiffs.cpp \
- main.cpp \
- test_utils.c
- INCLUDE_FLAGS = $(addprefix -I,\
- . \
- .. \
- ../spiffs/src \
- ../include \
- $(addprefix ./stubs/, \
- log/include \
- freertos/include \
- newlib/include \
- vfs/include \
- ) \
- ../../esp32/include \
- $(SPI_FLASH_DIR)/include \
- ../../../tools/catch \
- )
- GCOV ?= gcov
- CPPFLAGS += $(INCLUDE_FLAGS) -D CONFIG_LOG_DEFAULT_LEVEL -g -m32
- CFLAGS += -fprofile-arcs -ftest-coverage
- CXXFLAGS += -std=c++11 -Wall -Werror -fprofile-arcs -ftest-coverage
- LDFLAGS += -lstdc++ -fprofile-arcs -ftest-coverage
- OBJ_FILES = $(filter %.o, $(SOURCE_FILES:.cpp=.o) $(SOURCE_FILES:.c=.o))
- TEST_OBJ_FILES = $(filter %.o, $(TEST_SOURCE_FILES:.cpp=.o) $(TEST_SOURCE_FILES:.c=.o))
- $(SPI_FLASH_SIM_DIR)/$(SPI_FLASH_LIB): force
- $(MAKE) -C $(SPI_FLASH_SIM_DIR) lib
- force:
- $(COMPONENT_LIB): $(OBJ_FILES)
- $(AR) rcs $@ $^
- lib: $(COMPONENT_LIB)
- partitions_table.bin: partitions_table.csv
- python ../../partition_table/gen_esp32part.py $< $@
- $(TEST_PROGRAM): lib $(TEST_OBJ_FILES) $(SPI_FLASH_SIM_DIR)/$(SPI_FLASH_LIB) partitions_table.bin
- g++ $(LDFLAGS) -o $(TEST_PROGRAM) $(TEST_OBJ_FILES) -L$(abspath .) -l:$(COMPONENT_LIB) -L$(SPI_FLASH_SIM_DIR) -l:$(SPI_FLASH_LIB) -g -m32
- test: $(TEST_PROGRAM)
- ./$(TEST_PROGRAM)
- COVERAGE_FILES = $(OBJ_FILES:.o=.gc*) $(TEST_OBJ_FILES:.o=.gc*)
- $(COVERAGE_FILES): test
- coverage.info: $(COVERAGE_FILES)
- find ../ -name "*.gcno" -exec $(GCOV) -r -pb {} +
- lcov --capture --directory ../ --no-external --output-file coverage.info --gcov-tool $(GCOV)
- coverage_report: coverage.info
- genhtml coverage.info --output-directory coverage_report
- @echo "Coverage report is in coverage_report/index.html"
- clean:
- rm -f $(OBJ_FILES) $(TEST_OBJ_FILES) $(TEST_PROGRAM) $(COMPONENT_LIB) partitions_table.bin
- $(MAKE) -C $(SPI_FLASH_SIM_DIR) clean
- rm -f $(COVERAGE_FILES) *.gcov
- rm -rf coverage_report/
- rm -f coverage.info
- .PHONY: clean all test lib
|