mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
4dd88329c1
The following files have been ported: * esp_rom_crc.h * esp_rom_sys.h * esp_rom_efuse.h (mostly no-ops) * esp_rom_md5.h Integrated Linux-based rom implementation into log and NVS component. Added brief host tests for ROM to ensure basic consistency on Linux. Added ROM printf host unit tests. Temporarily added reset reason for Linux in ROM.
106 lines
3.3 KiB
Makefile
106 lines
3.3 KiB
Makefile
TEST_PROGRAM=test_nvs
|
|
all: $(TEST_PROGRAM)
|
|
|
|
SOURCE_FILES = \
|
|
esp_error_check_stub.cpp \
|
|
$(addprefix ../src/, \
|
|
nvs_types.cpp \
|
|
nvs_api.cpp \
|
|
nvs_page.cpp \
|
|
nvs_pagemanager.cpp \
|
|
nvs_storage.cpp \
|
|
nvs_item_hash_list.cpp \
|
|
nvs_handle_simple.cpp \
|
|
nvs_handle_locked.cpp \
|
|
nvs_partition_manager.cpp \
|
|
nvs_partition.cpp \
|
|
nvs_encrypted_partition.cpp \
|
|
nvs_cxx_api.cpp \
|
|
) \
|
|
spi_flash_emulation.cpp \
|
|
test_compressed_enum_table.cpp \
|
|
test_spi_flash_emulation.cpp \
|
|
test_intrusive_list.cpp \
|
|
test_nvs.cpp \
|
|
test_partition_manager.cpp \
|
|
test_nvs_handle.cpp \
|
|
test_nvs_storage.cpp \
|
|
test_nvs_partition.cpp \
|
|
test_nvs_cxx_api.cpp \
|
|
test_nvs_initialization.cpp \
|
|
main.cpp
|
|
|
|
SOURCE_FILES_C = ../../esp_rom/linux/esp_rom_crc.c
|
|
|
|
ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1)
|
|
COMPILER := clang
|
|
else
|
|
COMPILER := gcc
|
|
endif
|
|
|
|
CPPFLAGS += -I../include -I../src -I../../esp_rom/include -I../../esp_rom/include/linux -I../../log/include -I./ -I../../esp_common/include -I../../esp32/include -I ../../mbedtls/mbedtls/include -I ../../spi_flash/include -I ../../hal/include -I ../../xtensa/include -I ../../../tools/catch -fprofile-arcs -ftest-coverage -g2 -ggdb
|
|
CFLAGS += -fprofile-arcs -ftest-coverage -DLINUX_TARGET
|
|
CXXFLAGS += -std=c++11 -Wall -Werror -DLINUX_TARGET
|
|
LDFLAGS += -lstdc++ -Wall -fprofile-arcs -ftest-coverage
|
|
|
|
ifeq ($(COMPILER),clang)
|
|
CFLAGS += -fsanitize=address
|
|
CXXFLAGS += -fsanitize=address
|
|
LDFLAGS += -fsanitize=address
|
|
endif
|
|
|
|
OBJ_FILES = $(SOURCE_FILES:.cpp=.o)
|
|
OBJ_FILES_C = $(SOURCE_FILES_C:.c=.o)
|
|
|
|
COVERAGE_FILES = $(OBJ_FILES:.o=.gc*)
|
|
|
|
$(OBJ_FILES): %.o: %.cpp
|
|
$(OBJ_FILES_C): %.c: %.c
|
|
|
|
$(TEST_PROGRAM): clean-coverage $(OBJ_FILES) $(OBJ_FILES_C)
|
|
$(MAKE) -C ../../mbedtls/mbedtls/ lib
|
|
g++ $(LDFLAGS) -o $(TEST_PROGRAM) $(OBJ_FILES) $(OBJ_FILES_C) ../../mbedtls/mbedtls/library/libmbedcrypto.a
|
|
|
|
$(OUTPUT_DIR):
|
|
mkdir -p $(OUTPUT_DIR)
|
|
|
|
test: $(TEST_PROGRAM)
|
|
./$(TEST_PROGRAM) -d yes exclude:[long]
|
|
|
|
long-test: $(TEST_PROGRAM)
|
|
./$(TEST_PROGRAM) -d yes
|
|
|
|
$(COVERAGE_FILES): $(TEST_PROGRAM) long-test
|
|
|
|
coverage.info: $(COVERAGE_FILES)
|
|
find ../src/ -name "*.gcno" -exec gcov -r -pb {} +
|
|
lcov --capture --directory ../src --no-external --output-file coverage.info
|
|
|
|
coverage_report: coverage.info
|
|
genhtml coverage.info --output-directory coverage_report
|
|
@echo "Coverage report is in coverage_report/index.html"
|
|
|
|
clean-coverage:
|
|
rm -f $(COVERAGE_FILES) *.gcov
|
|
rm -rf coverage_report/
|
|
rm -f coverage.info
|
|
|
|
clean: clean-coverage
|
|
$(MAKE) -C ../../mbedtls/mbedtls/ clean
|
|
rm -f $(OBJ_FILES) $(OBJ_FILES_C) $(TEST_PROGRAM)
|
|
rm -f ../nvs_partition_generator/partition_single_page.bin
|
|
rm -f ../nvs_partition_generator/partition_multipage_blob.bin
|
|
rm -f ../nvs_partition_generator/partition_encrypted.bin
|
|
rm -f ../nvs_partition_generator/partition_encrypted_using_keygen.bin
|
|
rm -f ../nvs_partition_generator/partition_encrypted_using_keyfile.bin
|
|
rm -f ../nvs_partition_generator/partition_decrypted.bin
|
|
rm -f ../nvs_partition_generator/partition_encoded.bin
|
|
rm -f ../nvs_partition_generator/Test-1-partition-encrypted.bin
|
|
rm -f ../nvs_partition_generator/Test-1-partition.bin
|
|
rm -f ../../../tools/mass_mfg/samples/sample_values_multipage_blob_created.csv
|
|
rm -f ../../../tools/mass_mfg/samples/sample_values_singlepage_blob_created.csv
|
|
|
|
|
|
|
|
.PHONY: clean clean-coverage all test long-test
|