Commit | Line | Data |
---|---|---|
66a01b96 | 1 | TARGETS = breakpoints |
58c7be84 PE |
2 | TARGETS += cpu-hotplug |
3 | TARGETS += efivarfs | |
96e869d8 AM |
4 | TARGETS += exec |
5 | TARGETS += firmware | |
6 | TARGETS += ftrace | |
ecac1a75 | 7 | TARGETS += futex |
66a01b96 | 8 | TARGETS += kcmp |
b6d97344 | 9 | TARGETS += membarrier |
4f5ce5e8 | 10 | TARGETS += memfd |
58c7be84 | 11 | TARGETS += memory-hotplug |
db181ce0 | 12 | TARGETS += mount |
96e869d8 | 13 | TARGETS += mqueue |
a6f68034 | 14 | TARGETS += net |
96e869d8 | 15 | TARGETS += powerpc |
17afab1d | 16 | TARGETS += ptrace |
c99ee51a | 17 | TARGETS += seccomp |
96e869d8 | 18 | TARGETS += size |
1087d019 | 19 | TARGETS += static_keys |
96e869d8 | 20 | TARGETS += sysctl |
2278e5ed | 21 | ifneq (1, $(quicktest)) |
0bc4b0cf | 22 | TARGETS += timers |
2278e5ed | 23 | endif |
3e2a4c18 | 24 | TARGETS += user |
96e869d8 | 25 | TARGETS += vm |
3f705dfd | 26 | TARGETS += x86 |
f21fb798 | 27 | TARGETS += zram |
96e869d8 | 28 | #Please keep the TARGETS list alphabetically sorted |
2278e5ed SK |
29 | # Run "make quicktest=1 run_tests" or |
30 | # "make quicktest=1 kselftest from top level Makefile | |
274343ad | 31 | |
ddddda9b SK |
32 | TARGETS_HOTPLUG = cpu-hotplug |
33 | TARGETS_HOTPLUG += memory-hotplug | |
34 | ||
67d8712d SK |
35 | # Clear LDFLAGS and MAKEFLAGS if called from main |
36 | # Makefile to avoid test build failures when test | |
37 | # Makefile doesn't have explicit build rules. | |
38 | ifeq (1,$(MAKELEVEL)) | |
60df4642 | 39 | override LDFLAGS = |
67d8712d SK |
40 | override MAKEFLAGS = |
41 | endif | |
42 | ||
274343ad FW |
43 | all: |
44 | for TARGET in $(TARGETS); do \ | |
45 | make -C $$TARGET; \ | |
46 | done; | |
47 | ||
cab6b056 | 48 | run_tests: all |
f467f714 FW |
49 | for TARGET in $(TARGETS); do \ |
50 | make -C $$TARGET run_tests; \ | |
51 | done; | |
52 | ||
ddddda9b SK |
53 | hotplug: |
54 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
55 | make -C $$TARGET; \ | |
56 | done; | |
57 | ||
58 | run_hotplug: hotplug | |
59 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
60 | make -C $$TARGET run_full_test; \ | |
61 | done; | |
62 | ||
63 | clean_hotplug: | |
64 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
65 | make -C $$TARGET clean; \ | |
66 | done; | |
67 | ||
32dcfba6 ME |
68 | INSTALL_PATH ?= install |
69 | INSTALL_PATH := $(abspath $(INSTALL_PATH)) | |
70 | ALL_SCRIPT := $(INSTALL_PATH)/run_kselftest.sh | |
71 | ||
72 | install: | |
73 | ifdef INSTALL_PATH | |
74 | @# Ask all targets to install their files | |
75 | mkdir -p $(INSTALL_PATH) | |
76 | for TARGET in $(TARGETS); do \ | |
32dcfba6 ME |
77 | make -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \ |
78 | done; | |
79 | ||
80 | @# Ask all targets to emit their test scripts | |
81 | echo "#!/bin/bash" > $(ALL_SCRIPT) | |
82 | echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT) | |
83 | echo "ROOT=\$$PWD" >> $(ALL_SCRIPT) | |
84 | ||
85 | for TARGET in $(TARGETS); do \ | |
86 | echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \ | |
87 | echo "echo ========================================" >> $(ALL_SCRIPT); \ | |
88 | echo "cd $$TARGET" >> $(ALL_SCRIPT); \ | |
89 | make -s --no-print-directory -C $$TARGET emit_tests >> $(ALL_SCRIPT); \ | |
90 | echo "cd \$$ROOT" >> $(ALL_SCRIPT); \ | |
91 | done; | |
92 | ||
93 | chmod u+x $(ALL_SCRIPT) | |
94 | else | |
95 | $(error Error: set INSTALL_PATH to use install) | |
96 | endif | |
97 | ||
274343ad FW |
98 | clean: |
99 | for TARGET in $(TARGETS); do \ | |
100 | make -C $$TARGET clean; \ | |
101 | done; | |
32dcfba6 ME |
102 | |
103 | .PHONY: install |