summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCallum Farmer <gmbr3@opensuse.org>2023-04-06 21:36:07 +0100
committerCallum Farmer <gmbr3@opensuse.org>2023-04-07 13:51:28 +0100
commit63a9a4d4c0de999a903a3e852e6e67222376118c (patch)
tree1c6177b0dd0846ee1b196bef0a971bc89095aadc
parent4f8b339facb471192e021fffd5db545a0fbddbc3 (diff)
downloadgnu-efi-63a9a4d4c0de999a903a3e852e6e67222376118c.tar.gz
Add pkgconfig file
Also add EXEC_PREFIX and INCLUDEDIR variables This was requested by fwupd-efi, to be able to retrieve the version number of gnu-efi so we can detect features Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
-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 d663397..799fab7 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -47,8 +47,10 @@ TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
#
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 b8a6578..648d89a 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