blob: 6e12388d103f1773d087f4c1cbfd9ac394af627d [file] [log] [blame]
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