mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-23 17:59:06 +08:00
Makefile: use pkg-config to get libelf flags
libbpf uses libelf symbols internally, so it depends on it and needs to link against it. Upstream this was fixed by linking directory to libelf: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/commit/?id=89dedaef49d36adc2bb5e7e4c38b52fa3013c7c8 For this project, intended to be used as a general library, try first to use pkg-config instead, and only fallback to just passing -lelf. This will be useful for cross compiling, among other cases. Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
This commit is contained in:
10
src/Makefile
10
src/Makefile
@@ -16,6 +16,14 @@ endif
|
||||
|
||||
CFLAGS ?= -g -O2 -Werror -Wall
|
||||
ALL_CFLAGS += $(CFLAGS)
|
||||
ALL_LDFLAGS += $(LDFLAGS)
|
||||
ifdef NO_PKG_CONFIG
|
||||
ALL_LDFLAGS += -lelf
|
||||
else
|
||||
PKG_CONFIG ?= pkg-config
|
||||
ALL_CFLAGS += $(shell $(PKG_CONFIG) --cflags libelf)
|
||||
ALL_LDFLAGS += $(shell $(PKG_CONFIG) --libs libelf)
|
||||
endif
|
||||
|
||||
OBJDIR ?= .
|
||||
|
||||
@@ -54,7 +62,7 @@ $(OBJDIR)/libbpf.a: $(OBJS)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
$(OBJDIR)/libbpf.so: $(OBJS)
|
||||
$(CC) -shared $(LDFLAGS) $^ -o $@
|
||||
$(CC) -shared $(ALL_LDFLAGS) $^ -o $@
|
||||
|
||||
$(OBJDIR)/libbpf.pc:
|
||||
sed -e "s|@PREFIX@|$(PREFIX)|" \
|
||||
|
||||
Reference in New Issue
Block a user