| From 7e9a26b0fc0bd8ed64a5eced5ea78bcea8ae3bbc Mon Sep 17 00:00:00 2001 |
| From: Romain Naour <romain.naour@openwide.fr> |
| Date: Sat, 17 Jan 2015 18:44:04 +0100 |
| Subject: [PATCH 2/2] Fix parallel make failure for archives |
| |
| Upstream-Status: Pending |
| |
| The lib and gnuefi makefiles were using the lib.a() form which compiles |
| and ar's as a pair instead of compiling all and then ar'ing which can |
| parallelize better. This was resulting in build failures on larger values |
| of -j. |
| |
| See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105 |
| for details. |
| |
| [Romain: |
| - rebase on top of 3.0.1 release] |
| |
| Signed-off-by: Saul Wold <sgw@linux.intel.com> |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| Signed-off-by: Romain Naour <romain.naour@openwide.fr> |
| --- |
| gnuefi/Makefile | 3 ++- |
| lib/Makefile | 3 ++- |
| 2 files changed, 4 insertions(+), 2 deletions(-) |
| |
| diff --git a/gnuefi/Makefile b/gnuefi/Makefile |
| index d234ac0..d29575d 100644 |
| --- a/gnuefi/Makefile |
| +++ b/gnuefi/Makefile |
| @@ -54,7 +54,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a |
| |
| all: $(TARGETS) |
| |
| -libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS)) |
| +libgnuefi.a: $(OBJS) |
| + $(AR) rv $@ $(OBJS) |
| |
| clean: |
| rm -f $(TARGETS) *~ *.o $(OBJS) |
| diff --git a/lib/Makefile b/lib/Makefile |
| index 019ad57..c6abcae 100644 |
| --- a/lib/Makefile |
| +++ b/lib/Makefile |
| @@ -73,7 +73,8 @@ all: libsubdirs libefi.a |
| libsubdirs: |
| for sdir in $(SUBDIRS); do mkdir -p $$sdir; done |
| |
| -libefi.a: $(patsubst %,libefi.a(%),$(OBJS)) |
| +libefi.a: $(OBJS) |
| + $(AR) rv $@ $(OBJS) |
| |
| clean: |
| rm -f libefi.a *~ $(OBJS) */*.o |
| -- |
| 1.9.3 |
| |