diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2016-11-23 11:41:38 -0500 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-11-29 09:53:19 -0500 |
commit | fe026a851b6bb9a11c27e93b9b15060cb310a3d6 (patch) | |
tree | 98d0a73b38592e5a997d614d7464f6d3f7cf6541 | |
parent | 7e2b37c971a2a20ec8a311a195a626c16c774031 (diff) |
kbuild: thin archives for multi-y targets
THIN_ARCHIVES builds archives for built-in.o targets, have it build
multi-y targets as archives as well.
This saves another ~15% of the size of intermediate artifacts in the
build tree. After this patch, the linker is only used in final link,
and special cases like vdsos.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
-rw-r--r-- | scripts/Makefile.build | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index de46ab03f063..9807a8115896 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build | |||
@@ -448,11 +448,18 @@ $($(subst $(obj)/,,$(@:.o=-objs))) \ | |||
448 | $($(subst $(obj)/,,$(@:.o=-y))) \ | 448 | $($(subst $(obj)/,,$(@:.o=-y))) \ |
449 | $($(subst $(obj)/,,$(@:.o=-m)))), $^) | 449 | $($(subst $(obj)/,,$(@:.o=-m)))), $^) |
450 | 450 | ||
451 | quiet_cmd_link_multi-y = LD $@ | 451 | cmd_link_multi-link = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps) $(cmd_secanalysis) |
452 | cmd_link_multi-y = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps) $(cmd_secanalysis) | 452 | |
453 | ifdef CONFIG_THIN_ARCHIVES | ||
454 | quiet_cmd_link_multi-y = AR $@ | ||
455 | cmd_link_multi-y = rm -f $@; $(AR) rcST$(KBUILD_ARFLAGS) $@ $(link_multi_deps) | ||
456 | else | ||
457 | quiet_cmd_link_multi-y = LD $@ | ||
458 | cmd_link_multi-y = $(cmd_link_multi-link) | ||
459 | endif | ||
453 | 460 | ||
454 | quiet_cmd_link_multi-m = LD [M] $@ | 461 | quiet_cmd_link_multi-m = LD [M] $@ |
455 | cmd_link_multi-m = $(cmd_link_multi-y) | 462 | cmd_link_multi-m = $(cmd_link_multi-link) |
456 | 463 | ||
457 | $(multi-used-y): FORCE | 464 | $(multi-used-y): FORCE |
458 | $(call if_changed,link_multi-y) | 465 | $(call if_changed,link_multi-y) |