Re: [PATCH] kbuild: add %/built-in.o target in top Makefile

From: Wei Yang
Date: Tue Nov 01 2016 - 18:59:19 EST


On Tue, Nov 01, 2016 at 05:27:34PM +0100, Michal Marek wrote:
>On 2016-10-24 14:45, Wei Yang wrote:
>
>> diff --git a/Makefile b/Makefile
>> index addb235..546998e 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1627,6 +1627,8 @@ endif
>> $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>> %.symtypes: %.c prepare scripts FORCE
>> $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>> +%/built-in.o: prepare scripts
>> + $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>
>This rule gets in the way of
>
> 975 # The actual objects are generated when descending,
> 976 # make sure no implicit rule kicks in
> 977 $(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
>

Yes, second level built-in.o is built because of this rule, while for deeper
level built-in.o we don't have a rule now. This patch is trying to add a rule
for those deeper level built-in.o.

>Quickly looking at the Makefile, it may be fine, but it needs to be
>confirmed. This also explains why the current behavior with */built-in.o
>is inconsistent.
>

Agree with you.

One of my concern is whether it is necessary to add "FORCE" to the prerequest.
I have tried on my machine, it works fine without "FORCE", while maybe it
won't work fine with some version of "make".

This is what I want to confirm. Any other potential issue, just let me know.

Thanks for your comment :-)

>Michal

--
Wei Yang
Help you, Help me