49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
|
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.
|
||
|
|
||
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
||
|
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
|
||
|
---
|
||
|
---
|
||
|
gnuefi/Makefile | 3 ++-
|
||
|
lib/Makefile | 3 ++-
|
||
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
||
|
|
||
|
Index: gnu-efi-3.0/lib/Makefile
|
||
|
===================================================================
|
||
|
--- gnu-efi-3.0.orig/lib/Makefile
|
||
|
+++ gnu-efi-3.0/lib/Makefile
|
||
|
@@ -66,7 +66,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
|
||
|
Index: gnu-efi-3.0/gnuefi/Makefile
|
||
|
===================================================================
|
||
|
--- gnu-efi-3.0.orig/gnuefi/Makefile
|
||
|
+++ gnu-efi-3.0/gnuefi/Makefile
|
||
|
@@ -51,7 +51,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)
|