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

From: Borislav Petkov
Date: Mon Mar 26 2012 - 11:41:35 EST


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?

--
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/