]>
Commit | Line | Data |
---|---|---|
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. | |
3 | CC := $(CROSS_COMPILE)gcc | |
4 | ||
d83c3ba0 ME |
5 | TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS)) |
6 | TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES)) | |
7 | ||
8 | all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) | |
9 | ||
5e29a910 | 10 | define 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; |
15 | endef | |
16 | ||
17 | run_tests: all | |
18 | $(RUN_TESTS) | |
19 | ||
32dcfba6 | 20 | define 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 |
31 | endef |
32 | ||
33 | install: all | |
34 | ifdef INSTALL_PATH | |
35 | $(INSTALL_RULE) | |
36 | else | |
37 | $(error Error: set INSTALL_PATH to use install) | |
38 | endif | |
39 | ||
40 | define 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; |
45 | endef | |
46 | ||
47 | emit_tests: | |
48 | $(EMIT_TESTS) | |
49 | ||
88baa78d | 50 | clean: |
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 |