On Fri, Jan 17, 2020 at 5:37 AM Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: > > From: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > > Add a VMLINUX_BTF variable with the locally-built path when calling the > runqslower Makefile from selftests. This makes sure a simple 'make' > invocation in the selftests dir works even when there is no BTF information > for the running kernel. Do a wildcard expansion and include the same paths > for BTF for the running kernel as in the runqslower Makefile, to make it > possible to build selftests without having a vmlinux in the local tree. > > Also fix the make invocation to use $(OUTPUT)/tools as the destination > directory instead of $(CURDIR)/tools. > > Fixes: 3a0d3092a4ed ("selftests/bpf: Build runqslower from selftests") > Signed-off-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > --- With formatting fixes: Acked-by: Andrii Nakryiko <andriin@xxxxxx> > tools/testing/selftests/bpf/Makefile | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index 246d09ffb296..dcc8dbb1510b 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -124,10 +124,14 @@ $(OUTPUT)/test_stub.o: test_stub.c > $(call msg,CC,,$@) > $(CC) -c $(CFLAGS) -o $@ $< > > +VMLINUX_BTF_PATHS := $(abspath ../../../../vmlinux) \ > + /sys/kernel/btf/vmlinux \ > + /boot/vmlinux-$(shell uname -r) it's not 100% consistent in this Makefile, unfortunately, but usually (and similarly to function arguments) we align items for such multi-line statements > +VMLINUX_BTF:= $(firstword $(wildcard $(VMLINUX_BTF_PATHS))) > .PHONY: $(OUTPUT)/runqslower > $(OUTPUT)/runqslower: force > - $(Q)$(MAKE) $(submake_extras) -C $(TOOLSDIR)/bpf/runqslower \ > - OUTPUT=$(CURDIR)/tools/ > + $(Q)$(MAKE) $(submake_extras) -C $(TOOLSDIR)/bpf/runqslower \ > + OUTPUT=$(OUTPUT)/tools/ VMLINUX_BTF=$(VMLINUX_BTF) > please, keep \ alignment, it's all over the place > BPFOBJ := $(OUTPUT)/libbpf.a > >