3 TARGETS += capabilities
16 TARGETS += memory-hotplug
25 TARGETS += sigaltstack
27 TARGETS += static_keys
30 ifneq (1, $(quicktest))
37 #Please keep the TARGETS list alphabetically sorted
38 # Run "make quicktest=1 run_tests" or
39 # "make quicktest=1 kselftest from top level Makefile
41 TARGETS_HOTPLUG = cpu-hotplug
42 TARGETS_HOTPLUG += memory-hotplug
44 # Clear LDFLAGS and MAKEFLAGS if called from main
45 # Makefile to avoid test build failures when test
46 # Makefile doesn't have explicit build rules.
54 BUILD := $(KBUILD_OUTPUT)
62 for TARGET in $(TARGETS); do \
63 BUILD_TARGET=$$BUILD/$$TARGET; \
64 mkdir $$BUILD_TARGET -p; \
65 make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
69 for TARGET in $(TARGETS); do \
70 BUILD_TARGET=$$BUILD/$$TARGET; \
71 make OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
75 for TARGET in $(TARGETS_HOTPLUG); do \
76 BUILD_TARGET=$$BUILD/$$TARGET; \
77 make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
81 for TARGET in $(TARGETS_HOTPLUG); do \
82 BUILD_TARGET=$$BUILD/$$TARGET; \
83 make OUTPUT=$$BUILD_TARGET -C $$TARGET run_full_test;\
87 for TARGET in $(TARGETS_HOTPLUG); do \
88 BUILD_TARGET=$$BUILD/$$TARGET; \
89 make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\
93 make -C pstore run_crash
95 INSTALL_PATH ?= install
96 INSTALL_PATH := $(abspath $(INSTALL_PATH))
97 ALL_SCRIPT := $(INSTALL_PATH)/run_kselftest.sh
101 @# Ask all targets to install their files
102 mkdir -p $(INSTALL_PATH)
103 for TARGET in $(TARGETS); do \
104 BUILD_TARGET=$$BUILD/$$TARGET; \
105 make OUTPUT=$$BUILD_TARGET -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \
108 @# Ask all targets to emit their test scripts
109 echo "#!/bin/bash" > $(ALL_SCRIPT)
110 echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT)
111 echo "ROOT=\$$PWD" >> $(ALL_SCRIPT)
113 for TARGET in $(TARGETS); do \
114 BUILD_TARGET=$$BUILD/$$TARGET; \
115 echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \
116 echo "echo ========================================" >> $(ALL_SCRIPT); \
117 echo "cd $$TARGET" >> $(ALL_SCRIPT); \
118 make -s --no-print-directory OUTPUT=$$BUILD_TARGET -C $$TARGET emit_tests >> $(ALL_SCRIPT); \
119 echo "cd \$$ROOT" >> $(ALL_SCRIPT); \
122 chmod u+x $(ALL_SCRIPT)
124 $(error Error: set INSTALL_PATH to use install)
128 for TARGET in $(TARGETS); do \
129 BUILD_TARGET=$$BUILD/$$TARGET; \
130 make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\