]>
Commit | Line | Data |
---|---|---|
5aa5bd14 DB |
1 | TARGETS = bpf |
2 | TARGETS += breakpoints | |
f4ecb322 | 3 | TARGETS += capabilities |
e66d5b67 | 4 | TARGETS += cpufreq |
58c7be84 PE |
5 | TARGETS += cpu-hotplug |
6 | TARGETS += efivarfs | |
96e869d8 AM |
7 | TARGETS += exec |
8 | TARGETS += firmware | |
9 | TARGETS += ftrace | |
ecac1a75 | 10 | TARGETS += futex |
22f6592b | 11 | TARGETS += gpio |
6320303f | 12 | TARGETS += intel_pstate |
7e722473 | 13 | TARGETS += ipc |
66a01b96 | 14 | TARGETS += kcmp |
317dc34a | 15 | TARGETS += lib |
b6d97344 | 16 | TARGETS += membarrier |
4f5ce5e8 | 17 | TARGETS += memfd |
58c7be84 | 18 | TARGETS += memory-hotplug |
db181ce0 | 19 | TARGETS += mount |
96e869d8 | 20 | TARGETS += mqueue |
a6f68034 | 21 | TARGETS += net |
6ad92bf6 | 22 | TARGETS += nsfs |
96e869d8 | 23 | TARGETS += powerpc |
cc04a46f | 24 | TARGETS += pstore |
17afab1d | 25 | TARGETS += ptrace |
c99ee51a | 26 | TARGETS += seccomp |
19fd2868 | 27 | TARGETS += sigaltstack |
96e869d8 | 28 | TARGETS += size |
b8826e50 | 29 | TARGETS += splice |
1087d019 | 30 | TARGETS += static_keys |
82208160 | 31 | TARGETS += sync |
96e869d8 | 32 | TARGETS += sysctl |
2278e5ed | 33 | ifneq (1, $(quicktest)) |
0bc4b0cf | 34 | TARGETS += timers |
2278e5ed | 35 | endif |
3e2a4c18 | 36 | TARGETS += user |
96e869d8 | 37 | TARGETS += vm |
3f705dfd | 38 | TARGETS += x86 |
f21fb798 | 39 | TARGETS += zram |
96e869d8 | 40 | #Please keep the TARGETS list alphabetically sorted |
2278e5ed SK |
41 | # Run "make quicktest=1 run_tests" or |
42 | # "make quicktest=1 kselftest from top level Makefile | |
274343ad | 43 | |
ddddda9b SK |
44 | TARGETS_HOTPLUG = cpu-hotplug |
45 | TARGETS_HOTPLUG += memory-hotplug | |
46 | ||
67d8712d SK |
47 | # Clear LDFLAGS and MAKEFLAGS if called from main |
48 | # Makefile to avoid test build failures when test | |
49 | # Makefile doesn't have explicit build rules. | |
50 | ifeq (1,$(MAKELEVEL)) | |
60df4642 | 51 | override LDFLAGS = |
67d8712d SK |
52 | override MAKEFLAGS = |
53 | endif | |
54 | ||
a8ba798b | 55 | BUILD := $(O) |
56 | ifndef BUILD | |
57 | BUILD := $(KBUILD_OUTPUT) | |
58 | endif | |
59 | ifndef BUILD | |
60 | BUILD := $(shell pwd) | |
61 | endif | |
62 | ||
63 | export BUILD | |
274343ad | 64 | all: |
a8ba798b | 65 | for TARGET in $(TARGETS); do \ |
66 | BUILD_TARGET=$$BUILD/$$TARGET; \ | |
67 | mkdir $$BUILD_TARGET -p; \ | |
68 | make OUTPUT=$$BUILD_TARGET -C $$TARGET;\ | |
274343ad FW |
69 | done; |
70 | ||
cab6b056 | 71 | run_tests: all |
f467f714 | 72 | for TARGET in $(TARGETS); do \ |
a8ba798b | 73 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
74 | make OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ | |
f467f714 FW |
75 | done; |
76 | ||
ddddda9b SK |
77 | hotplug: |
78 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
a8ba798b | 79 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
80 | make OUTPUT=$$BUILD_TARGET -C $$TARGET;\ | |
ddddda9b SK |
81 | done; |
82 | ||
83 | run_hotplug: hotplug | |
84 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
a8ba798b | 85 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
86 | make OUTPUT=$$BUILD_TARGET -C $$TARGET run_full_test;\ | |
ddddda9b SK |
87 | done; |
88 | ||
89 | clean_hotplug: | |
90 | for TARGET in $(TARGETS_HOTPLUG); do \ | |
a8ba798b | 91 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
92 | make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\ | |
ddddda9b SK |
93 | done; |
94 | ||
f615e2bb HT |
95 | run_pstore_crash: |
96 | make -C pstore run_crash | |
97 | ||
32dcfba6 ME |
98 | INSTALL_PATH ?= install |
99 | INSTALL_PATH := $(abspath $(INSTALL_PATH)) | |
100 | ALL_SCRIPT := $(INSTALL_PATH)/run_kselftest.sh | |
101 | ||
102 | install: | |
103 | ifdef INSTALL_PATH | |
104 | @# Ask all targets to install their files | |
105 | mkdir -p $(INSTALL_PATH) | |
106 | for TARGET in $(TARGETS); do \ | |
a8ba798b | 107 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
108 | make OUTPUT=$$BUILD_TARGET -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \ | |
32dcfba6 ME |
109 | done; |
110 | ||
111 | @# Ask all targets to emit their test scripts | |
a2b1e8a2 | 112 | echo "#!/bin/sh" > $(ALL_SCRIPT) |
32dcfba6 ME |
113 | echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT) |
114 | echo "ROOT=\$$PWD" >> $(ALL_SCRIPT) | |
115 | ||
116 | for TARGET in $(TARGETS); do \ | |
a8ba798b | 117 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
32dcfba6 ME |
118 | echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \ |
119 | echo "echo ========================================" >> $(ALL_SCRIPT); \ | |
120 | echo "cd $$TARGET" >> $(ALL_SCRIPT); \ | |
a8ba798b | 121 | make -s --no-print-directory OUTPUT=$$BUILD_TARGET -C $$TARGET emit_tests >> $(ALL_SCRIPT); \ |
32dcfba6 ME |
122 | echo "cd \$$ROOT" >> $(ALL_SCRIPT); \ |
123 | done; | |
124 | ||
125 | chmod u+x $(ALL_SCRIPT) | |
126 | else | |
127 | $(error Error: set INSTALL_PATH to use install) | |
128 | endif | |
129 | ||
274343ad FW |
130 | clean: |
131 | for TARGET in $(TARGETS); do \ | |
a8ba798b | 132 | BUILD_TARGET=$$BUILD/$$TARGET; \ |
133 | make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\ | |
274343ad | 134 | done; |
32dcfba6 ME |
135 | |
136 | .PHONY: install |