diff options
author | Jiri Olsa <jolsa@redhat.com> | 2015-08-26 09:01:03 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-08-26 09:34:58 -0400 |
commit | 0bdede8a3e4ff7710622a2e6713d04b3243c24a8 (patch) | |
tree | be8095b37491c704d02abd06919eb0e35006481f | |
parent | 18b9a05868391e8f617febb4528bc1765dc921cf (diff) |
tools build: Allow duplicate objects in the object list
It's sometimes useful to specify the object affiliation to multiple
config options like:
libperf-$(CONFIG_X86) += tsc.o
libperf-$(CONFIG_AUXTRACE) += tsc.o
while the object itself is linked only once. Adding the support for this
and ignoring duplicate objects in the object list.
Suggested-by: Arnaldo Carvalho de Melo <acme@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20150826130103.GF22670@krava.redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/build/Documentation/Build.txt | 1 | ||||
-rw-r--r-- | tools/build/Makefile.build | 2 | ||||
-rw-r--r-- | tools/build/tests/ex/Build | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/tools/build/Documentation/Build.txt b/tools/build/Documentation/Build.txt index 00ad2d608727..aa5e092c4352 100644 --- a/tools/build/Documentation/Build.txt +++ b/tools/build/Documentation/Build.txt | |||
@@ -66,6 +66,7 @@ To follow the above example, the user provides following 'Build' files: | |||
66 | ex/Build: | 66 | ex/Build: |
67 | ex-y += a.o | 67 | ex-y += a.o |
68 | ex-y += b.o | 68 | ex-y += b.o |
69 | ex-y += b.o # duplicates in the lists are allowed | ||
69 | 70 | ||
70 | libex-y += c.o | 71 | libex-y += c.o |
71 | libex-y += d.o | 72 | libex-y += d.o |
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build index 8120af9c0341..0c5f485521d6 100644 --- a/tools/build/Makefile.build +++ b/tools/build/Makefile.build | |||
@@ -63,7 +63,7 @@ quiet_cmd_gen = GEN $@ | |||
63 | # If there's nothing to link, create empty $@ object. | 63 | # If there's nothing to link, create empty $@ object. |
64 | quiet_cmd_ld_multi = LD $@ | 64 | quiet_cmd_ld_multi = LD $@ |
65 | cmd_ld_multi = $(if $(strip $(obj-y)),\ | 65 | cmd_ld_multi = $(if $(strip $(obj-y)),\ |
66 | $(LD) -r -o $@ $(obj-y),rm -f $@; $(AR) rcs $@) | 66 | $(LD) -r -o $@ $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@) |
67 | 67 | ||
68 | # Build rules | 68 | # Build rules |
69 | $(OUTPUT)%.o: %.c FORCE | 69 | $(OUTPUT)%.o: %.c FORCE |
diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build index 70d876237c57..429c7d452101 100644 --- a/tools/build/tests/ex/Build +++ b/tools/build/tests/ex/Build | |||
@@ -1,6 +1,7 @@ | |||
1 | ex-y += ex.o | 1 | ex-y += ex.o |
2 | ex-y += a.o | 2 | ex-y += a.o |
3 | ex-y += b.o | 3 | ex-y += b.o |
4 | ex-y += b.o | ||
4 | ex-y += empty/ | 5 | ex-y += empty/ |
5 | ex-y += empty2/ | 6 | ex-y += empty2/ |
6 | 7 | ||