mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-10 10:39:07 +08:00
35
src/Makefile
35
src/Makefile
@@ -1,5 +1,11 @@
|
|||||||
# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
|
# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
|
||||||
|
|
||||||
|
VERSION = 0
|
||||||
|
PATCHLEVEL = 0
|
||||||
|
EXTRAVERSION = 2
|
||||||
|
|
||||||
|
LIBBPF_VERSION = $(VERSION).$(PATCHLEVEL).$(EXTRAVERSION)
|
||||||
|
|
||||||
TOPDIR = ..
|
TOPDIR = ..
|
||||||
|
|
||||||
INCLUDES := -I. -I$(TOPDIR)/include -I$(TOPDIR)/include/uapi
|
INCLUDES := -I. -I$(TOPDIR)/include -I$(TOPDIR)/include/uapi
|
||||||
@@ -32,7 +38,10 @@ OBJS := $(addprefix $(OBJDIR)/,bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \
|
|||||||
|
|
||||||
LIBS := $(OBJDIR)/libbpf.a
|
LIBS := $(OBJDIR)/libbpf.a
|
||||||
ifndef BUILD_STATIC_ONLY
|
ifndef BUILD_STATIC_ONLY
|
||||||
LIBS += $(OBJDIR)/libbpf.so
|
LIBS += $(OBJDIR)/libbpf.so \
|
||||||
|
$(OBJDIR)/libbpf.so.$(VERSION) \
|
||||||
|
$(OBJDIR)/libbpf.so.$(LIBBPF_VERSION)
|
||||||
|
VERSION_SCRIPT := libbpf.map
|
||||||
endif
|
endif
|
||||||
|
|
||||||
HEADERS := bpf.h libbpf.h btf.h
|
HEADERS := bpf.h libbpf.h btf.h
|
||||||
@@ -61,8 +70,16 @@ all: $(LIBS) $(PC_FILE)
|
|||||||
$(OBJDIR)/libbpf.a: $(OBJS)
|
$(OBJDIR)/libbpf.a: $(OBJS)
|
||||||
$(AR) rcs $@ $^
|
$(AR) rcs $@ $^
|
||||||
|
|
||||||
$(OBJDIR)/libbpf.so: $(OBJS)
|
$(OBJDIR)/libbpf.so: $(OBJDIR)/libbpf.so.$(VERSION)
|
||||||
$(CC) -shared $(ALL_LDFLAGS) $^ -o $@
|
ln -sf $(^F) $@
|
||||||
|
|
||||||
|
$(OBJDIR)/libbpf.so.$(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) \
|
||||||
|
$^ -o $@
|
||||||
|
|
||||||
$(OBJDIR)/libbpf.pc:
|
$(OBJDIR)/libbpf.pc:
|
||||||
sed -e "s|@PREFIX@|$(PREFIX)|" \
|
sed -e "s|@PREFIX@|$(PREFIX)|" \
|
||||||
@@ -80,8 +97,16 @@ define do_install
|
|||||||
$(INSTALL) $1 $(if $3,-m $3,) '$(DESTDIR)$2'
|
$(INSTALL) $1 $(if $3,-m $3,) '$(DESTDIR)$2'
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# Preserve symlinks at installation.
|
||||||
|
define do_s_install
|
||||||
|
if [ ! -d '$(DESTDIR)$2' ]; then \
|
||||||
|
$(INSTALL) -d -m 755 '$(DESTDIR)$2'; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $1 '$(DESTDIR)$2'
|
||||||
|
endef
|
||||||
|
|
||||||
install: all install_headers install_pkgconfig
|
install: all install_headers install_pkgconfig
|
||||||
$(call do_install,$(LIBS),$(LIBDIR))
|
$(call do_s_install,$(LIBS),$(LIBDIR))
|
||||||
|
|
||||||
install_headers:
|
install_headers:
|
||||||
$(call do_install,$(HEADERS),$(INCLUDEDIR)/bpf,644)
|
$(call do_install,$(HEADERS),$(INCLUDEDIR)/bpf,644)
|
||||||
@@ -95,4 +120,4 @@ install_pkgconfig: $(PC_FILE)
|
|||||||
$(call do_install,$(PC_FILE),$(LIBDIR)/pkgconfig,644)
|
$(call do_install,$(PC_FILE),$(LIBDIR)/pkgconfig,644)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.a *.so *.pc
|
rm -f *.o *.a *.so *.so.* *.pc
|
||||||
|
|||||||
Reference in New Issue
Block a user