diff options
author | Callum Farmer <gmbr3@opensuse.org> | 2023-04-06 21:36:07 +0100 |
---|---|---|
committer | Callum Farmer <gmbr3@opensuse.org> | 2023-04-07 13:51:28 +0100 |
commit | 63a9a4d4c0de999a903a3e852e6e67222376118c (patch) | |
tree | 1c6177b0dd0846ee1b196bef0a971bc89095aadc | |
parent | 4f8b339facb471192e021fffd5db545a0fbddbc3 (diff) | |
download | gnu-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-x | Make.defaults | 6 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | gnuefi/Makefile | 14 | ||||
-rw-r--r-- | gnuefi/gnu-efi.pc.in | 10 | ||||
-rw-r--r-- | inc/Makefile | 16 |
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 @@ -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 |