1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

makefiles: Add RIOT_TEST_HASH_DIR to build system

RIOT_TEST_HASH_DIR represents the dir to generate the test-input-hash.sha1 file for
checking if a test has changed, uses BINDIR by default.

Since it defaults to BINDIR it should have no effect on running systems.
This allows a bit more fine grain control, especially when using
the compile_and_test_for_board.py script.
This commit is contained in:
MrKevinWeiss 2023-05-04 12:05:06 +02:00
parent ad743820f4
commit 8a77807e57
No known key found for this signature in database
GPG Key ID: C26684F1C0767FFF
2 changed files with 6 additions and 2 deletions

View File

@ -85,6 +85,9 @@ test-with-config/check-config:
done; \
${COLOR_ECHO} -n "${COLOR_RESET}"
RIOT_TEST_HASH_DIR ?= $(BINDIR)
# this target only makes sense if an ELFFILE is actually created, thus guard by
# RIOTNOLINK="".
ifeq (,$(RIOTNOLINK))
@ -92,10 +95,10 @@ ifeq (,$(RIOTNOLINK))
$(error HASHFILE is empty for $(BOARD))
endif
test-input-hash: $(TESTS) $(TESTS_WITH_CONFIG) $(TESTS_AS_ROOT) $(HASHFILE) $(TEST_EXTRA_FILES)
sha1sum $^ > $(BINDIR)/test-input-hash.sha1
sha1sum $^ > $(RIOT_TEST_HASH_DIR)/test-input-hash.sha1
else
# .SECONDARY creates the bin folder, we depend on it to avoid writing to it
# prior to it being created when concurrent building is used
test-input-hash: .SECONDARY
$(file >$(BINDIR)/test-input-hash.sha1,no binary generated due to RIOTNOLINK=1)
$(file >$(RIOT_TEST_HASH_DIR)/test-input-hash.sha1,no binary generated due to RIOTNOLINK=1)
endif

View File

@ -46,6 +46,7 @@ export RIOTMAKE # Location of all supplemental Makefiles (such as t
export RIOTKCONFIG # Location of all supplemental Kconfig files
export BINDIRBASE # This is the folder where the application should be built in. For each BOARD a different subfolder is used.
export BINDIR # This is the folder where the application should be built in.
export RIOT_TEST_HASH_DIR # The dir to generate the test-input-hash.sha1 file for checking if a test has changed, uses BINDIR by default.
export CARGO_TARGET_DIR # This is the folder where Rust parts of the application should be built in.
export BUILD_DIR # This is the base folder to store common build files and artifacts, e.g. test results.
export APPDIR # The base folder containing the application