]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - tools/testing/selftests/lib.mk
selftests: Fix selftests build to just build, not run tests
[mirror_ubuntu-eoan-kernel.git] / tools / testing / selftests / lib.mk
CommitLineData
84f887bf
ME
1# This mimics the top-level Makefile. We do it explicitly here so that this
2# Makefile can operate with or without the kbuild infrastructure.
3CC := $(CROSS_COMPILE)gcc
4
d83c3ba0
ME
5TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
6TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
7
8all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
9
5e29a910 10define RUN_TESTS
88baa78d 11 @for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
a8ba798b 12 BASENAME_TEST=`basename $$TEST`; \
13 cd `dirname $$TEST`; (./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests: $$BASENAME_TEST [FAIL]"; cd -;\
5e29a910
ME
14 done;
15endef
16
17run_tests: all
18 $(RUN_TESTS)
19
32dcfba6 20define INSTALL_RULE
900d65ee
BJZ
21 @if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \
22 mkdir -p ${INSTALL_PATH}; \
5fe59799 23 echo "rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/"; \
24 rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/; \
88baa78d 25 fi
26 @if [ "X$(TEST_GEN_PROGS)$(TEST_GEN_PROGS_EXTENDED)$(TEST_GEN_FILES)" != "X" ]; then \
27 mkdir -p ${INSTALL_PATH}; \
28 echo "rsync -a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/"; \
29 rsync -a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/; \
a7d0f078 30 fi
32dcfba6
ME
31endef
32
33install: all
34ifdef INSTALL_PATH
35 $(INSTALL_RULE)
36else
37 $(error Error: set INSTALL_PATH to use install)
38endif
39
40define EMIT_TESTS
88baa78d 41 @for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
a8ba798b 42 BASENAME_TEST=`basename $$TEST`; \
43 echo "(./$$BASENAME_TEST && echo \"selftests: $$BASENAME_TEST [PASS]\") || echo \"selftests: $$BASENAME_TEST [FAIL]\""; \
32dcfba6
ME
44 done;
45endef
46
47emit_tests:
48 $(EMIT_TESTS)
49
88baa78d 50clean:
80d443e8 51 $(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
88baa78d 52
a8ba798b 53$(OUTPUT)/%:%.c
54 $(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) $< -o $@
55
56$(OUTPUT)/%.o:%.S
57 $(CC) $(ASFLAGS) -c $< -o $@
58
59$(OUTPUT)/%:%.S
60 $(CC) $(ASFLAGS) $< -o $@
7d758af2 61
32dcfba6 62.PHONY: run_tests all clean install emit_tests