Re: [PATCH net-next] bpf: install libbpf headers on 'make install'
From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2017-07-25 16:51:22
On 07/24/2017 11:22 PM, Jakub Kicinski wrote:
Install the bpf.h header to $(prefix)/include/bpf/ directory. This is necessary to build standalone applications using libbpf, without the need to clone the kernel sources and point to them. Signed-off-by: Jakub Kicinski <redacted> --- I'm not 100% sure if it's OK to export the header file and which directory it should end up in (bpf/? libbpf/?).
Given the Makefile is heavily derived from tools/lib/traceevent/, we should probably have a similar install_headers target instead, in order to keep semantics similar. /include/bpf/ should be good.
quoted hunk ↗ jump to hunk
tools/lib/bpf/Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile index 1f5300e56b44..22dad416e0bd 100644 --- a/tools/lib/bpf/Makefile +++ b/tools/lib/bpf/Makefile@@ -46,6 +46,7 @@ else endif prefix ?= /usr/local +headerdir = $(prefix)/include/bpf/ libdir = $(prefix)/$(libdir_relative) man_dir = $(prefix)/share/man man_dir_SQ = '$(subst ','\'',$(man_dir))'@@ -90,11 +91,13 @@ endif export prefix libdir src obj # Shell quotes +headerdir_SQ = $(subst ','\'',$(headerdir)) libdir_SQ = $(subst ','\'',$(libdir)) libdir_relative_SQ = $(subst ','\'',$(libdir_relative)) plugin_dir_SQ = $(subst ','\'',$(plugin_dir)) LIB_FILE = libbpf.a libbpf.so +HEADER_FILE = bpf.h VERSION = $(BPF_VERSION) PATCHLEVEL = $(BPF_PATCHLEVEL)@@ -189,7 +192,11 @@ install_lib: all_cmd $(call QUIET_INSTALL, $(LIB_FILE)) \ $(call do_install,$(LIB_FILE),$(libdir_SQ)) -install: install_lib +install_hdr: all_cmd + $(call QUIET_INSTALL, $(HEADER_FILE)) \ + $(call do_install,$(HEADER_FILE),$(headerdir_SQ)) + +install: install_lib install_hdr ### Cleaning rules