Re: [PATCH 0/2] tools: Add a toplevel Makefile

From: Borislav Petkov
Date: Wed Mar 28 2012 - 05:51:31 EST


On Wed, Mar 28, 2012 at 09:25:28AM +0200, Ingo Molnar wrote:
>
> * Borislav Petkov <bp@xxxxxxxxx> wrote:
>
> > On Mon, Mar 26, 2012 at 05:14:32PM +0200, Ingo Molnar wrote:
> > >
> > > * Borislav Petkov <bp@xxxxxxxxx> wrote:
> > >
> > > > On Sat, Mar 24, 2012 at 08:44:12AM +0100, Ingo Molnar wrote:
> > > > > Could this also be accessible via 'make tools' in the toplevel
> > > > > Makefile?
> > > > >
> > > > > I'd love to be able to type:
> > > > >
> > > > > make -j tools perf install
> > > >
> > > > Well,
> > > >
> > > > you could do
> > > >
> > > > $ make -j -C tools perf
> > >
> > > Arguably I could also type:
> > >
> > > cd tools/perf; make -j install
> > >
> > > :-)
> > >
> > > So I just wanted to bring this up, that integrating it into the
> > > top level Makefile might make sense. Or not.
> >
> > Right,
> >
> > so from dealing with make in the last days, I can say that it's not a
> > fun walk in the park :). The problem is having multiple targets like the
> > following:
> >
> > $ make -j tools perf install
> >
> > I have to be able to differentiate in the Makefile which of the targets
> > is a directory ("tools"), which is the actual tool name to build
> > ("perf") and which is a special target ("install") which relates to the
> > tool name coming before it on the command line and is not the "install"
> > target of the main Makefile.
> >
> > And it becomes nasty very fast if you reorder them
> >
> > $ make -j install perf tools
> >
> > where all that sequential info doesn't mean anything anymore.
> >
> > So, the question is, what we actually want?
> >
> > $ make -j tools perf install
> >
> > is pretty cryptic wrt to which target we're actually building and having
> > the -C switch makes stuff a bit clearer IMHO:
> >
> > $ make -j -C tools perf install
> >
> > Also, having "install" as the last target means IMO to build the tool
> > before it and then install it.
> >
> > In the end of the day, probably the most important thing is what is
> > the use case for tools/ which makes most sense. I definitely think the
> > 'help' target is a step in that direction. Being able to do
> >
> > $ make -C tools
> >
> > and it give you a short description is pretty helpful.
> >
> > How about we have:
> >
> > make tools-<toolname> install
> >
> > or
> >
> > make tools/perf install
> >
> > from the toplevel kernel directory? Would that make more sense from a
> > usability perspective?
>
> I have no strong preference currently. I think since it affects
> kbuild it would be nice to know the opinion of the kbuild folks
> (Cc:-ed): how should the integration of tools/ proceed?

Btw,

I'm currently thinking I want to give the make tools/{perf,help,...}
approach a try because it is clear that it is a subdir of the kernel src
tree and it probably could support all the targets we thought about.

Let me play around with it a bit...

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
--
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/