This series was developed after discussion in https://lkml.org/lkml/2021/1/19/850 The motivation for this series is an out-of-tree module which contains a large number of source files. This causes Kbuild to exceed the maximum command line argument length when linking the files. Proposal here permits composite objects to contain other composite objects. This allows the driver to split linking into several steps and avoid the maximum command line length error. Kbuild composite objects only supports one level of composite objects. That is, a composite object may only be composed of real compilable source files. As a simple example, the following Kbuild description is now supported: bar-a-y := a/bar0.o a/bar1.o bar-b-y := b/bar2.o b/bar3.o foo-objs := bar-a.o bar-b.o obj-m += foo.o Add such support by recursively searching for composite objects and listing them in $(multi-used-*) and $(real-obj-*). Elliot Berman (2): Kbuild: Make composite object searching more generic Kbuild: Support nested composite objects scripts/Makefile.lib | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project