summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorb'Nigel Croxon <allura@localhost>2023-04-17 11:36:22 +0000
committerb'Nigel Croxon <allura@localhost>2023-04-17 11:36:22 +0000
commite0e1f53ce2056f4149f617993c8ef93cb2a5bb4c (patch)
tree4211ef7248ca7a5799e2b93ce56f876a5a3de25a
parent7219aba42c77da58e13a77dfcb33a288982e3f0d (diff)
parent63a9a4d4c0de999a903a3e852e6e67222376118c (diff)
downloadgnu-efi-e0e1f53ce2056f4149f617993c8ef93cb2a5bb4c.tar.gz
Merge /u/gmbr3/gnu-efi/ branch pkgconf2 into master
https://sourceforge.net/p/gnu-efi/code/merge-requests/45/
-rwxr-xr-xMake.defaults6
-rw-r--r--Makefile2
-rw-r--r--gnuefi/Makefile14
-rw-r--r--gnuefi/gnu-efi.pc.in10
-rw-r--r--inc/Makefile16
5 files changed, 36 insertions, 12 deletions
diff --git a/Make.defaults b/Make.defaults
index 3c795d8..058afaa 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -59,8 +59,10 @@ is_absolute = $(subst $(call stripped,$(1)),$(empty),$(call unstripped,$(1)))
override INSTALLROOT:=$(if $(call is_absolute,$(INSTALLROOT)),,$(TOPDIR)/)$(INSTALLROOT)
PREFIX := /usr/local
-LIBDIR := $(PREFIX)/lib
-INSTALL := install
+EXEC_PREFIX := $(PREFIX)
+LIBDIR := $(EXEC_PREFIX)/lib
+INCLUDEDIR := $(PREFIX)/include
+INSTALL := install
# Compilation tools
HOSTCC := $(prefix)gcc
diff --git a/Makefile b/Makefile
index 8dc91fc..aab44ee 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@
# SUCH DAMAGE.
#
-VERSION = 3.0.15
+export VERSION = 3.0.15
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SRCDIR = $(dir $(MKFILE_PATH))
diff --git a/gnuefi/Makefile b/gnuefi/Makefile
index 10d4e7a..e0c9da8 100644
--- a/gnuefi/Makefile
+++ b/gnuefi/Makefile
@@ -43,6 +43,7 @@ include $(SRCDIR)/../Make.defaults
TOPDIR = $(SRCDIR)/..
CDIR=$(TOPDIR)/..
+PKGCONFIGDIR ?= $(LIBDIR)/pkgconfig
FILES = reloc_$(ARCH)
OBJS = $(FILES:%=%.o)
@@ -52,11 +53,20 @@ reloc_aarch64.o: CFLAGS += -fno-jump-tables
TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
-all: $(TARGETS)
+all: $(TARGETS) gnu-efi.pc
libgnuefi.a: $(OBJS)
$(AR) $(ARFLAGS) $@ $^
+gnu-efi.pc:
+ sed \
+ -e 's:@PREFIX@:$(PREFIX):g' \
+ -e 's:@EXEC_PREFIX@:$(EXEC_PREFIX):g' \
+ -e 's:@INCLUDEDIR@:$(INCLUDEDIR):g' \
+ -e 's:@LIBDIR@:$(LIBDIR):g' \
+ -e 's:@VERSION@:$(VERSION):g' \
+ $(SRCDIR)/gnu-efi.pc.in > gnu-efi.pc
+
clean:
rm -f $(TARGETS) *~ *.o $(OBJS)
@@ -73,5 +83,7 @@ ifneq (,$(findstring FreeBSD,$(OS)))
else
$(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_efi.lds $(INSTALLROOT)$(LIBDIR)
endif
+ $(INSTALL) -d $(INSTALLROOT)$(PKGCONFIGDIR)
+ $(INSTALL) -m 644 gnu-efi.pc $(INSTALLROOT)$(PKGCONFIGDIR)
include $(SRCDIR)/../Make.rules
diff --git a/gnuefi/gnu-efi.pc.in b/gnuefi/gnu-efi.pc.in
new file mode 100644
index 0000000..9280bc0
--- /dev/null
+++ b/gnuefi/gnu-efi.pc.in
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=@EXEC_PREFIX@
+includedir=@INCLUDEDIR@
+libdir=@LIBDIR@
+
+Name: gnu-efi
+Description: EFI development toolkit
+Version: @VERSION@
+Cflags: -I${includedir}/efi
+Libs: -lefi
diff --git a/inc/Makefile b/inc/Makefile
index 273d303..db3929f 100644
--- a/inc/Makefile
+++ b/inc/Makefile
@@ -13,15 +13,15 @@ all:
clean:
install:
- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi
- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol
- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
- $(INSTALL) -m 644 $(SRCDIR)/*.h $(INSTALLROOT)$(PREFIX)/include/efi
- $(INSTALL) -m 644 $(SRCDIR)/protocol/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol
- $(INSTALL) -m 644 $(SRCDIR)/$(ARCH)/*.h $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+ mkdir -p $(INSTALLROOT)$(INCLUDEDIR)/efi
+ mkdir -p $(INSTALLROOT)$(INCLUDEDIR)/efi/protocol
+ mkdir -p $(INSTALLROOT)$(INCLUDEDIR)/efi/$(ARCH)
+ $(INSTALL) -m 644 $(SRCDIR)/*.h $(INSTALLROOT)$(INCLUDEDIR)/efi
+ $(INSTALL) -m 644 $(SRCDIR)/protocol/*.h $(INSTALLROOT)$(INCLUDEDIR)/efi/protocol
+ $(INSTALL) -m 644 $(SRCDIR)/$(ARCH)/*.h $(INSTALLROOT)$(INCLUDEDIR)/efi/$(ARCH)
ifeq ($(ARCH),ia64)
- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
- $(INSTALL) -m 644 $(SRCDIR)/protocol/ia64/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+ mkdir -p $(INSTALLROOT)$(INCLUDEDIR)/efi/protocol/ia64
+ $(INSTALL) -m 644 $(SRCDIR)/protocol/ia64/*.h $(INSTALLROOT)$(INCLUDEDIR)/efi/protocol/ia64
endif
include $(SRCDIR)/../Make.rules