samples/bpf: adjust Makefile and README.rst

Side effect of some kbuild changes resulted in breaking the
documented way to build samples/bpf/.

This patch change the samples/bpf/Makefile to work again, when
invoking make from the subdir samples/bpf/. Also update the
documentation in README.rst, to reflect the new way to build.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jesper Dangaard Brouer 2019-11-10 17:31:16 +01:00 committed by David S. Miller
parent 5b67a3ed4f
commit 6cc2c8762d
2 changed files with 7 additions and 9 deletions

View File

@ -203,7 +203,7 @@ TPROGLDLIBS_test_overhead += -lrt
TPROGLDLIBS_xdpsock += -pthread TPROGLDLIBS_xdpsock += -pthread
# Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline: # Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline:
# make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang # make M=samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
LLC ?= llc LLC ?= llc
CLANG ?= clang CLANG ?= clang
LLVM_OBJCOPY ?= llvm-objcopy LLVM_OBJCOPY ?= llvm-objcopy
@ -246,7 +246,7 @@ endif
# Trick to allow make to be run from this directory # Trick to allow make to be run from this directory
all: all:
$(MAKE) -C ../../ $(CURDIR)/ BPF_SAMPLES_PATH=$(CURDIR) $(MAKE) -C ../../ M=$(CURDIR) BPF_SAMPLES_PATH=$(CURDIR)
clean: clean:
$(MAKE) -C ../../ M=$(CURDIR) clean $(MAKE) -C ../../ M=$(CURDIR) clean

View File

@ -46,12 +46,10 @@ Compiling
For building the BPF samples, issue the below command from the kernel For building the BPF samples, issue the below command from the kernel
top level directory:: top level directory::
make samples/bpf/ make M=samples/bpf
Do notice the "/" slash after the directory name.
It is also possible to call make from this directory. This will just It is also possible to call make from this directory. This will just
hide the the invocation of make as above with the appended "/". hide the invocation of make as above.
Manually compiling LLVM with 'bpf' support Manually compiling LLVM with 'bpf' support
------------------------------------------ ------------------------------------------
@ -77,7 +75,7 @@ Quick sniplet for manually compiling LLVM and clang
It is also possible to point make to the newly compiled 'llc' or It is also possible to point make to the newly compiled 'llc' or
'clang' command via redefining LLC or CLANG on the make command line:: 'clang' command via redefining LLC or CLANG on the make command line::
make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang make M=samples/bpf LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
Cross compiling samples Cross compiling samples
----------------------- -----------------------
@ -98,10 +96,10 @@ Pointing LLC and CLANG is not necessarily if it's installed on HOST and have
in its targets appropriate arm64 arch (usually it has several arches). in its targets appropriate arm64 arch (usually it has several arches).
Build samples:: Build samples::
make samples/bpf/ make M=samples/bpf
Or build samples with SYSROOT if some header or library is absent in toolchain, Or build samples with SYSROOT if some header or library is absent in toolchain,
say libelf, providing address to file system containing headers and libs, say libelf, providing address to file system containing headers and libs,
can be RFS of target board:: can be RFS of target board::
make samples/bpf/ SYSROOT=~/some_sysroot make M=samples/bpf SYSROOT=~/some_sysroot