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' 21d5dd8afbSBorislav Petkov @echo ' lguest - a minimal 32-bit x86 hypervisor' 22*24b4d0a1SAlexander Sverdlin @echo ' liblockdep - user-space wrapper for kernel locking-validator' 2320a7add8SJosh Poimboeuf @echo ' net - misc networking tools' 24d5dd8afbSBorislav Petkov @echo ' perf - Linux performance measurement and analysis tool' 25d5dd8afbSBorislav Petkov @echo ' selftests - various kernel selftests' 265eca4d84SJoshua Clayton @echo ' spi - spi tools' 27442f04c3SJosh Poimboeuf @echo ' objtool - an ELF object analysis tool' 2820a7add8SJosh Poimboeuf @echo ' tmon - thermal monitoring and tuning tool' 29d5dd8afbSBorislav Petkov @echo ' turbostat - Intel CPU idle stats and freq reporting tool' 30d5dd8afbSBorislav Petkov @echo ' usb - USB testing tools' 31d5dd8afbSBorislav Petkov @echo ' virtio - vhost test module' 32d5dd8afbSBorislav Petkov @echo ' vm - misc vm tools' 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 61fa7f3242SDavid Lechnercgroup firewire hv guest spi usb virtio vm net iio gpio objtool leds: 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 93*24b4d0a1SAlexander Sverdlinall: acpi cgroup cpupower gpio hv firewire lguest liblockdep \ 94f6ba98c5SKamal Mostafa perf selftests turbostat usb \ 95f6ba98c5SKamal Mostafa virtio vm net x86_energy_perf_policy \ 96ee5f7d79SJustin M. Forbes tmon freefall objtool kvm_stat 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 10453499109SAndy Shevchenkocgroup_install firewire_install gpio_install hv_install lguest_install perf_install usb_install virtio_install vm_install net_install objtool_install: 105ca9dfc6cSDavid Howells $(call descend,$(@:_install=),install) 1062363ecb1SBorislav Petkov 107*24b4d0a1SAlexander Sverdlinliblockdep_install: 108*24b4d0a1SAlexander Sverdlin $(call descend,lib/lockdep,install) 109*24b4d0a1SAlexander 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 \ 126*24b4d0a1SAlexander Sverdlin hv_install firewire_install lguest_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 \ 129f9bc9e65SJanosch Frank tmon_install freefall_install objtool_install kvm_stat_install 1302363ecb1SBorislav Petkov 131a0c4acc0SLv Zhengacpi_clean: 132a0c4acc0SLv Zheng $(call descend,power/acpi,clean) 133a0c4acc0SLv Zheng 1342363ecb1SBorislav Petkovcpupower_clean: 135ca9dfc6cSDavid Howells $(call descend,power/cpupower,clean) 1362363ecb1SBorislav Petkov 137fa7f3242SDavid Lechnercgroup_clean hv_clean firewire_clean lguest_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean gpio_clean objtool_clean leds_clean: 13885c66be1SBorislav Petkov $(call descend,$(@:_clean=),clean) 13985c66be1SBorislav Petkov 1400041898eSS. Lockwood-Childsliblockdep_clean: 1410041898eSS. Lockwood-Childs $(call descend,lib/lockdep,clean) 1420041898eSS. Lockwood-Childs 143379a9a28SJiri Olsalibapi_clean: 144553873e1SBorislav Petkov $(call descend,lib/api,clean) 14585c66be1SBorislav Petkov 1462f5a7f1dSJiri Olsalibbpf_clean: 1472f5a7f1dSJiri Olsa $(call descend,lib/bpf,clean) 1482f5a7f1dSJiri Olsa 1492f5a7f1dSJiri Olsalibsubcmd_clean: 1502f5a7f1dSJiri Olsa $(call descend,lib/subcmd,clean) 1512f5a7f1dSJiri Olsa 152379a9a28SJiri Olsaperf_clean: 153ab362f5aSJiri Olsa $(Q)mkdir -p $(PERF_O) . 154ab362f5aSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= clean 1552363ecb1SBorislav Petkov 1562363ecb1SBorislav Petkovselftests_clean: 157ca9dfc6cSDavid Howells $(call descend,testing/$(@:_clean=),clean) 1582363ecb1SBorislav Petkov 1592363ecb1SBorislav Petkovturbostat_clean x86_energy_perf_policy_clean: 160ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_clean=),clean) 1612363ecb1SBorislav Petkov 16294f69966SJacob Pantmon_clean: 16394f69966SJacob Pan $(call descend,thermal/tmon,clean) 16494f69966SJacob Pan 165b3fd7368SPali Rohárfreefall_clean: 166b3fd7368SPali Rohár $(call descend,laptop/freefall,clean) 167b3fd7368SPali Rohár 1682f5a7f1dSJiri Olsabuild_clean: 1692f5a7f1dSJiri Olsa $(call descend,build,clean) 1702f5a7f1dSJiri Olsa 1713eb2094cSBjarke Istrup Pedersenclean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \ 1725eca4d84SJoshua Clayton perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \ 17323908db4SLinus Torvalds vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ 1746d591c46SLinus Walleij freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ 175fa7f3242SDavid Lechner gpio_clean objtool_clean leds_clean 1762363ecb1SBorislav Petkov 1772363ecb1SBorislav Petkov.PHONY: FORCE 178