From d60f568961899081089f2bcc2e1f79051e85554c Mon Sep 17 00:00:00 2001 From: Andrii Nakryiko Date: Wed, 14 Aug 2019 15:59:54 -0700 Subject: [PATCH] Makefile: get libbpf version from libbpf.map Similarly to kernel-side Makefile ([0]), get libbpf version by looking at latest version in libbpf.map. [0] https://patchwork.ozlabs.org/patch/1147232/ Signed-off-by: Andrii Nakryiko --- src/Makefile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Makefile b/src/Makefile index d93736a..c3cbbe5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,10 +1,9 @@ # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -VERSION = 0 -PATCHLEVEL = 0 -EXTRAVERSION = 4 - -LIBBPF_VERSION = $(VERSION).$(PATCHLEVEL).$(EXTRAVERSION) +LIBBPF_VERSION := $(shell \ + grep -oE '^LIBBPF_([0-9.]+)' libbpf.map | \ + sort -rV | head -n1 | cut -d'_' -f2) +LIBBPF_MAJOR_VERSION := $(firstword $(subst ., ,$(LIBBPF_VERSION))) TOPDIR = .. @@ -40,7 +39,7 @@ OBJS := $(addprefix $(OBJDIR)/,bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \ LIBS := $(OBJDIR)/libbpf.a ifndef BUILD_STATIC_ONLY LIBS += $(OBJDIR)/libbpf.so \ - $(OBJDIR)/libbpf.so.$(VERSION) \ + $(OBJDIR)/libbpf.so.$(LIBBPF_MAJOR_VERSION) \ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION) VERSION_SCRIPT := libbpf.map endif @@ -71,15 +70,15 @@ all: $(LIBS) $(PC_FILE) $(OBJDIR)/libbpf.a: $(OBJS) $(AR) rcs $@ $^ -$(OBJDIR)/libbpf.so: $(OBJDIR)/libbpf.so.$(VERSION) +$(OBJDIR)/libbpf.so: $(OBJDIR)/libbpf.so.$(LIBBPF_MAJOR_VERSION) ln -sf $(^F) $@ -$(OBJDIR)/libbpf.so.$(VERSION): $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION) +$(OBJDIR)/libbpf.so.$(LIBBPF_MAJOR_VERSION): $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION) ln -sf $(^F) $@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(OBJS) $(CC) -shared $(ALL_LDFLAGS) -Wl,--version-script=$(VERSION_SCRIPT) \ - -Wl,-soname,libbpf.so.$(VERSION) \ + -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \ $^ -o $@ $(OBJDIR)/libbpf.pc: