lib.mk 911 字节
Newer Older
1 2 3 4
# This mimics the top-level Makefile. We do it explicitly here so that this
# Makefile can operate with or without the kbuild infrastructure.
CC := $(CROSS_COMPILE)gcc

5 6 7 8 9 10 11 12 13
define RUN_TESTS
	@for TEST in $(TEST_PROGS); do \
		(./$$TEST && echo "selftests: $$TEST [PASS]") || echo "selftests: $$TEST [FAIL]"; \
	done;
endef

run_tests: all
	$(RUN_TESTS)

M
Michael Ellerman 已提交
14 15
define INSTALL_RULE
	mkdir -p $(INSTALL_PATH)
16 17 18
	@for TEST_DIR in $(TEST_DIRS); do\
		cp -r $$TEST_DIR $(INSTALL_PATH); \
	done;
19
	install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)
M
Michael Ellerman 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
endef

install: all
ifdef INSTALL_PATH
	$(INSTALL_RULE)
else
	$(error Error: set INSTALL_PATH to use install)
endif

define EMIT_TESTS
	@for TEST in $(TEST_PROGS); do \
		echo "(./$$TEST && echo \"selftests: $$TEST [PASS]\") || echo \"selftests: $$TEST [FAIL]\""; \
	done;
endef

emit_tests:
	$(EMIT_TESTS)

.PHONY: run_tests all clean install emit_tests