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' 32d5dd8afbSBorislav Petkov @echo ' x86_energy_perf_policy - Intel energy policy tool' 33d5dd8afbSBorislav Petkov @echo '' 34ea01fa9fSBorislav Petkov @echo 'You can do:' 35ea01fa9fSBorislav Petkov @echo ' $$ make -C tools/ <tool>_install' 36ea01fa9fSBorislav Petkov @echo '' 37ea01fa9fSBorislav Petkov @echo ' from the kernel command line to build and install one of' 38ea01fa9fSBorislav Petkov @echo ' the tools above' 39ea01fa9fSBorislav Petkov @echo '' 40f6ba98c5SKamal Mostafa @echo ' $$ make tools/all' 41f6ba98c5SKamal Mostafa @echo '' 42f6ba98c5SKamal Mostafa @echo ' builds all tools.' 43f6ba98c5SKamal Mostafa @echo '' 44ea01fa9fSBorislav Petkov @echo ' $$ make tools/install' 45ea01fa9fSBorislav Petkov @echo '' 46ea01fa9fSBorislav Petkov @echo ' installs all tools.' 47ea01fa9fSBorislav Petkov @echo '' 48d5dd8afbSBorislav Petkov @echo 'Cleaning targets:' 49d5dd8afbSBorislav Petkov @echo '' 50d5dd8afbSBorislav Petkov @echo ' all of the above with the "_clean" string appended cleans' 51d5dd8afbSBorislav Petkov @echo ' the respective build directory.' 52d5dd8afbSBorislav Petkov @echo ' clean: a summary clean target to clean _all_ folders' 53d5dd8afbSBorislav Petkov 54a0c4acc0SLv Zhengacpi: FORCE 55a0c4acc0SLv Zheng $(call descend,power/$@) 56a0c4acc0SLv Zheng 572363ecb1SBorislav Petkovcpupower: FORCE 58ca9dfc6cSDavid Howells $(call descend,power/$@) 592363ecb1SBorislav Petkov 60fa7f3242SDavid Lechnercgroup firewire hv guest spi usb virtio vm net iio gpio objtool leds: FORCE 6185c66be1SBorislav Petkov $(call descend,$@) 6285c66be1SBorislav Petkov 630041898eSS. Lockwood-Childsliblockdep: FORCE 640041898eSS. Lockwood-Childs $(call descend,lib/lockdep) 650041898eSS. Lockwood-Childs 66379a9a28SJiri Olsalibapi: FORCE 67553873e1SBorislav Petkov $(call descend,lib/api) 6885c66be1SBorislav Petkov 6916671c1eSJiri Olsa# The perf build does not follow the descend function setup, 7016671c1eSJiri Olsa# invoking it via it's own make rule. 7116671c1eSJiri OlsaPERF_O = $(if $(O),$(O)/tools/perf,) 7216671c1eSJiri Olsa 73379a9a28SJiri Olsaperf: FORCE 7416671c1eSJiri Olsa $(Q)mkdir -p $(PERF_O) . 7516671c1eSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= 762363ecb1SBorislav Petkov 772363ecb1SBorislav Petkovselftests: FORCE 78ca9dfc6cSDavid Howells $(call descend,testing/$@) 792363ecb1SBorislav Petkov 802363ecb1SBorislav Petkovturbostat x86_energy_perf_policy: FORCE 81ca9dfc6cSDavid Howells $(call descend,power/x86/$@) 822363ecb1SBorislav Petkov 8394f69966SJacob Pantmon: FORCE 8494f69966SJacob Pan $(call descend,thermal/$@) 8594f69966SJacob Pan 86b3fd7368SPali Rohárfreefall: FORCE 87b3fd7368SPali Rohár $(call descend,laptop/$@) 88b3fd7368SPali Rohár 89ee5f7d79SJustin M. Forbeskvm_stat: FORCE 90ee5f7d79SJustin M. Forbes $(call descend,kvm/$@) 91ee5f7d79SJustin M. Forbes 92*ecda85e7SJuergen Grossall: acpi cgroup cpupower gpio hv firewire liblockdep \ 93f6ba98c5SKamal Mostafa perf selftests turbostat usb \ 94f6ba98c5SKamal Mostafa virtio vm net x86_energy_perf_policy \ 95ee5f7d79SJustin M. Forbes tmon freefall objtool kvm_stat 96f6ba98c5SKamal Mostafa 97a0c4acc0SLv Zhengacpi_install: 98a0c4acc0SLv Zheng $(call descend,power/$(@:_install=),install) 99a0c4acc0SLv Zheng 1002363ecb1SBorislav Petkovcpupower_install: 101ca9dfc6cSDavid Howells $(call descend,power/$(@:_install=),install) 1022363ecb1SBorislav Petkov 103*ecda85e7SJuergen Grosscgroup_install firewire_install gpio_install hv_install perf_install usb_install virtio_install vm_install net_install objtool_install: 104ca9dfc6cSDavid Howells $(call descend,$(@:_install=),install) 1052363ecb1SBorislav Petkov 10624b4d0a1SAlexander Sverdlinliblockdep_install: 10724b4d0a1SAlexander Sverdlin $(call descend,lib/lockdep,install) 10824b4d0a1SAlexander Sverdlin 1092363ecb1SBorislav Petkovselftests_install: 1109a13c658SKevin Hilman $(call descend,testing/$(@:_install=),install) 1112363ecb1SBorislav Petkov 1122363ecb1SBorislav Petkovturbostat_install x86_energy_perf_policy_install: 113ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_install=),install) 1142363ecb1SBorislav Petkov 11594f69966SJacob Pantmon_install: 11694f69966SJacob Pan $(call descend,thermal/$(@:_install=),install) 11794f69966SJacob Pan 118b3fd7368SPali Rohárfreefall_install: 119b3fd7368SPali Rohár $(call descend,laptop/$(@:_install=),install) 120b3fd7368SPali Rohár 121f9bc9e65SJanosch Frankkvm_stat_install: 122f9bc9e65SJanosch Frank $(call descend,kvm/$(@:_install=),install) 123f9bc9e65SJanosch Frank 12453499109SAndy Shevchenkoinstall: acpi_install cgroup_install cpupower_install gpio_install \ 125*ecda85e7SJuergen Gross hv_install firewire_install liblockdep_install \ 12692e015b1SGreg Thelen perf_install selftests_install turbostat_install usb_install \ 12794f69966SJacob Pan virtio_install vm_install net_install x86_energy_perf_policy_install \ 128f9bc9e65SJanosch Frank tmon_install freefall_install objtool_install kvm_stat_install 1292363ecb1SBorislav Petkov 130a0c4acc0SLv Zhengacpi_clean: 131a0c4acc0SLv Zheng $(call descend,power/acpi,clean) 132a0c4acc0SLv Zheng 1332363ecb1SBorislav Petkovcpupower_clean: 134ca9dfc6cSDavid Howells $(call descend,power/cpupower,clean) 1352363ecb1SBorislav Petkov 136*ecda85e7SJuergen Grosscgroup_clean hv_clean firewire_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean gpio_clean objtool_clean leds_clean: 13785c66be1SBorislav Petkov $(call descend,$(@:_clean=),clean) 13885c66be1SBorislav Petkov 1390041898eSS. Lockwood-Childsliblockdep_clean: 1400041898eSS. Lockwood-Childs $(call descend,lib/lockdep,clean) 1410041898eSS. Lockwood-Childs 142379a9a28SJiri Olsalibapi_clean: 143553873e1SBorislav Petkov $(call descend,lib/api,clean) 14485c66be1SBorislav Petkov 1452f5a7f1dSJiri Olsalibbpf_clean: 1462f5a7f1dSJiri Olsa $(call descend,lib/bpf,clean) 1472f5a7f1dSJiri Olsa 1482f5a7f1dSJiri Olsalibsubcmd_clean: 1492f5a7f1dSJiri Olsa $(call descend,lib/subcmd,clean) 1502f5a7f1dSJiri Olsa 151379a9a28SJiri Olsaperf_clean: 152ab362f5aSJiri Olsa $(Q)mkdir -p $(PERF_O) . 153ab362f5aSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= clean 1542363ecb1SBorislav Petkov 1552363ecb1SBorislav Petkovselftests_clean: 156ca9dfc6cSDavid Howells $(call descend,testing/$(@:_clean=),clean) 1572363ecb1SBorislav Petkov 1582363ecb1SBorislav Petkovturbostat_clean x86_energy_perf_policy_clean: 159ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_clean=),clean) 1602363ecb1SBorislav Petkov 16194f69966SJacob Pantmon_clean: 16294f69966SJacob Pan $(call descend,thermal/tmon,clean) 16394f69966SJacob Pan 164b3fd7368SPali Rohárfreefall_clean: 165b3fd7368SPali Rohár $(call descend,laptop/freefall,clean) 166b3fd7368SPali Rohár 1672f5a7f1dSJiri Olsabuild_clean: 1682f5a7f1dSJiri Olsa $(call descend,build,clean) 1692f5a7f1dSJiri Olsa 170*ecda85e7SJuergen Grossclean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean \ 1715eca4d84SJoshua Clayton perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \ 17223908db4SLinus Torvalds vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ 1736d591c46SLinus Walleij freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ 174fa7f3242SDavid Lechner gpio_clean objtool_clean leds_clean 1752363ecb1SBorislav Petkov 1762363ecb1SBorislav Petkov.PHONY: FORCE 177