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' 19*f9bc9e65SJanosch Frank @echo ' kvm_stat - top-like utility for displaying kvm statistics' 20d5dd8afbSBorislav Petkov @echo ' lguest - a minimal 32-bit x86 hypervisor' 2120a7add8SJosh Poimboeuf @echo ' net - misc networking tools' 22d5dd8afbSBorislav Petkov @echo ' perf - Linux performance measurement and analysis tool' 23d5dd8afbSBorislav Petkov @echo ' selftests - various kernel selftests' 245eca4d84SJoshua Clayton @echo ' spi - spi tools' 25442f04c3SJosh Poimboeuf @echo ' objtool - an ELF object analysis tool' 2620a7add8SJosh Poimboeuf @echo ' tmon - thermal monitoring and tuning tool' 27d5dd8afbSBorislav Petkov @echo ' turbostat - Intel CPU idle stats and freq reporting tool' 28d5dd8afbSBorislav Petkov @echo ' usb - USB testing tools' 29d5dd8afbSBorislav Petkov @echo ' virtio - vhost test module' 30d5dd8afbSBorislav Petkov @echo ' vm - misc vm tools' 31d5dd8afbSBorislav Petkov @echo ' x86_energy_perf_policy - Intel energy policy tool' 32d5dd8afbSBorislav Petkov @echo '' 33ea01fa9fSBorislav Petkov @echo 'You can do:' 34ea01fa9fSBorislav Petkov @echo ' $$ make -C tools/ <tool>_install' 35ea01fa9fSBorislav Petkov @echo '' 36ea01fa9fSBorislav Petkov @echo ' from the kernel command line to build and install one of' 37ea01fa9fSBorislav Petkov @echo ' the tools above' 38ea01fa9fSBorislav Petkov @echo '' 39f6ba98c5SKamal Mostafa @echo ' $$ make tools/all' 40f6ba98c5SKamal Mostafa @echo '' 41f6ba98c5SKamal Mostafa @echo ' builds all tools.' 42f6ba98c5SKamal Mostafa @echo '' 43ea01fa9fSBorislav Petkov @echo ' $$ make tools/install' 44ea01fa9fSBorislav Petkov @echo '' 45ea01fa9fSBorislav Petkov @echo ' installs all tools.' 46ea01fa9fSBorislav Petkov @echo '' 47d5dd8afbSBorislav Petkov @echo 'Cleaning targets:' 48d5dd8afbSBorislav Petkov @echo '' 49d5dd8afbSBorislav Petkov @echo ' all of the above with the "_clean" string appended cleans' 50d5dd8afbSBorislav Petkov @echo ' the respective build directory.' 51d5dd8afbSBorislav Petkov @echo ' clean: a summary clean target to clean _all_ folders' 52d5dd8afbSBorislav Petkov 53a0c4acc0SLv Zhengacpi: FORCE 54a0c4acc0SLv Zheng $(call descend,power/$@) 55a0c4acc0SLv Zheng 562363ecb1SBorislav Petkovcpupower: FORCE 57ca9dfc6cSDavid Howells $(call descend,power/$@) 582363ecb1SBorislav Petkov 5926660a40SLinus Torvaldscgroup firewire hv guest spi usb virtio vm net iio gpio objtool: FORCE 6085c66be1SBorislav Petkov $(call descend,$@) 6185c66be1SBorislav Petkov 620041898eSS. Lockwood-Childsliblockdep: FORCE 630041898eSS. Lockwood-Childs $(call descend,lib/lockdep) 640041898eSS. Lockwood-Childs 65379a9a28SJiri Olsalibapi: FORCE 66553873e1SBorislav Petkov $(call descend,lib/api) 6785c66be1SBorislav Petkov 6816671c1eSJiri Olsa# The perf build does not follow the descend function setup, 6916671c1eSJiri Olsa# invoking it via it's own make rule. 7016671c1eSJiri OlsaPERF_O = $(if $(O),$(O)/tools/perf,) 7116671c1eSJiri Olsa 72379a9a28SJiri Olsaperf: FORCE 7316671c1eSJiri Olsa $(Q)mkdir -p $(PERF_O) . 7416671c1eSJiri Olsa $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir= 752363ecb1SBorislav Petkov 762363ecb1SBorislav Petkovselftests: FORCE 77ca9dfc6cSDavid Howells $(call descend,testing/$@) 782363ecb1SBorislav Petkov 792363ecb1SBorislav Petkovturbostat x86_energy_perf_policy: FORCE 80ca9dfc6cSDavid Howells $(call descend,power/x86/$@) 812363ecb1SBorislav Petkov 8294f69966SJacob Pantmon: FORCE 8394f69966SJacob Pan $(call descend,thermal/$@) 8494f69966SJacob Pan 85b3fd7368SPali Rohárfreefall: FORCE 86b3fd7368SPali Rohár $(call descend,laptop/$@) 87b3fd7368SPali Rohár 88f6ba98c5SKamal Mostafaall: acpi cgroup cpupower hv firewire lguest \ 89f6ba98c5SKamal Mostafa perf selftests turbostat usb \ 90f6ba98c5SKamal Mostafa virtio vm net x86_energy_perf_policy \ 91442f04c3SJosh Poimboeuf tmon freefall objtool 92f6ba98c5SKamal Mostafa 93a0c4acc0SLv Zhengacpi_install: 94a0c4acc0SLv Zheng $(call descend,power/$(@:_install=),install) 95a0c4acc0SLv Zheng 962363ecb1SBorislav Petkovcpupower_install: 97ca9dfc6cSDavid Howells $(call descend,power/$(@:_install=),install) 982363ecb1SBorislav Petkov 99442f04c3SJosh Poimboeufcgroup_install firewire_install hv_install lguest_install perf_install usb_install virtio_install vm_install net_install objtool_install: 100ca9dfc6cSDavid Howells $(call descend,$(@:_install=),install) 1012363ecb1SBorislav Petkov 1022363ecb1SBorislav Petkovselftests_install: 1039a13c658SKevin Hilman $(call descend,testing/$(@:_install=),install) 1042363ecb1SBorislav Petkov 1052363ecb1SBorislav Petkovturbostat_install x86_energy_perf_policy_install: 106ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_install=),install) 1072363ecb1SBorislav Petkov 10894f69966SJacob Pantmon_install: 10994f69966SJacob Pan $(call descend,thermal/$(@:_install=),install) 11094f69966SJacob Pan 111b3fd7368SPali Rohárfreefall_install: 112b3fd7368SPali Rohár $(call descend,laptop/$(@:_install=),install) 113b3fd7368SPali Rohár 114*f9bc9e65SJanosch Frankkvm_stat_install: 115*f9bc9e65SJanosch Frank $(call descend,kvm/$(@:_install=),install) 116*f9bc9e65SJanosch Frank 1173eb2094cSBjarke Istrup Pederseninstall: acpi_install cgroup_install cpupower_install hv_install firewire_install lguest_install \ 11892e015b1SGreg Thelen perf_install selftests_install turbostat_install usb_install \ 11994f69966SJacob Pan virtio_install vm_install net_install x86_energy_perf_policy_install \ 120*f9bc9e65SJanosch Frank tmon_install freefall_install objtool_install kvm_stat_install 1212363ecb1SBorislav Petkov 122a0c4acc0SLv Zhengacpi_clean: 123a0c4acc0SLv Zheng $(call descend,power/acpi,clean) 124a0c4acc0SLv Zheng 1252363ecb1SBorislav Petkovcpupower_clean: 126ca9dfc6cSDavid Howells $(call descend,power/cpupower,clean) 1272363ecb1SBorislav Petkov 12826660a40SLinus Torvaldscgroup_clean hv_clean firewire_clean lguest_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean gpio_clean objtool_clean: 12985c66be1SBorislav Petkov $(call descend,$(@:_clean=),clean) 13085c66be1SBorislav Petkov 1310041898eSS. Lockwood-Childsliblockdep_clean: 1320041898eSS. Lockwood-Childs $(call descend,lib/lockdep,clean) 1330041898eSS. Lockwood-Childs 134379a9a28SJiri Olsalibapi_clean: 135553873e1SBorislav Petkov $(call descend,lib/api,clean) 13685c66be1SBorislav Petkov 1372f5a7f1dSJiri Olsalibbpf_clean: 1382f5a7f1dSJiri Olsa $(call descend,lib/bpf,clean) 1392f5a7f1dSJiri Olsa 1402f5a7f1dSJiri Olsalibsubcmd_clean: 1412f5a7f1dSJiri Olsa $(call descend,lib/subcmd,clean) 1422f5a7f1dSJiri Olsa 143379a9a28SJiri Olsaperf_clean: 144ca9dfc6cSDavid Howells $(call descend,$(@:_clean=),clean) 1452363ecb1SBorislav Petkov 1462363ecb1SBorislav Petkovselftests_clean: 147ca9dfc6cSDavid Howells $(call descend,testing/$(@:_clean=),clean) 1482363ecb1SBorislav Petkov 1492363ecb1SBorislav Petkovturbostat_clean x86_energy_perf_policy_clean: 150ca9dfc6cSDavid Howells $(call descend,power/x86/$(@:_clean=),clean) 1512363ecb1SBorislav Petkov 15294f69966SJacob Pantmon_clean: 15394f69966SJacob Pan $(call descend,thermal/tmon,clean) 15494f69966SJacob Pan 155b3fd7368SPali Rohárfreefall_clean: 156b3fd7368SPali Rohár $(call descend,laptop/freefall,clean) 157b3fd7368SPali Rohár 1582f5a7f1dSJiri Olsabuild_clean: 1592f5a7f1dSJiri Olsa $(call descend,build,clean) 1602f5a7f1dSJiri Olsa 1613eb2094cSBjarke Istrup Pedersenclean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \ 1625eca4d84SJoshua Clayton perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \ 16323908db4SLinus Torvalds vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \ 1646d591c46SLinus Walleij freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \ 16526660a40SLinus Torvalds gpio_clean objtool_clean 1662363ecb1SBorislav Petkov 1672363ecb1SBorislav Petkov.PHONY: FORCE 168