lkml.org 
[lkml]   [2017]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] fixdep: trivial: typo fix and correction
From
Date


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

Finally figured out how $(mounts-y) is compiled and how init/mounts.o is
linked, it is a bit complex than I expected, your hint really helps:)
Thanks you very much, Masahiro-san.

--
Sincerely,
Cao jin


\
 
 \ /
  Last update: 2017-08-12 12:45    [W:2.867 / U:0.976 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site