From d5cf0561d87d755e28b03816964c432b5d943554 Mon Sep 17 00:00:00 2001 From: Peter Jones 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 --- 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