[lkml]   [2017]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/2] kbuild: create built-in.o automatically if parent directory wants it
2017-11-08 1:31 GMT+09:00 Masahiro Yamada <>:
> "obj-y += foo/" syntax requires Kbuild to visit the "foo" subdirectory
> and link built-in.o from that directory. This means foo/Makefile is
> responsible for creating built-in.o even if there is no object to
> link (in this case, built-in.o is an empty archive).
> We have had several fixups like commit 4b024242e8a4 ("kbuild: Fix
> linking error built-in.o no such file or directory"), then ended up
> with a complex condition as follows:
> ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),)
> builtin-target := $(obj)/built-in.o
> endif
> We still have more cases not covered by the above, so we need to add
> obj- := dummy.o
> in several places just for creating empty built-in.o.
> A key point is, the parent Makefile knows whether built-in.o is needed
> or not. If a subdirectory needs to create built-in.o, its parent can
> tell the fact when Kbuild descends into it.
> If non-empty $(need-builtin) flag is passed from the parent, built-in.o
> should be created. $(obj-y) should be still checked to support the
> single target "%/". All of ugly tricks will go away.
> Signed-off-by: Masahiro Yamada <>
> ---

Applied to linux-kbuild/kbuild.

Best Regards
Masahiro Yamada

 \ /
  Last update: 2017-11-18 05:08    [W:0.063 / U:3.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site