summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/Makefile
blob: d3b32b6ddd62f6f2dc9cb376ce89bb462dea4063 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
TARGETS = breakpoints
TARGETS += cpu-hotplug
TARGETS += efivarfs
TARGETS += kcmp
TARGETS += memfd
TARGETS += memory-hotplug
TARGETS += mqueue
TARGETS += mount
TARGETS += net
TARGETS += ptrace
TARGETS += timers
TARGETS += vm
TARGETS += powerpc
TARGETS += user
TARGETS += sysctl
TARGETS += firmware
TARGETS += ftrace
TARGETS += exec

INSTALL_TARGETS = breakpoints cpu-hotplug efivarfs firmware ipc
INSTALL_TARGETS += kcmp memfd memory-hotplug mqueue mount net
INSTALL_TARGETS += ptrace sysctl timers user vm

TARGETS_HOTPLUG = cpu-hotplug
TARGETS_HOTPLUG += memory-hotplug

all:
	for TARGET in $(TARGETS); do \
		make -C $$TARGET; \
	done;

install:
ifdef INSTALL_KSFT_PATH
	make all
	@echo #!/bin/sh\n# Kselftest Run Tests .... >> $(KSELFTEST)
	@echo # This file is generated during kselftest_install >> $(KSELFTEST)
	@echo # Please don't change it !!\n  >> $(KSELFTEST)
	@echo echo ============================== >> $(KSELFTEST)
	for TARGET in $(INSTALL_TARGETS); do \
		echo Installing $$TARGET; \
		make -C $$TARGET install; \
	done;
	chmod +x $(KSELFTEST)
else
	@echo Run make kselftest_install in top level source directory
endif

run_tests:
ifdef INSTALL_KSFT_PATH
	@cd $(INSTALL_KSFT_PATH); ./kselftest.sh; cd -
# TODO: include ftrace and powerpc in install targets
	for TARGET in ftrace powerpc; do \
		make -C $$TARGET run_tests; \
	done;
else
	make all
	for TARGET in $(TARGETS); do \
		make -C $$TARGET run_tests; \
	done;
endif

hotplug:
	for TARGET in $(TARGETS_HOTPLUG); do \
		make -C $$TARGET; \
	done;

run_hotplug: hotplug
	for TARGET in $(TARGETS_HOTPLUG); do \
		make -C $$TARGET run_full_test; \
	done;

clean_hotplug:
	for TARGET in $(TARGETS_HOTPLUG); do \
		make -C $$TARGET clean; \
	done;

clean:
	for TARGET in $(TARGETS); do \
		make -C $$TARGET clean; \
	done;