Re: [PATCH v5 5/5] tools: Connect to the kernel build system

From: Arnaldo Carvalho de Melo
Date: Wed Apr 11 2012 - 14:08:46 EST


Em Wed, Apr 11, 2012 at 03:04:34PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Apr 11, 2012 at 06:36:18PM +0200, Borislav Petkov escreveu:
> > From: Borislav Petkov <borislav.petkov@xxxxxxx>
> >
> > 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
>
> [acme@sandy linux]$ make -j8 O=/home/git/build/perf tools/perf_install
> [acme@sandy linux]$ ls -la tools/perf/*.o | wc -l
> 22
>
> It should have honoured O=
>
> Can you fix this one please? :)

But that can be on top of this series as the way I use it:

make -j8 -C tools/perf/ O=/home/git/build/perf install

still works as expected.

So if nobody hollers I'll push this to Ingo in my next pull req, ok?

Sam? Ingo? Do you still have any concerns?

- Arnaldo

> - Arnaldo
>
> > $ 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.
> >
> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> > Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx>
> > ---
> > Makefile | 7 +++++++
> > tools/Makefile | 10 ++++++++++
> > 2 files changed, 17 insertions(+)
> >
> > diff --git a/Makefile b/Makefile
> > index 0df3d003a079..f7f738117128 100644
> > --- 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:
> > diff --git a/tools/Makefile b/tools/Makefile
> > index f87c0ec63e6c..3ae43947a171 100644
> > --- a/tools/Makefile
> > +++ b/tools/Makefile
> > @@ -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'
> > --
> > 1.7.9.3.362.g71319
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/