gnu-efi/0001-Make-gnuefi-build-and-install-right.patch

122 lines
3.4 KiB
Diff
Raw Normal View History

From d5cf0561d87d755e28b03816964c432b5d943554 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 15 May 2014 21:29:25 -0400
Subject: [PATCH 1/5] Make gnuefi/ build and install right.
Right now we wind up trying to build gnuefi/.o from a source file that's
an empty string. This is caused by the macros trying to generate
install rules, but there's no real reason to have all that anyway. So
just have some static install rules that are simpler and don't generate
stuff on the fly.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
gnuefi/Makefile | 34 ++++++++++++----------------------
inc/Makefile | 36 +++++++++++-------------------------
2 files changed, 23 insertions(+), 47 deletions(-)
diff --git a/gnuefi/Makefile b/gnuefi/Makefile
index 4717227..d234ac0 100644
--- a/gnuefi/Makefile
+++ b/gnuefi/Makefile
@@ -52,19 +52,6 @@ reloc_aarch64.o: CFLAGS += -fno-jump-tables
TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
-INSTALLTARGETS = $(TARGETS)
-ifneq (,$(findstring FreeBSD,$(OS)))
- ifeq ($(ARCH),x86_64)
- INSTALLTARGETS += elf_$(ARCH)_fbsd_efi.lds
- else
- INSTALLTARGETS += elf_$(ARCH)_efi.lds
- endif
-else
- INSTALLTARGETS += elf_$(ARCH)_efi.lds
-endif
-
-LIBDIRINSTALL = $(INSTALLROOT)/$(LIBDIR)
-
all: $(TARGETS)
libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
@@ -72,14 +59,17 @@ libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
clean:
rm -f $(TARGETS) *~ *.o $(OBJS)
-$(LIBDIRINSTALL):
- mkdir -p $@
-
-.SECONDEXPANSION:
-
-$(LIBDIRINSTALL)/%: % | $$(dir $$@)
- $(INSTALL) -m 644 $< $(dir $@)
-
-install: $(addprefix $(LIBDIRINSTALL)/,$(INSTALLTARGETS))
+install:
+ mkdir -p $(INSTALLROOT)/$(LIBDIR)
+ $(INSTALL) -m 644 $(TARGETS) $(INSTALLROOT)/$(LIBDIR)
+ifneq (,$(findstring FreeBSD,$(OS)))
+ ifeq ($(ARCH),x86_64)
+ $(INSTALL) -m 644 elf_$(ARCH)_fbsd_efi.lds $(INSTALLROOT)/$(LIBDIR)
+ else
+ $(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+ endif
+else
+ $(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+endif
include $(SRCDIR)/../Make.rules
diff --git a/inc/Makefile b/inc/Makefile
index 526af22..71fded5 100644
--- a/inc/Makefile
+++ b/inc/Makefile
@@ -8,34 +8,20 @@ TOPDIR = $(SRCDIR)/..
CDIR=$(TOPDIR)/..
-INCDIRINSTALL = $(INSTALLROOT)$(PREFIX)/include/efi
-
-SRCHEADERS = $(wildcard $(SRCDIR)/*.h) \
- $(wildcard $(SRCDIR)/protocol/*.h) \
- $(wildcard $(SRCDIR)/$(ARCH)/*.h)
-ifeq ($(ARCH),ia64)
- SRCHEADERS += $(wildcard $(SRCDIR)/protocol/$(ARCH)/*.h)
-endif
-
-HEADERS = $(patsubst $(SRCDIR)/%,%,$(SRCHEADERS))
-
all:
clean:
- rm -f *~
-
-$(INCDIRINSTALL) \
-$(INCDIRINSTALL)/protocol \
-$(INCDIRINSTALL)/$(ARCH) \
-$(INCDIRINSTALL)/protocol/$(ARCH):
- mkdir -p $@
-
-.SECONDEXPANSION:
-
-$(INCDIRINSTALL)/%.h: %.h | $$(dir $$@)
- $(INSTALL) -m 644 $< $(dir $@)
-
-install: $(addprefix $(INCDIRINSTALL)/,$(HEADERS))
+install:
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+ $(INSTALL) -m 644 *.h $(INSTALLROOT)$(PREFIX)/include/efi
+ $(INSTALL) -m 644 protocol/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+ $(INSTALL) -m 644 $(ARCH)/*.h $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+ifeq ($(ARCH),ia64)
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+ $(INSTALL) -m 644 protocol/ia64/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+endif
include $(SRCDIR)/../Make.rules
--
2.1.0