Hi.

2017-08-10 22:50 GMT+09:00 Cao jin <caoj.f...@cn.fujitsu.com>:
> Hi Masahiro-san
>
> On 08/10/2017 12:05 AM, Masahiro Yamada wrote:
>> 2017-08-08 22:20 GMT+09:00 Cao jin <caoj.f...@cn.fujitsu.com>:
>>> Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com>
>>
>> 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

Reply via email to