aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
blob: e5b47c197a381caa9fb9bb8f801eb603d0262f39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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)