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 --- --- 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)