diff options
Diffstat (limited to 'scripts/Makefile.build')
-rw-r--r-- | scripts/Makefile.build | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index de9836eee8bb..db38ef465a63 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build | |||
@@ -83,10 +83,12 @@ ifneq ($(strip $(obj-y) $(obj-m) $(obj-n) $(obj-) $(lib-target)),) | |||
83 | builtin-target := $(obj)/built-in.o | 83 | builtin-target := $(obj)/built-in.o |
84 | endif | 84 | endif |
85 | 85 | ||
86 | modorder-target := $(obj)/modules.order | ||
87 | |||
86 | # We keep a list of all modules in $(MODVERDIR) | 88 | # We keep a list of all modules in $(MODVERDIR) |
87 | 89 | ||
88 | __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \ | 90 | __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \ |
89 | $(if $(KBUILD_MODULES),$(obj-m)) \ | 91 | $(if $(KBUILD_MODULES),$(obj-m) $(modorder-target)) \ |
90 | $(subdir-ym) $(always) | 92 | $(subdir-ym) $(always) |
91 | @: | 93 | @: |
92 | 94 | ||
@@ -276,6 +278,19 @@ targets += $(builtin-target) | |||
276 | endif # builtin-target | 278 | endif # builtin-target |
277 | 279 | ||
278 | # | 280 | # |
281 | # Rule to create modules.order file | ||
282 | # | ||
283 | # Create commands to either record .ko file or cat modules.order from | ||
284 | # a subdirectory | ||
285 | modorder-cmds = \ | ||
286 | $(foreach m, $(modorder), \ | ||
287 | $(if $(filter %/modules.order, $m), \ | ||
288 | cat $m;, echo kernel/$m;)) | ||
289 | |||
290 | $(modorder-target): $(subdir-ym) FORCE | ||
291 | $(Q)(cat /dev/null; $(modorder-cmds)) > $@ | ||
292 | |||
293 | # | ||
279 | # Rule to compile a set of .o files into one .a file | 294 | # Rule to compile a set of .o files into one .a file |
280 | # | 295 | # |
281 | ifdef lib-target | 296 | ifdef lib-target |