構建 libbpf

libelf 和 zlib 是 libbpf 的內部依賴項,因此應用程式需要連結它們才能正常工作,並且它們必須安裝在系統上。pkg-config 預設用於查詢 libelf,可以透過 PKG_CONFIG 覆蓋所呼叫的程式。

如果不需要在構建時使用 pkg-config,可以在呼叫 make 時設定 NO_PKG_CONFIG=1 來停用它。

構建靜態庫 libbpf.a 和共享庫 libbpf.so

$ cd src
$ make

僅在 build/ 目錄中構建靜態庫 libbpf.a,並將其與 libbpf 標頭檔案一同安裝到暫存目錄 root/ 中

$ cd src
$ mkdir build root
$ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install

構建靜態庫 libbpf.a 和共享庫 libbpf.so,並依賴安裝在 /build/root/ 的自定義 libelf,然後將它們與 libbpf 標頭檔案一同安裝到構建目錄 /build/root/ 中

$ cd src
$ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make