diff options
Diffstat (limited to 'tools/testing/selftests/Makefile')
-rw-r--r-- | tools/testing/selftests/Makefile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile index 0db571340edb..95abddcd7839 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile | |||
@@ -17,6 +17,7 @@ TARGETS += sysctl | |||
17 | TARGETS += timers | 17 | TARGETS += timers |
18 | TARGETS += user | 18 | TARGETS += user |
19 | TARGETS += vm | 19 | TARGETS += vm |
20 | TARGETS += x86 | ||
20 | #Please keep the TARGETS list alphabetically sorted | 21 | #Please keep the TARGETS list alphabetically sorted |
21 | 22 | ||
22 | TARGETS_HOTPLUG = cpu-hotplug | 23 | TARGETS_HOTPLUG = cpu-hotplug |
@@ -55,7 +56,40 @@ clean_hotplug: | |||
55 | make -C $$TARGET clean; \ | 56 | make -C $$TARGET clean; \ |
56 | done; | 57 | done; |
57 | 58 | ||
59 | INSTALL_PATH ?= install | ||
60 | INSTALL_PATH := $(abspath $(INSTALL_PATH)) | ||
61 | ALL_SCRIPT := $(INSTALL_PATH)/run_kselftest.sh | ||
62 | |||
63 | install: | ||
64 | ifdef INSTALL_PATH | ||
65 | @# Ask all targets to install their files | ||
66 | mkdir -p $(INSTALL_PATH) | ||
67 | for TARGET in $(TARGETS); do \ | ||
68 | mkdir -p $(INSTALL_PATH)/$$TARGET ; \ | ||
69 | make -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \ | ||
70 | done; | ||
71 | |||
72 | @# Ask all targets to emit their test scripts | ||
73 | echo "#!/bin/bash" > $(ALL_SCRIPT) | ||
74 | echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT) | ||
75 | echo "ROOT=\$$PWD" >> $(ALL_SCRIPT) | ||
76 | |||
77 | for TARGET in $(TARGETS); do \ | ||
78 | echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \ | ||
79 | echo "echo ========================================" >> $(ALL_SCRIPT); \ | ||
80 | echo "cd $$TARGET" >> $(ALL_SCRIPT); \ | ||
81 | make -s --no-print-directory -C $$TARGET emit_tests >> $(ALL_SCRIPT); \ | ||
82 | echo "cd \$$ROOT" >> $(ALL_SCRIPT); \ | ||
83 | done; | ||
84 | |||
85 | chmod u+x $(ALL_SCRIPT) | ||
86 | else | ||
87 | $(error Error: set INSTALL_PATH to use install) | ||
88 | endif | ||
89 | |||
58 | clean: | 90 | clean: |
59 | for TARGET in $(TARGETS); do \ | 91 | for TARGET in $(TARGETS); do \ |
60 | make -C $$TARGET clean; \ | 92 | make -C $$TARGET clean; \ |
61 | done; | 93 | done; |
94 | |||
95 | .PHONY: install | ||