Subject: Re: [PATCH bpf 2/4] selftests/bpf: Consolidate kernel modules into common directory

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Tue, 08 Oct 2024 20:23:31 +0200

Jiri Olsa <[email-masked]> writes:

> On Tue, Oct 08, 2024 at 07:55:13PM +0200, Toke Høiland-Jørgensen wrote:
>> Jiri Olsa <[email-masked]> writes:
>> 
>> > On Tue, Oct 08, 2024 at 12:35:17PM +0200, Toke Høiland-Jørgensen wrote:
>> >
>> > SNIP
>> >
>> >> diff --git a/tools/testing/selftests/bpf/bpf_testmod/.gitignore b/tools/testing/selftests/bpf/test_kmods/.gitignore
>> >> similarity index 100%
>> >> rename from tools/testing/selftests/bpf/bpf_testmod/.gitignore
>> >> rename to tools/testing/selftests/bpf/test_kmods/.gitignore
>> >> diff --git a/tools/testing/selftests/bpf/test_kmods/Makefile b/tools/testing/selftests/bpf/test_kmods/Makefile
>> >> new file mode 100644
>> >> index 0000000000000000000000000000000000000000..393f407f35baf7e2b657b5d7910a6ffdecb35910
>> >> --- /dev/null
>> >> +++ b/tools/testing/selftests/bpf/test_kmods/Makefile
>> >> @@ -0,0 +1,25 @@
>> >> +TEST_KMOD_DIR := $(realpath $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
>> >> +KDIR ?= $(abspath $(TEST_KMOD_DIR)/../../../../..)
>> >> +
>> >> +ifeq ($(V),1)
>> >> +Q =
>> >> +else
>> >> +Q = @
>> >> +endif
>> >> +
>> >> +MODULES = bpf_testmod.ko bpf_test_no_cfi.ko
>> >> +
>> >> +$(foreach m,$(MODULES),$(eval obj-m += $(m:.ko=.o)))
>> >> +
>> >> +CFLAGS_bpf_testmod.o = -I$(src)
>> >> +
>> >> +all: modules.built
>> >> +
>> >> +modules.built: *.[ch]
>> >
>> > curious, the top Makefile already checks for test_kmods/*.[ch], do we
>> > need *.[ch] ?
>> 
>> Not really for building from the top-level Makefile, that is for running
>> 'make' inside the subdir, in case anyone tries that. Don't feel strongly
>> about it, so can remove it if you prefer?
>
> no strong feelings either ;-) I was just wondering what was the
> purpose

Actually, removing it means the .ko files may not be rebuilt. But it's
not enough with just that dependency either; will give it another try
and see if I can avoid a .PHONY (or just add that if not)...

-Toke