blob: 50a93f5f13d64d5b0f9b4851d03f955da9b6e1d9 [file] [log] [blame]
Michael Ellerman84f887b2015-03-04 21:41:31 +11001# 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
Michael Ellerman5e29a912015-03-11 15:05:59 +11005define RUN_TESTS
6 @for TEST in $(TEST_PROGS); do \
7 (./$$TEST && echo "selftests: $$TEST [PASS]") || echo "selftests: $$TEST [FAIL]"; \
8 done;
9endef
10
11run_tests: all
12 $(RUN_TESTS)
13
Michael Ellerman32dcfba2015-03-11 15:06:00 +110014define INSTALL_RULE
Bamvor Jian Zhang900d65e2015-09-09 21:06:28 +080015 @if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \
16 mkdir -p ${INSTALL_PATH}; \
17 echo "rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/"; \
18 rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/; \
Bamvor Jian Zhanga7d0f072015-08-14 21:43:35 +080019 fi
Michael Ellerman32dcfba2015-03-11 15:06:00 +110020endef
21
22install: all
23ifdef INSTALL_PATH
24 $(INSTALL_RULE)
25else
26 $(error Error: set INSTALL_PATH to use install)
27endif
28
29define EMIT_TESTS
30 @for TEST in $(TEST_PROGS); do \
31 echo "(./$$TEST && echo \"selftests: $$TEST [PASS]\") || echo \"selftests: $$TEST [FAIL]\""; \
32 done;
33endef
34
35emit_tests:
36 $(EMIT_TESTS)
37
38.PHONY: run_tests all clean install emit_tests