116671c1eSJiri Olsa# Some of the tools (perf) use same make variables 216671c1eSJiri Olsa# as in kernel build. 316671c1eSJiri Olsaexport srctree= 416671c1eSJiri Olsaexport objtree= 516671c1eSJiri Olsa 62363ecb1SBorislav Petkovinclude scripts/Makefile.include 72363ecb1SBorislav Petkov 8d5dd8afbSBorislav Petkovhelp: 9d5dd8afbSBorislav Petkov @echo 'Possible targets:' 10d5dd8afbSBorislav Petkov @echo '' 11a0c4acc0SLv Zheng @echo ' acpi - ACPI tools' 1292e015b1SGreg Thelen @echo ' cgroup - cgroup tools' 13d5dd8afbSBorislav Petkov @echo ' cpupower - a tool for all things x86 CPU power' 14d5dd8afbSBorislav Petkov @echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer' 1520a7add8SJosh Poimboeuf @echo ' freefall - laptop accelerometer program for disk protection' 166d591c46SLinus Walleij @echo ' gpio - GPIO tools' 173eb2094cSBjarke Istrup Pedersen @echo ' hv - tools used when in Hyper-V clients' 1853375103SRoberta Dobrescu @echo ' iio - IIO tools' 19f9bc9e65SJanosch Frank @echo ' kvm_stat - top-like utility for displaying kvm statistics' 20fa7f3242SDavid Lechner @echo ' leds - LEDs tools' 2124b4d0a1SAlexander Sverdlin @echo ' liblockdep - user-space wrapper for kernel locking-validator' 2220a7add8SJosh Poimboeuf @echo ' net - misc networking tools' 23d5dd8afbSBorislav Petkov @echo ' perf - Linux performance measurement and analysis tool' 24d5dd8afbSBorislav Petkov @echo ' selftests - various kernel selftests' 255eca4d84SJoshua Clayton @echo ' spi - spi tools' 26442f04c3SJosh Poimboeuf @echo ' objtool - an ELF object analysis tool' 2720a7add8SJosh Poimboeuf @echo ' tmon - thermal monitoring and tuning tool' 28d5dd8afbSBorislav Petkov @echo ' turbostat - Intel CPU idle stats and freq reporting tool' 29d5dd8afbSBorislav Petkov @echo ' usb - USB testing tools' 30d5dd8afbSBorislav Petkov @echo ' virtio - vhost test module' 31d5dd8afbSBorislav Petkov @echo ' vm - misc vm tools' 32*9d64fc08SMario Limonciello @echo ' wmi - WMI interface examples' 33d5dd8afbSBorislav Petkov @echo ' x86_energy_perf_policy - Intel energy policy tool' 34d5dd8afbSBorislav Petkov @echo '' 35ea01fa9fSBorislav Petkov @echo 'You can do:' 36ea01fa9fSBorislav Petkov @echo ' $$ make -C tools/ <tool>_install' 37ea01fa9fSBorislav Petkov @echo '' 38ea01fa9fSBorislav Petkov @echo ' from the kernel command line to build and install one of' 39ea01fa9fSBorislav Petkov @echo ' the tools above' 40ea01fa9fSBorislav Petkov @echo '' 41f6ba98c5SKamal Mostafa @echo ' $$ make tools/all' 42f6ba98c5SKamal Mostafa @echo '' 43f6ba98c5SKamal Mostafa @echo ' builds all tools.' 44f6ba98c5SKamal Mostafa @echo '' 45ea01fa9fSBorislav Petkov @echo ' $$ make tools/install' 46ea01fa9fSBorislav Petkov @echo '' 47ea01fa9fSBorislav Petkov @echo ' installs all tools.' 48ea01fa9fSBorislav Petkov @echo '' 49d5dd8afbSBorislav Petkov @echo 'Cleaning targets:' 50d5dd8afbSBorislav Petkov @echo '' 51d5dd8afbSBorislav Petkov @echo ' all of the above with the "_clean" string appended cleans' 52d5dd8afbSBorislav Petkov @echo ' the respective build directory.' 53d5dd8afbSBorislav Petkov @echo ' clean: a summary clean target to clean _all_ folders' 54d5dd8afbSBorislav Petkov 55a0c4acc0SLv Zhengacpi: FORCE 56a0c4acc0SLv Zheng $(call descend,power/$@) 57a0c4acc0SLv Zheng 582363ecb1SBorislav Petkovcpupower: FORCE 59ca9dfc6cSDavid Howells $(call descend,power/$@) 602363ecb1SBorislav Petkov 61*9d64fc08SMario Limonciellocgroup firewire hv guest spi usb virtio vm net iio gpio objtool leds wmi: FORCE 6285c66be1SBorislav Petkov $(call descend,$@) 6385c66be1SBorislav Petkov 640041898eSS. Lockwood-Childsliblockdep: FORCE 650041898eSS. Lockwood-Childs $(call descend,lib/lockdep) 660041898eSS. Lockwood-Childs 67379a9a28SJiri Olsalibapi: FORCE 68553873e1SBorislav Petkov $(call descend,lib/api) 6985c66be1SBorislav Petkov 7016671c1eSJiri Olsa# The perf build does not follow the descend function setup, 7116671c1eSJiri Olsa# invoking it via it's own make rule. 7216671c1eSJiri OlsaPERF_O = $(if $(O),$(O)/tools/perf,) 7316671c1eSJiri Olsa 74379a9a28SJiri Olsaperf: FORCE 7516671c1eSJiri Olsa $(Q)mkdir -p $(PERF_O) . 7616671c1eSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= 772363ecb1SBorislav Petkov 782363ecb1SBorislav Petkovselftests: FORCE 79ca9dfc6cSDavid Howells $(call descend,testing/$@) 802363ecb1SBorislav Petkov 812363ecb1SBorislav Petkovturbostat x86_energy_perf_policy: FORCE 82ca9dfc6cSDavid Howells $(call descend,power/x86/$@) 832363ecb1SBorislav Petkov 8494f69966SJacob Pantmon: FORCE 8594f69966SJacob Pan $(call descend,thermal/$@) 8694f69966SJacob Pan 87b3fd7368SPali Rohárfreefall: FORCE 88b3fd7368SPali Rohár $(call descend,laptop/$@) 89b3fd7368SPali Rohár 90ee5f7d79SJustin M. Forbeskvm_stat: FORCE 91ee5f7d79SJustin M. Forbes $(call descend,kvm/$@) 92ee5f7d79SJustin M. Forbes 93ecda85e7SJuergen Grossall: acpi cgroup cpupower gpio hv firewire liblockdep \ 94e9d4650dSAndy Shevchenko perf selftests spi turbostat usb \ 95f6ba98c5SKamal Mostafa virtio vm net x86_energy_perf_policy \ 96*9d64fc08SMario Limonciello tmon freefall iio objtool kvm_stat wmi 97f6ba98c5SKamal Mostafa 98a0c4acc0SLv Zhengacpi_install: 99a0c4acc0SLv Zheng $(call descend,power/$(@:_install=),install) 100a0c4acc0SLv Zheng 1012363ecb1SBorislav Petkovcpupower_install: 102ca9dfc6cSDavid Howells $(call descend,power/$(@:_install=),install) 1032363ecb1SBorislav Petkov 104*9d64fc08SMario Limonciellocgroup_install firewire_install gpio_install hv_install iio_install perf_install spi_install usb_install virtio_install vm_install net_install objtool_install wmi_install: 105ca9dfc6cSDavid Howells $(call descend,$(@:_install=),install) 1062363ecb1SBorislav Petkov 10724b4d0a1SAlexander Sverdlinliblockdep_install: 10824b4d0a1SAlexander Sverdlin $(call descend,lib/lockdep,install) 10924b4d0a1SAlexander Sverdlin 1102363ecb1SBorislav Petkovselftests_install: 1119a13c658SKevin Hilman $(call descend,testing/$(@:_install=),install) 1122363ecb1SBorislav Petkov 1132363ecb1SBorislav Petkovturbostat_install x86_energy_perf_policy_install: 114ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_install=),install) 1152363ecb1SBorislav Petkov 11694f69966SJacob Pantmon_install: 11794f69966SJacob Pan $(call descend,thermal/$(@:_install=),install) 11894f69966SJacob Pan 119b3fd7368SPali Rohárfreefall_install: 120b3fd7368SPali Rohár $(call descend,laptop/$(@:_install=),install) 121b3fd7368SPali Rohár 122f9bc9e65SJanosch Frankkvm_stat_install: 123f9bc9e65SJanosch Frank $(call descend,kvm/$(@:_install=),install) 124f9bc9e65SJanosch Frank 12553499109SAndy Shevchenkoinstall: acpi_install cgroup_install cpupower_install gpio_install \ 126bf1d6b2cSLinus Torvalds hv_install firewire_install iio_install liblockdep_install \ 12792e015b1SGreg Thelen perf_install selftests_install turbostat_install usb_install \ 12894f69966SJacob Pan virtio_install vm_install net_install x86_energy_perf_policy_install \ 129*9d64fc08SMario Limonciello tmon_install freefall_install objtool_install kvm_stat_install \ 130*9d64fc08SMario Limonciello wmi_install 1312363ecb1SBorislav Petkov 132a0c4acc0SLv Zhengacpi_clean: 133a0c4acc0SLv Zheng $(call descend,power/acpi,clean) 134a0c4acc0SLv Zheng 1352363ecb1SBorislav Petkovcpupower_clean: 136ca9dfc6cSDavid Howells $(call descend,power/cpupower,clean) 1372363ecb1SBorislav Petkov 138*9d64fc08SMario Limonciellocgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean wmi_clean net_clean iio_clean gpio_clean objtool_clean leds_clean: 13985c66be1SBorislav Petkov $(call descend,$(@:_clean=),clean) 14085c66be1SBorislav Petkov 1410041898eSS. Lockwood-Childsliblockdep_clean: 1420041898eSS. Lockwood-Childs $(call descend,lib/lockdep,clean) 1430041898eSS. Lockwood-Childs 144379a9a28SJiri Olsalibapi_clean: 145553873e1SBorislav Petkov $(call descend,lib/api,clean) 14685c66be1SBorislav Petkov 1472f5a7f1dSJiri Olsalibbpf_clean: 1482f5a7f1dSJiri Olsa $(call descend,lib/bpf,clean) 1492f5a7f1dSJiri Olsa 1502f5a7f1dSJiri Olsalibsubcmd_clean: 1512f5a7f1dSJiri Olsa $(call descend,lib/subcmd,clean) 1522f5a7f1dSJiri Olsa 153379a9a28SJiri Olsaperf_clean: 154ab362f5aSJiri Olsa $(Q)mkdir -p $(PERF_O) . 155ab362f5aSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= clean 1562363ecb1SBorislav Petkov 1572363ecb1SBorislav Petkovselftests_clean: 158ca9dfc6cSDavid Howells $(call descend,testing/$(@:_clean=),clean) 1592363ecb1SBorislav Petkov 1602363ecb1SBorislav Petkovturbostat_clean x86_energy_perf_policy_clean: 161ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_clean=),clean) 1622363ecb1SBorislav Petkov 16394f69966SJacob Pantmon_clean: 16494f69966SJacob Pan $(call descend,thermal/tmon,clean) 16594f69966SJacob Pan 166b3fd7368SPali Rohárfreefall_clean: 167b3fd7368SPali Rohár $(call descend,laptop/freefall,clean) 168b3fd7368SPali Rohár 1692f5a7f1dSJiri Olsabuild_clean: 1702f5a7f1dSJiri Olsa $(call descend,build,clean) 1712f5a7f1dSJiri Olsa 172ecda85e7SJuergen Grossclean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \ 1735eca4d84SJoshua Clayton perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \ 17423908db4SLinus Torvalds vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ 1756d591c46SLinus Walleij freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ 176*9d64fc08SMario Limonciello gpio_clean objtool_clean leds_clean wmi_clean 1772363ecb1SBorislav Petkov 1782363ecb1SBorislav Petkov.PHONY: FORCE 179