tools: Connect to the kernel build system
Borislav Petkov [Wed, 11 Apr 2012 16:36:18 +0000 (18:36 +0200)]
Now you can do

$ make tools/<toolname>

from the toplevel kernel directory and have the respective tool built.

If you want to build and install it, do

$ make tools/<toolname>_install

$ make tools/<toolname>_clean

should clean the respective tool directories.

If you want to clean all in tools, simply do

$ make tools/clean

Also, if you want to get what the possible targets are, simply calling

$ make tools/

should give you the short help.

$ make tools/install

installs all tools, of course. Doh.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: http://lkml.kernel.org/r/1334162178-17152-6-git-send-email-bp@amd64.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

Makefile
tools/Makefile

index 1932984..23b9ce5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1468,6 +1468,13 @@ kernelrelease:
 kernelversion:
        @echo $(KERNELVERSION)
 
+# Clear a bunch of variables before executing the submake
+tools/: FORCE
+       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/
+
+tools/%: FORCE
+       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/ $*
+
 # Single targets
 # ---------------------------------------------------------------------------
 # Single targets are compatible with:
index f87c0ec..3ae4394 100644 (file)
@@ -14,6 +14,16 @@ help:
        @echo '  vm         - misc vm tools'
        @echo '  x86_energy_perf_policy - Intel energy policy tool'
        @echo ''
+       @echo 'You can do:'
+       @echo ' $$ make -C tools/<tool>_install'
+       @echo ''
+       @echo '  from the kernel command line to build and install one of'
+       @echo '  the tools above'
+       @echo ''
+       @echo '  $$ make tools/install'
+       @echo ''
+       @echo '  installs all tools.'
+       @echo ''
        @echo 'Cleaning targets:'
        @echo ''
        @echo '  all of the above with the "_clean" string appended cleans'