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