Blame SOURCES/0008-gnuefi-Makefile-uses-a-strange-rule-to-create-libgnu.patch

4c0d37
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
4c0d37
From: Nigel Croxon <ncroxon@redhat.com>
4c0d37
Date: Tue, 2 Apr 2019 09:47:24 -0400
4c0d37
Subject: [PATCH] gnuefi/Makefile uses a strange rule to create libgnuefi.a,
4c0d37
 which only works because of a "make" builtin rule. This breaks make -r, and
4c0d37
 it is an inefficient way to build, at least for multiple files.
4c0d37
4c0d37
I have made a git tree which includes a patch for this problem,
4c0d37
and also forces -r by adding it to MAKEFLAGS:
4c0d37
4c0d37
git://git.zytor.com/users/hpa/gnu-efi.git make-r-fixes
4c0d37
4c0d37
Signed-off-by: H. Peter Anvin <hpa@users.sourceforge.net>
4c0d37
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
4c0d37
---
4c0d37
 gnuefi/Makefile | 4 +++-
4c0d37
 1 file changed, 3 insertions(+), 1 deletion(-)
4c0d37
4c0d37
diff --git a/gnuefi/Makefile b/gnuefi/Makefile
4c0d37
index 2a61699ac25..10d4e7addd0 100644
4c0d37
--- a/gnuefi/Makefile
4c0d37
+++ b/gnuefi/Makefile
4c0d37
@@ -54,7 +54,9 @@ TARGETS	= crt0-efi-$(ARCH).o libgnuefi.a
4c0d37
 
4c0d37
 all:	$(TARGETS)
4c0d37
 
4c0d37
-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
4c0d37
+libgnuefi.a: $(OBJS)
4c0d37
+	$(AR) $(ARFLAGS) $@ $^
4c0d37
+
4c0d37
 
4c0d37
 clean:
4c0d37
 	rm -f $(TARGETS) *~ *.o $(OBJS)