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 <jakub.kicin...@netronome.com>
---
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.

  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



Reply via email to