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

From: Ingo Molnar
Date: Wed Mar 28 2012 - 03:25:30 EST



* 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?

Thanks,

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