xref: /openbmc/linux/tools/Makefile (revision 827634ad)
1# Some of the tools (perf) use same make variables
2# as in kernel build.
3export srctree=
4export objtree=
5
6include scripts/Makefile.include
7
8help:
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 '  hv         - tools used when in Hyper-V clients'
16	@echo '  lguest     - a minimal 32-bit x86 hypervisor'
17	@echo '  perf       - Linux performance measurement and analysis tool'
18	@echo '  selftests  - various kernel selftests'
19	@echo '  turbostat  - Intel CPU idle stats and freq reporting tool'
20	@echo '  usb        - USB testing tools'
21	@echo '  virtio     - vhost test module'
22	@echo '  net        - misc networking tools'
23	@echo '  vm         - misc vm tools'
24	@echo '  x86_energy_perf_policy - Intel energy policy tool'
25	@echo '  tmon       - thermal monitoring and tuning tool'
26	@echo ''
27	@echo 'You can do:'
28	@echo ' $$ make -C tools/ <tool>_install'
29	@echo ''
30	@echo '  from the kernel command line to build and install one of'
31	@echo '  the tools above'
32	@echo ''
33	@echo '  $$ make tools/install'
34	@echo ''
35	@echo '  installs all tools.'
36	@echo ''
37	@echo 'Cleaning targets:'
38	@echo ''
39	@echo '  all of the above with the "_clean" string appended cleans'
40	@echo '    the respective build directory.'
41	@echo '  clean: a summary clean target to clean _all_ folders'
42
43acpi: FORCE
44	$(call descend,power/$@)
45
46cpupower: FORCE
47	$(call descend,power/$@)
48
49cgroup firewire hv guest usb virtio vm net: FORCE
50	$(call descend,$@)
51
52liblockdep: FORCE
53	$(call descend,lib/lockdep)
54
55libapi: FORCE
56	$(call descend,lib/api)
57
58# The perf build does not follow the descend function setup,
59# invoking it via it's own make rule.
60PERF_O   = $(if $(O),$(O)/tools/perf,)
61
62perf: FORCE
63	$(Q)mkdir -p $(PERF_O) .
64	$(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir=
65
66selftests: FORCE
67	$(call descend,testing/$@)
68
69turbostat x86_energy_perf_policy: FORCE
70	$(call descend,power/x86/$@)
71
72tmon: FORCE
73	$(call descend,thermal/$@)
74
75acpi_install:
76	$(call descend,power/$(@:_install=),install)
77
78cpupower_install:
79	$(call descend,power/$(@:_install=),install)
80
81cgroup_install firewire_install hv_install lguest_install perf_install usb_install virtio_install vm_install net_install:
82	$(call descend,$(@:_install=),install)
83
84selftests_install:
85	$(call descend,testing/$(@:_clean=),install)
86
87turbostat_install x86_energy_perf_policy_install:
88	$(call descend,power/x86/$(@:_install=),install)
89
90tmon_install:
91	$(call descend,thermal/$(@:_install=),install)
92
93install: acpi_install cgroup_install cpupower_install hv_install firewire_install lguest_install \
94		perf_install selftests_install turbostat_install usb_install \
95		virtio_install vm_install net_install x86_energy_perf_policy_install \
96	tmon
97
98acpi_clean:
99	$(call descend,power/acpi,clean)
100
101cpupower_clean:
102	$(call descend,power/cpupower,clean)
103
104cgroup_clean hv_clean firewire_clean lguest_clean usb_clean virtio_clean vm_clean net_clean:
105	$(call descend,$(@:_clean=),clean)
106
107liblockdep_clean:
108	$(call descend,lib/lockdep,clean)
109
110libapi_clean:
111	$(call descend,lib/api,clean)
112
113perf_clean:
114	$(call descend,$(@:_clean=),clean)
115
116selftests_clean:
117	$(call descend,testing/$(@:_clean=),clean)
118
119turbostat_clean x86_energy_perf_policy_clean:
120	$(call descend,power/x86/$(@:_clean=),clean)
121
122tmon_clean:
123	$(call descend,thermal/tmon,clean)
124
125clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \
126		perf_clean selftests_clean turbostat_clean usb_clean virtio_clean \
127		vm_clean net_clean x86_energy_perf_policy_clean tmon_clean
128
129.PHONY: FORCE
130