1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 216671c1eSJiri Olsa# Some of the tools (perf) use same make variables 316671c1eSJiri Olsa# as in kernel build. 416671c1eSJiri Olsaexport srctree= 516671c1eSJiri Olsaexport objtree= 616671c1eSJiri Olsa 72363ecb1SBorislav Petkovinclude scripts/Makefile.include 82363ecb1SBorislav Petkov 9d5dd8afbSBorislav Petkovhelp: 10d5dd8afbSBorislav Petkov @echo 'Possible targets:' 11d5dd8afbSBorislav Petkov @echo '' 12a0c4acc0SLv Zheng @echo ' acpi - ACPI tools' 1338fe26b4SAndy Shevchenko @echo ' bpf - misc BPF tools' 1492e015b1SGreg Thelen @echo ' cgroup - cgroup tools' 15d5dd8afbSBorislav Petkov @echo ' cpupower - a tool for all things x86 CPU power' 164ab5a5d2SThorsten Leemhuis @echo ' debugging - tools for debugging' 17d5dd8afbSBorislav Petkov @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' 181e510603SAndrey Smirnov @echo ' firmware - Firmware tools' 1920a7add8SJosh Poimboeuf @echo ' freefall - laptop accelerometer program for disk protection' 206d591c46SLinus Walleij @echo ' gpio - GPIO tools' 213eb2094cSBjarke Istrup Pedersen @echo ' hv - tools used when in Hyper-V clients' 2253375103SRoberta Dobrescu @echo ' iio - IIO tools' 233fb4f7cdSSrinivas Pandruvada @echo ' intel-speed-select - Intel Speed Select tool' 24f9bc9e65SJanosch Frank @echo ' kvm_stat - top-like utility for displaying kvm statistics' 25fa7f3242SDavid Lechner @echo ' leds - LEDs tools' 2624b4d0a1SAlexander Sverdlin @echo ' liblockdep - user-space wrapper for kernel locking-validator' 2738fe26b4SAndy Shevchenko @echo ' objtool - an ELF object analysis tool' 281ce78ce0SGustavo Pimentel @echo ' pci - PCI tools' 29d5dd8afbSBorislav Petkov @echo ' perf - Linux performance measurement and analysis tool' 30d5dd8afbSBorislav Petkov @echo ' selftests - various kernel selftests' 31950313ebSMasami Hiramatsu @echo ' bootconfig - boot config tool' 325eca4d84SJoshua Clayton @echo ' spi - spi tools' 3320a7add8SJosh Poimboeuf @echo ' tmon - thermal monitoring and tuning tool' 34*e23db805SViktor Rosendahl @echo ' tracing - misc tracing tools' 35d5dd8afbSBorislav Petkov @echo ' turbostat - Intel CPU idle stats and freq reporting tool' 36d5dd8afbSBorislav Petkov @echo ' usb - USB testing tools' 37d5dd8afbSBorislav Petkov @echo ' virtio - vhost test module' 38d5dd8afbSBorislav Petkov @echo ' vm - misc vm tools' 399d64fc08SMario Limonciello @echo ' wmi - WMI interface examples' 40d5dd8afbSBorislav Petkov @echo ' x86_energy_perf_policy - Intel energy policy tool' 41d5dd8afbSBorislav Petkov @echo '' 42ea01fa9fSBorislav Petkov @echo 'You can do:' 43ea01fa9fSBorislav Petkov @echo ' $$ make -C tools/ <tool>_install' 44ea01fa9fSBorislav Petkov @echo '' 45ea01fa9fSBorislav Petkov @echo ' from the kernel command line to build and install one of' 46ea01fa9fSBorislav Petkov @echo ' the tools above' 47ea01fa9fSBorislav Petkov @echo '' 48f6ba98c5SKamal Mostafa @echo ' $$ make tools/all' 49f6ba98c5SKamal Mostafa @echo '' 50f6ba98c5SKamal Mostafa @echo ' builds all tools.' 51f6ba98c5SKamal Mostafa @echo '' 52ea01fa9fSBorislav Petkov @echo ' $$ make tools/install' 53ea01fa9fSBorislav Petkov @echo '' 54ea01fa9fSBorislav Petkov @echo ' installs all tools.' 55ea01fa9fSBorislav Petkov @echo '' 56d5dd8afbSBorislav Petkov @echo 'Cleaning targets:' 57d5dd8afbSBorislav Petkov @echo '' 58d5dd8afbSBorislav Petkov @echo ' all of the above with the "_clean" string appended cleans' 59d5dd8afbSBorislav Petkov @echo ' the respective build directory.' 60d5dd8afbSBorislav Petkov @echo ' clean: a summary clean target to clean _all_ folders' 61d5dd8afbSBorislav Petkov 62a0c4acc0SLv Zhengacpi: FORCE 63a0c4acc0SLv Zheng $(call descend,power/$@) 64a0c4acc0SLv Zheng 652363ecb1SBorislav Petkovcpupower: FORCE 66ca9dfc6cSDavid Howells $(call descend,power/$@) 672363ecb1SBorislav Petkov 68*e23db805SViktor Rosendahlcgroup firewire hv guest bootconfig spi usb virtio vm bpf iio gpio objtool leds wmi pci firmware debugging tracing: FORCE 6985c66be1SBorislav Petkov $(call descend,$@) 7085c66be1SBorislav Petkov 7133a57ce0SJiri Olsabpf/%: FORCE 7233a57ce0SJiri Olsa $(call descend,$@) 7333a57ce0SJiri Olsa 740041898eSS. Lockwood-Childsliblockdep: FORCE 750041898eSS. Lockwood-Childs $(call descend,lib/lockdep) 760041898eSS. Lockwood-Childs 77379a9a28SJiri Olsalibapi: FORCE 78553873e1SBorislav Petkov $(call descend,lib/api) 7985c66be1SBorislav Petkov 8016671c1eSJiri Olsa# The perf build does not follow the descend function setup, 8116671c1eSJiri Olsa# invoking it via it's own make rule. 8216671c1eSJiri OlsaPERF_O = $(if $(O),$(O)/tools/perf,) 8316671c1eSJiri Olsa 84379a9a28SJiri Olsaperf: FORCE 8516671c1eSJiri Olsa $(Q)mkdir -p $(PERF_O) . 8616671c1eSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= 872363ecb1SBorislav Petkov 882363ecb1SBorislav Petkovselftests: FORCE 89ca9dfc6cSDavid Howells $(call descend,testing/$@) 902363ecb1SBorislav Petkov 913fb4f7cdSSrinivas Pandruvadaturbostat x86_energy_perf_policy intel-speed-select: FORCE 92ca9dfc6cSDavid Howells $(call descend,power/x86/$@) 932363ecb1SBorislav Petkov 9494f69966SJacob Pantmon: FORCE 9594f69966SJacob Pan $(call descend,thermal/$@) 9694f69966SJacob Pan 97b3fd7368SPali Rohárfreefall: FORCE 98b3fd7368SPali Rohár $(call descend,laptop/$@) 99b3fd7368SPali Rohár 100ee5f7d79SJustin M. Forbeskvm_stat: FORCE 101ee5f7d79SJustin M. Forbes $(call descend,kvm/$@) 102ee5f7d79SJustin M. Forbes 103ecda85e7SJuergen Grossall: acpi cgroup cpupower gpio hv firewire liblockdep \ 104950313ebSMasami Hiramatsu perf selftests bootconfig spi turbostat usb \ 105a92bb546SJakub Kicinski virtio vm bpf x86_energy_perf_policy \ 1064ab5a5d2SThorsten Leemhuis tmon freefall iio objtool kvm_stat wmi \ 107*e23db805SViktor Rosendahl pci debugging tracing 108f6ba98c5SKamal Mostafa 109a0c4acc0SLv Zhengacpi_install: 110a0c4acc0SLv Zheng $(call descend,power/$(@:_install=),install) 111a0c4acc0SLv Zheng 1122363ecb1SBorislav Petkovcpupower_install: 113ca9dfc6cSDavid Howells $(call descend,power/$(@:_install=),install) 1142363ecb1SBorislav Petkov 115*e23db805SViktor Rosendahlcgroup_install firewire_install gpio_install hv_install iio_install perf_install bootconfig_install spi_install usb_install virtio_install vm_install bpf_install objtool_install wmi_install pci_install debugging_install tracing_install: 116ca9dfc6cSDavid Howells $(call descend,$(@:_install=),install) 1172363ecb1SBorislav Petkov 11824b4d0a1SAlexander Sverdlinliblockdep_install: 11924b4d0a1SAlexander Sverdlin $(call descend,lib/lockdep,install) 12024b4d0a1SAlexander Sverdlin 1212363ecb1SBorislav Petkovselftests_install: 1229a13c658SKevin Hilman $(call descend,testing/$(@:_install=),install) 1232363ecb1SBorislav Petkov 1243fb4f7cdSSrinivas Pandruvadaturbostat_install x86_energy_perf_policy_install intel-speed-select_install: 125ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_install=),install) 1262363ecb1SBorislav Petkov 12794f69966SJacob Pantmon_install: 12894f69966SJacob Pan $(call descend,thermal/$(@:_install=),install) 12994f69966SJacob Pan 130b3fd7368SPali Rohárfreefall_install: 131b3fd7368SPali Rohár $(call descend,laptop/$(@:_install=),install) 132b3fd7368SPali Rohár 133f9bc9e65SJanosch Frankkvm_stat_install: 134f9bc9e65SJanosch Frank $(call descend,kvm/$(@:_install=),install) 135f9bc9e65SJanosch Frank 13653499109SAndy Shevchenkoinstall: acpi_install cgroup_install cpupower_install gpio_install \ 137bf1d6b2cSLinus Torvalds hv_install firewire_install iio_install liblockdep_install \ 13892e015b1SGreg Thelen perf_install selftests_install turbostat_install usb_install \ 139a92bb546SJakub Kicinski virtio_install vm_install bpf_install x86_energy_perf_policy_install \ 1409d64fc08SMario Limonciello tmon_install freefall_install objtool_install kvm_stat_install \ 141*e23db805SViktor Rosendahl wmi_install pci_install debugging_install intel-speed-select_install \ 142*e23db805SViktor Rosendahl tracing_install 1432363ecb1SBorislav Petkov 144a0c4acc0SLv Zhengacpi_clean: 145a0c4acc0SLv Zheng $(call descend,power/acpi,clean) 146a0c4acc0SLv Zheng 1472363ecb1SBorislav Petkovcpupower_clean: 148ca9dfc6cSDavid Howells $(call descend,power/cpupower,clean) 1492363ecb1SBorislav Petkov 150*e23db805SViktor Rosendahlcgroup_clean hv_clean firewire_clean bootconfig_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean bpf_clean iio_clean gpio_clean objtool_clean leds_clean pci_clean firmware_clean debugging_clean tracing_clean: 15185c66be1SBorislav Petkov $(call descend,$(@:_clean=),clean) 15285c66be1SBorislav Petkov 1530041898eSS. Lockwood-Childsliblockdep_clean: 1540041898eSS. Lockwood-Childs $(call descend,lib/lockdep,clean) 1550041898eSS. Lockwood-Childs 156379a9a28SJiri Olsalibapi_clean: 157553873e1SBorislav Petkov $(call descend,lib/api,clean) 15885c66be1SBorislav Petkov 1592f5a7f1dSJiri Olsalibbpf_clean: 1602f5a7f1dSJiri Olsa $(call descend,lib/bpf,clean) 1612f5a7f1dSJiri Olsa 1622f5a7f1dSJiri Olsalibsubcmd_clean: 1632f5a7f1dSJiri Olsa $(call descend,lib/subcmd,clean) 1642f5a7f1dSJiri Olsa 165379a9a28SJiri Olsaperf_clean: 166ab362f5aSJiri Olsa $(Q)mkdir -p $(PERF_O) . 167ab362f5aSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= clean 1682363ecb1SBorislav Petkov 1692363ecb1SBorislav Petkovselftests_clean: 170ca9dfc6cSDavid Howells $(call descend,testing/$(@:_clean=),clean) 1712363ecb1SBorislav Petkov 1723fb4f7cdSSrinivas Pandruvadaturbostat_clean x86_energy_perf_policy_clean intel-speed-select_clean: 173ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_clean=),clean) 1742363ecb1SBorislav Petkov 17594f69966SJacob Pantmon_clean: 17694f69966SJacob Pan $(call descend,thermal/tmon,clean) 17794f69966SJacob Pan 178b3fd7368SPali Rohárfreefall_clean: 179b3fd7368SPali Rohár $(call descend,laptop/freefall,clean) 180b3fd7368SPali Rohár 1812f5a7f1dSJiri Olsabuild_clean: 1822f5a7f1dSJiri Olsa $(call descend,build,clean) 1832f5a7f1dSJiri Olsa 184ecda85e7SJuergen Grossclean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \ 185950313ebSMasami Hiramatsu perf_clean selftests_clean turbostat_clean bootconfig_clean spi_clean usb_clean virtio_clean \ 186a92bb546SJakub Kicinski vm_clean bpf_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ 1876d591c46SLinus Walleij freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ 1883fb4f7cdSSrinivas Pandruvada gpio_clean objtool_clean leds_clean wmi_clean pci_clean firmware_clean debugging_clean \ 189*e23db805SViktor Rosendahl intel-speed-select_clean tracing_clean 1902363ecb1SBorislav Petkov 1912363ecb1SBorislav Petkov.PHONY: FORCE 192