blob: daa8fb3e4363fcf5ad374d61bb75e3b0a06f97c5
1 | # Some of the tools (perf) use same make variables |
2 | # as in kernel build. |
3 | export srctree= |
4 | export objtree= |
5 | |
6 | include scripts/Makefile.include |
7 | |
8 | help: |
9 | @echo 'Possible targets:' |
10 | @echo '' |
11 | @echo ' acpi - ACPI tools' |
12 | @echo ' cgroup - cgroup tools' |
13 | @echo ' cpupower - a tool for all things x86 CPU power' |
14 | @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' |
15 | @echo ' freefall - laptop accelerometer program for disk protection' |
16 | @echo ' gpio - GPIO tools' |
17 | @echo ' hv - tools used when in Hyper-V clients' |
18 | @echo ' iio - IIO tools' |
19 | @echo ' kvm_stat - top-like utility for displaying kvm statistics' |
20 | @echo ' lguest - a minimal 32-bit x86 hypervisor' |
21 | @echo ' net - misc networking tools' |
22 | @echo ' perf - Linux performance measurement and analysis tool' |
23 | @echo ' selftests - various kernel selftests' |
24 | @echo ' spi - spi tools' |
25 | @echo ' objtool - an ELF object analysis tool' |
26 | @echo ' tmon - thermal monitoring and tuning tool' |
27 | @echo ' turbostat - Intel CPU idle stats and freq reporting tool' |
28 | @echo ' usb - USB testing tools' |
29 | @echo ' virtio - vhost test module' |
30 | @echo ' vm - misc vm tools' |
31 | @echo ' x86_energy_perf_policy - Intel energy policy tool' |
32 | @echo '' |
33 | @echo 'You can do:' |
34 | @echo ' $$ make -C tools/ <tool>_install' |
35 | @echo '' |
36 | @echo ' from the kernel command line to build and install one of' |
37 | @echo ' the tools above' |
38 | @echo '' |
39 | @echo ' $$ make tools/all' |
40 | @echo '' |
41 | @echo ' builds all tools.' |
42 | @echo '' |
43 | @echo ' $$ make tools/install' |
44 | @echo '' |
45 | @echo ' installs all tools.' |
46 | @echo '' |
47 | @echo 'Cleaning targets:' |
48 | @echo '' |
49 | @echo ' all of the above with the "_clean" string appended cleans' |
50 | @echo ' the respective build directory.' |
51 | @echo ' clean: a summary clean target to clean _all_ folders' |
52 | |
53 | acpi: FORCE |
54 | $(call descend,power/$@) |
55 | |
56 | cpupower: FORCE |
57 | $(call descend,power/$@) |
58 | |
59 | cgroup firewire hv guest spi usb virtio vm net iio gpio objtool: FORCE |
60 | $(call descend,$@) |
61 | |
62 | liblockdep: FORCE |
63 | $(call descend,lib/lockdep) |
64 | |
65 | libapi: FORCE |
66 | $(call descend,lib/api) |
67 | |
68 | # The perf build does not follow the descend function setup, |
69 | # invoking it via it's own make rule. |
70 | PERF_O = $(if $(O),$(O)/tools/perf,) |
71 | |
72 | perf: FORCE |
73 | $(Q)mkdir -p $(PERF_O) . |
74 | $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= |
75 | |
76 | selftests: FORCE |
77 | $(call descend,testing/$@) |
78 | |
79 | turbostat x86_energy_perf_policy: FORCE |
80 | $(call descend,power/x86/$@) |
81 | |
82 | tmon: FORCE |
83 | $(call descend,thermal/$@) |
84 | |
85 | freefall: FORCE |
86 | $(call descend,laptop/$@) |
87 | |
88 | all: acpi cgroup cpupower gpio hv firewire lguest \ |
89 | perf selftests turbostat usb \ |
90 | virtio vm net x86_energy_perf_policy \ |
91 | tmon freefall objtool |
92 | |
93 | acpi_install: |
94 | $(call descend,power/$(@:_install=),install) |
95 | |
96 | cpupower_install: |
97 | $(call descend,power/$(@:_install=),install) |
98 | |
99 | cgroup_install firewire_install gpio_install hv_install lguest_install perf_install usb_install virtio_install vm_install net_install objtool_install: |
100 | $(call descend,$(@:_install=),install) |
101 | |
102 | selftests_install: |
103 | $(call descend,testing/$(@:_install=),install) |
104 | |
105 | turbostat_install x86_energy_perf_policy_install: |
106 | $(call descend,power/x86/$(@:_install=),install) |
107 | |
108 | tmon_install: |
109 | $(call descend,thermal/$(@:_install=),install) |
110 | |
111 | freefall_install: |
112 | $(call descend,laptop/$(@:_install=),install) |
113 | |
114 | kvm_stat_install: |
115 | $(call descend,kvm/$(@:_install=),install) |
116 | |
117 | install: acpi_install cgroup_install cpupower_install gpio_install \ |
118 | hv_install firewire_install lguest_install \ |
119 | perf_install selftests_install turbostat_install usb_install \ |
120 | virtio_install vm_install net_install x86_energy_perf_policy_install \ |
121 | tmon_install freefall_install objtool_install kvm_stat_install |
122 | |
123 | acpi_clean: |
124 | $(call descend,power/acpi,clean) |
125 | |
126 | cpupower_clean: |
127 | $(call descend,power/cpupower,clean) |
128 | |
129 | cgroup_clean hv_clean firewire_clean lguest_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean gpio_clean objtool_clean: |
130 | $(call descend,$(@:_clean=),clean) |
131 | |
132 | liblockdep_clean: |
133 | $(call descend,lib/lockdep,clean) |
134 | |
135 | libapi_clean: |
136 | $(call descend,lib/api,clean) |
137 | |
138 | libbpf_clean: |
139 | $(call descend,lib/bpf,clean) |
140 | |
141 | libsubcmd_clean: |
142 | $(call descend,lib/subcmd,clean) |
143 | |
144 | perf_clean: |
145 | $(Q)mkdir -p $(PERF_O) . |
146 | $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= clean |
147 | |
148 | selftests_clean: |
149 | $(call descend,testing/$(@:_clean=),clean) |
150 | |
151 | turbostat_clean x86_energy_perf_policy_clean: |
152 | $(call descend,power/x86/$(@:_clean=),clean) |
153 | |
154 | tmon_clean: |
155 | $(call descend,thermal/tmon,clean) |
156 | |
157 | freefall_clean: |
158 | $(call descend,laptop/freefall,clean) |
159 | |
160 | build_clean: |
161 | $(call descend,build,clean) |
162 | |
163 | clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \ |
164 | perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \ |
165 | vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ |
166 | freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ |
167 | gpio_clean objtool_clean |
168 | |
169 | .PHONY: FORCE |
170 |