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

From: Milton Miller
Date: Mon Apr 02 2012 - 06:18:59 EST


[fix a missing comma in cc ]

On Sat, 31 Mar 2012 20:49:06 +0200, Sam Ravnborg wrote:
>
> >
> > One question. Instead of:
> >
> > make tools/perf_install
> >
> > Couldnt we beat kbuild into submission to allow the much more
> > obvious:
> >
> > make tools/perf install
> >
> > ?
> It is more obvious if you look at it alone.
> But when you look at it with the other commands then you suddenly
> end up confused when you need to specify the command as a
> separate target "tools/perf install - and when it is just
> one target "tools/perf_install".
>
> >
> > I don't think anyone would expect the *kernel* to be installed
> > in such a circumstance - so it's only a question of making the
> > Makefile understand it, right?
>
> Make will try to update the two targets "tools/perf" and "install"
> in parallel. And it does not look easy to teach make that when you
> specify the target "tools/*" then the install target should just
> be ignored and passed down to the sub-make.

When I saw this concept, my thought was we should add a T= option,
similar to M= option to build a single module. The T would take
the path under tools/ . This would also be similar to how we add O=
for output directory and M= for building "external" modules (and also
similar to $(build)= for subdirectories).

> Anything that adds more complexity to the top-level Makefile should
> be avoided if at all possible. It is un-maintainable as-is.
> And the consistency issue is also important.

I think this could be a simple rule, if we find the variable on the
command line we pass everything to the tools Makefile (after processing
O= I guess).

I'll leave the implementation to someone else, I have more than enough
on my plate right now.

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