From 051a4009f94d5633a8f734ca4235f0a78ee90469 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Sat, 2 Jan 2021 16:50:34 +0000 Subject: [PATCH] pkgconfig: use literal ${prefix} to allow override Various workflows (--define-prefix, --define-variable=prefix) require variables in the pc file to use a literal so that it is overridden. Change the Makefile so that, by default and unless is specified, it is set as expected. Signed-off-by: Luca Boccassi --- src/Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index e81523e..da33613 100644 --- a/src/Makefile +++ b/src/Makefile @@ -66,6 +66,13 @@ else LIBSUBDIR := lib endif +# By default let the pc file itself use ${prefix} in includedir/libdir so that +# the prefix can be overridden at runtime (eg: --define-prefix) +ifndef LIBDIR + LIBDIR_PC := $$\{prefix\}/$(LIBSUBDIR) +else + LIBDIR_PC := $(LIBDIR) +endif PREFIX ?= /usr LIBDIR ?= $(PREFIX)/$(LIBSUBDIR) INCLUDEDIR ?= $(PREFIX)/include @@ -93,7 +100,7 @@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(SHARED_OBJS) $(OBJDIR)/libbpf.pc: $(Q)sed -e "s|@PREFIX@|$(PREFIX)|" \ - -e "s|@LIBDIR@|$(LIBDIR)|" \ + -e "s|@LIBDIR@|$(LIBDIR_PC)|" \ -e "s|@VERSION@|$(LIBBPF_VERSION)|" \ < libbpf.pc.template > $@