Message ID | 20191119105626.21453-1-quentin.monnet@netronome.com |
---|---|
State | Accepted |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] tools: bpf: fix build for 'make -s tools/bpf O=<dir>' | expand |
On Tue, Nov 19, 2019 at 10:56:26AM +0000, Quentin Monnet wrote: > Building selftests with 'make TARGETS=bpf kselftest' was fixed in commit > 55d554f5d140 ("tools: bpf: Use !building_out_of_srctree to determine > srctree"). However, by updating $(srctree) in tools/bpf/Makefile for > in-tree builds only, we leave out the case where we pass an output > directory to build BPF tools, but $(srctree) is not set. This > typically happens for: > > $ make -s tools/bpf O=/tmp/foo > Makefile:40: /tools/build/Makefile.feature: No such file or directory > > Fix it by updating $(srctree) in the Makefile not only for out-of-tree > builds, but also if $(srctree) is empty. > > Detected with test_bpftool_build.sh. > > Fixes: 55d554f5d140 ("tools: bpf: Use !building_out_of_srctree to determine srctree") > Cc: Shuah Khan <skhan@linuxfoundation.org> > Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com> > Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Applied, thanks!
diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile index 5d1995fd369c..5535650800ab 100644 --- a/tools/bpf/Makefile +++ b/tools/bpf/Makefile @@ -16,7 +16,13 @@ CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/include/uapi -I$(srctree)/include # isn't set and when invoked from selftests build, where srctree # is set to ".". building_out_of_srctree is undefined for in srctree # builds +ifeq ($(srctree),) +update_srctree := 1 +endif ifndef building_out_of_srctree +update_srctree := 1 +endif +ifeq ($(update_srctree),1) srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) endif