Re: [PATCH 7/7] kbuild: doc: document subdir-y syntax

From: Randy Dunlap
Date: Sat Nov 28 2020 - 17:05:32 EST


On 11/28/20 12:58 AM, Masahiro Yamada wrote:
> On Tue, Nov 24, 2020 at 3:03 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>
>> On 11/22/20 8:54 PM, Masahiro Yamada wrote:
>>> There is no explanation about subdir-y.
>>>
>>> Let's document it.
>>>
>>> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
>>> ---
>>>
>>> Documentation/kbuild/makefiles.rst | 14 ++++++++++++++
>>> 1 file changed, 14 insertions(+)
>>>
>>> +
>>> + Unlike obj-y/m, subdir-y/m does not need the trailing slash since this
>>> + syntax is always used for directories.
>>> +
>>
>> Just curious: Is a trailing slash allowed here? say for consistency?
>
>
> If you use a trailing slash for the subdir-y syntax,
> it will still work.
>
>
> Only the problem I see is that the build log will look clumsy
> due to the double slashes "//".
>

Yes, that does look odd.

> For example, if you change scripts/Makefile as follows:
>

...

> The build log will look like follows:
>
>
> masahiro@grover:~/workspace/linux$ make allmodconfig; make scripts
> #
> # configuration written to .config
> #
> SYNC include/config/auto.conf
> HOSTCC scripts/dtc/dtc.o
> HOSTCC scripts/dtc/flattree.o
> HOSTCC scripts/dtc/fstree.o
> HOSTCC scripts/dtc/data.o
> HOSTCC scripts/dtc/livetree.o
> HOSTCC scripts/dtc/treesource.o
> HOSTCC scripts/dtc/srcpos.o
> HOSTCC scripts/dtc/checks.o
> HOSTCC scripts/dtc/util.o
> LEX scripts/dtc/dtc-lexer.lex.c
> YACC scripts/dtc/dtc-parser.tab.[ch]
> HOSTCC scripts/dtc/dtc-lexer.lex.o
> HOSTCC scripts/dtc/dtc-parser.tab.o
> HOSTLD scripts/dtc/dtc
> HOSTCXX scripts/gcc-plugins//latent_entropy_plugin.so
> GENSEED scripts/gcc-plugins//randomize_layout_seed.h
> HOSTCXX scripts/gcc-plugins//randomize_layout_plugin.so
> HOSTCXX scripts/gcc-plugins//stackleak_plugin.so
> HOSTCC scripts/genksyms//genksyms.o
> YACC scripts/genksyms//parse.tab.[ch]
> HOSTCC scripts/genksyms//parse.tab.o
> LEX scripts/genksyms//lex.lex.c
> HOSTCC scripts/genksyms//lex.lex.o
> HOSTLD scripts/genksyms//genksyms
> HOSTCC scripts/selinux//genheaders/genheaders
> HOSTCC scripts/selinux//mdp/mdp
> HOSTCC scripts/kallsyms
> HOSTCC scripts/sorttable
> HOSTCC scripts/asn1_compiler
> HOSTCC scripts/extract-cert
> HOSTCC scripts/bin2c
> HOSTCC scripts/recordmcount
> HOSTCC scripts/sign-file
> HOSTCC scripts/insert-sys-cert
>
>
>
>
> I can fix Kbuild to avoid "//", but I do not want to support two ways.
>
> So, I'd recommend not to add the trailing slash to subdir-y.
OK, I agree. Thanks.

--
~Randy