Re: [PATCH] fixdep: trivial: typo fix and correction

From: Masahiro Yamada
Date: Fri Aug 11 2017 - 19:32:14 EST


Hi.

2017-08-10 22:50 GMT+09:00 Cao jin <caoj.fnst@xxxxxxxxxxxxxx>:
> Hi Masahiro-san
>
> On 08/10/2017 12:05 AM, Masahiro Yamada wrote:
>> 2017-08-08 22:20 GMT+09:00 Cao jin <caoj.fnst@xxxxxxxxxxxxxx>:
>>> Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>
>>
>> Applied to linux-kbuild/fixes. Thanks!
>>
>
> I want to ask a question via this thread.
>
> I am tracing how each kernel source file compiled, and I met mounts-y in
> init/Makefile, I have trouble in finding the rule which compile
> $(mounts-y), but I clearly see the files in $(mounts-y) are compiled in
> the output of `make -n vmlinux`, but the files listed in mounts-y are
> not listed in obj-y. I think I must miss something, could you give some
> hint?
>


The magic is the following line:

scripts/Makefile.lib line 55

# if $(foo-objs) exists, foo.o is a composite object
multi-used-y := $(sort $(foreach m,$(obj-y), $(if $(strip
$($(m:.o=-objs)) $($(m:.o=-y))), $(m))))


If foo.o is added to obj-y and foo-objs or foo-y exist,
they are also expanded.





If you see init/Makefile, mounts.o is added to obj-y.

obj-y := main.o version.o mounts.o








--
Best Regards
Masahiro Yamada