From 16865de66db33ca70872199e70d93efccecc8575 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Sun, 9 Mar 2014 15:22:15 +0200 Subject: [PATCH 1/3] 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 Signed-off-by: Darren Hart [Rebased for 3.0.6] Signed-off-by: California Sullivan --- gnuefi/Makefile | 3 ++- lib/Makefile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gnuefi/Makefile b/gnuefi/Makefile index 2a61699..148106e 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 b8d1ce7..6ef8107 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -75,7 +75,7 @@ libsubdirs: for sdir in $(SUBDIRS); do mkdir -p $$sdir; done libefi.a: $(OBJS) - $(AR) rv -U $@ $^ + $(AR) rv $@ $(OBJS) clean: rm -f libefi.a *~ $(OBJS) */*.o -- 2.9.4