Re: [PATCH] kbuild: collect shorthands into the top Makefile

From: Michal Marek
Date: Tue Nov 25 2014 - 16:23:22 EST


Dne 31.10.2014 v 03:12 Masahiro Yamada napsal(a):
> Hi Sam,
>
> On Wed, 29 Oct 2014 19:59:07 +0100
> Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
>
>> On Wed, Oct 29, 2014 at 04:27:31PM +0900, Masahiro Yamada wrote:
>>> The motivation of this commit is to avoid duplicated definitions
>>> of "clean" and "hdr-inst" shorthands.
>>>
>>> The shorthand "clean" is defined in both the top Makefile and
>>> scripts/Makefile.clean.
>>>
>>> Likewise, "hdr-inst" is defined in both the top Makefile and
>>> scripts/Makefile.headersinst.
>>>
>>> The idea here is define and export them in the top Makefile
>>> because $(srctree) is constant during the build process.
>>>
>>> For consistency, "build" and "modbuiltin" should be also moved.
>>
>> As a general rule the exported names are always UPPERCASE, and local variables
>> are lowercase. (srctree, objtree are the exceptions).
>> This patch define new lowercase variables that conflicts with this.
>>
>> And it is not that logical these are picked up from the enviroment.
>> Could you find a central place to define them rahter than using
>> the environemnt to export them?
>
> Maybe we can collect them into scripts/Kbuild.include
> although it might be too much for Makefile.clean to include
> the whole things in Kbuild.include.

Kbuild.include sounds like a good idea to me. It would also allow to
de-duplicate the $(cmd) defition in Makefile.include.

BTW:
$ time -p make $(perl -e 'print "-f scripts/Kbuild.include "x1500')
make: *** No targets. Stop.
real 0.44
user 0.18
sys 0.08

So 0.44s in total for the 1500 or so subdirectories we visit during make
clean. But the subprocesses can run in parallel, so the real difference
is negligible.

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