[PATCH 0/5] kbuild: allow big modules to sub-divide Makefiles

From: Masahiro Yamada
Date: Tue Aug 06 2019 - 02:40:53 EST



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:

[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.



Masahiro Yamada (5):
kbuild: treat an object as multi-used when $(foo-) is set
kbuild: clean up modname calculation
kbuild: rename cmd_ar_builtin to cmd_ar_no_sym
kbuild: support composite objects spanning across multiple Makefiles
drm: i915: hierachize Makefiles

drivers/gpu/drm/i915/Makefile | 126 ++------------------
drivers/gpu/drm/i915/display/Makefile | 64 ++++++++++
drivers/gpu/drm/i915/gem/Makefile | 27 +++++
drivers/gpu/drm/i915/gem/selftests/Makefile | 3 +
drivers/gpu/drm/i915/gt/Makefile | 16 +++
drivers/gpu/drm/i915/gvt/Makefile | 32 ++++-
drivers/gpu/drm/i915/selftests/Makefile | 9 ++
scripts/Makefile.build | 39 +++---
scripts/Makefile.lib | 66 ++++++----
9 files changed, 218 insertions(+), 164 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/selftests/Makefile
create mode 100644 drivers/gpu/drm/i915/selftests/Makefile

--
2.17.1