3 TARGETS += capabilities
12 TARGETS += intel_pstate
18 TARGETS += memory-hotplug
27 TARGETS += sigaltstack
29 TARGETS += static_keys
32 ifneq (1, $(quicktest))
39 #Please keep the TARGETS list alphabetically sorted
40 # Run "make quicktest=1 run_tests" or
41 # "make quicktest=1 kselftest from top level Makefile
43 TARGETS_HOTPLUG = cpu-hotplug
44 TARGETS_HOTPLUG += memory-hotplug
46 # Clear LDFLAGS and MAKEFLAGS if called from main
47 # Makefile to avoid test build failures when test
48 # Makefile doesn't have explicit build rules.
56 BUILD := $(KBUILD_OUTPUT)
64 for TARGET in $(TARGETS); do \
65 BUILD_TARGET=$$BUILD/$$TARGET; \
66 mkdir $$BUILD_TARGET -p; \
67 make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
71 for TARGET in $(TARGETS); do \
72 BUILD_TARGET=$$BUILD/$$TARGET; \
73 make OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
77 for TARGET in $(TARGETS_HOTPLUG); do \
78 BUILD_TARGET=$$BUILD/$$TARGET; \
79 make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
83 for TARGET in $(TARGETS_HOTPLUG); do \
84 BUILD_TARGET=$$BUILD/$$TARGET; \
85 make OUTPUT=$$BUILD_TARGET -C $$TARGET run_full_test;\
89 for TARGET in $(TARGETS_HOTPLUG); do \
90 BUILD_TARGET=$$BUILD/$$TARGET; \
91 make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\
95 make -C pstore run_crash
97 INSTALL_PATH ?= install
98 INSTALL_PATH := $(abspath $(INSTALL_PATH))
99 ALL_SCRIPT := $(INSTALL_PATH)/run_kselftest.sh
103 @# Ask all targets to install their files
104 mkdir -p $(INSTALL_PATH)
105 for TARGET in $(TARGETS); do \
106 BUILD_TARGET=$$BUILD/$$TARGET; \
107 make OUTPUT=$$BUILD_TARGET -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \
110 @# Ask all targets to emit their test scripts
111 echo "#!/bin/sh" > $(ALL_SCRIPT)
112 echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT)
113 echo "ROOT=\$$PWD" >> $(ALL_SCRIPT)
115 for TARGET in $(TARGETS); do \
116 BUILD_TARGET=$$BUILD/$$TARGET; \
117 echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \
118 echo "echo ========================================" >> $(ALL_SCRIPT); \
119 echo "cd $$TARGET" >> $(ALL_SCRIPT); \
120 make -s --no-print-directory OUTPUT=$$BUILD_TARGET -C $$TARGET emit_tests >> $(ALL_SCRIPT); \
121 echo "cd \$$ROOT" >> $(ALL_SCRIPT); \
124 chmod u+x $(ALL_SCRIPT)
126 $(error Error: set INSTALL_PATH to use install)
130 for TARGET in $(TARGETS); do \
131 BUILD_TARGET=$$BUILD/$$TARGET; \
132 make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\