summaryrefslogtreecommitdiff
path: root/gnuefi
diff options
context:
space:
mode:
Diffstat (limited to 'gnuefi')
-rw-r--r--gnuefi/Makefile14
-rw-r--r--gnuefi/gnu-efi.pc.in10
2 files changed, 23 insertions, 1 deletions
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