kbuild: generate modules.order only in directories visited by obj-y/m
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 6 Aug 2019 10:03:22 +0000 (19:03 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 9 Aug 2019 16:45:31 +0000 (01:45 +0900)
The modules.order files in directories visited by the chain of obj-y
or obj-m are merged to the upper-level ones, and become parts of the
top-level modules.order. On the other hand, there is no need to
generate modules.order in directories visited by subdir-y or subdir-m
since they would become orphan anyway.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/Makefile.build

index 3fe0c73..37a1d2c 100644 (file)
@@ -488,7 +488,8 @@ targets += $(call intermediate_targets, .asn1.o, .asn1.c .asn1.h) \
 PHONY += $(subdir-ym)
 $(subdir-ym):
        $(Q)$(MAKE) $(build)=$@ \
-       need-builtin=$(if $(filter $@/built-in.a, $(subdir-obj-y)),1)
+       need-builtin=$(if $(filter $@/built-in.a, $(subdir-obj-y)),1) \
+       need-modorder=$(if $(need-modorder),$(if $(filter $@/modules.order, $(modorder)),1))
 
 # Add FORCE to the prequisites of a target to force it to be always rebuilt.
 # ---------------------------------------------------------------------------