Hi Masahiro
On Tue, Aug 06, 2019 at 03:39:18PM +0900, Masahiro Yamada wrote:
Recently, Jani Nikula requests a better build system support for drivers spanning multiple directories. (better kbuild support for drivers spanning multiple directories?)
I implemented it, so please take a look at it.
Note: The single targets do not work correctly.
The single targets have never worked correctly:
It works in most cases, but now always. I dunno how much it is used. Myself I almost always do make /drivers/foo/bar/
[1] For instance, "make drivers/foo/bar/baz.o" will descend into drivers/foo/bar/Makefile, which may not necessarily specify the build rule of baz.o
It is possible for drivers/foo/Makefile having obj-$(CONFIG_BAZ) += bar/baz.o
[2] subdir-ccflags-y does not work.
The single targets directly descend into the directory of that file resides. It missed subdir-ccflags-y if it is specifies in parent Makefiles.
Perhaps, I will have to manage correct implementation of single targets.
The day that kbuild has a separate step to read all Makefiles and then without using recursive make can build the kernel we can have this fixed. Until then we can accpet it as is - as fixing this may not be simple.
Sam