[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <598EDD4D.80204@cn.fujitsu.com>
Date: Sat, 12 Aug 2017 18:49:49 +0800
From: Cao jin <caoj.fnst@...fujitsu.com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Michal Marek <mmarek@...e.com>
Subject: Re: [PATCH] fixdep: trivial: typo fix and correction
On 08/12/2017 07:31 AM, Masahiro Yamada wrote:
> Hi.
>
> 2017-08-10 22:50 GMT+09:00 Cao jin <caoj.fnst@...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@...fujitsu.com>:
>>>> Signed-off-by: Cao jin <caoj.fnst@...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
Powered by blists - more mailing lists