[LTP] [PATCH v2 1/1] Makefile: Add kernel modules related make targets
Li Wang
liwang@redhat.com
Sat Aug 2 06:11:57 CEST 2025
On Sat, Aug 2, 2025 at 11:25 AM Li Wang <liwang@redhat.com> wrote:
>
>
> On Fri, Aug 1, 2025 at 6:09 PM Petr Vorel <pvorel@suse.cz> wrote:
>
>> LTP contains few kernel modules and tests which are using them. These
>> require to be built with the same kernel headers as the running kernel
>> (SUT). Sometimes the best way to achieve this is to compile them on the
>> SUT.
>>
>> Add 'modules', 'modules-clean' and 'modules-install' make targets to
>> make it easier to build them.
>>
>> Signed-off-by: Petr Vorel <pvorel@suse.cz>
>> ---
>> Hi,
>>
>> I'm sorry for the noise.
>>
>> Most of the people will need just modules-install, but let's be
>> consistent with other LTP make targets.
>>
>> Kind regards,
>> Petr
>>
>> Changes v1->v2:
>> * Add also modules-clean and modules-install
>> This is needed as 'make modules clean' or 'make modules install'
>> would be running 2 separate targets.
>>
>> v1:
>> https://lore.kernel.org/ltp/20250801094205.965645-1-pvorel@suse.cz/
>>
>> https://patchwork.ozlabs.org/project/ltp/patch/20250801094205.965645-1-pvorel@suse.cz/
>>
>> INSTALL | 10 ++++++++++
>> Makefile | 24 ++++++++++++++++++++++++
>> 2 files changed, 34 insertions(+)
>>
>> diff --git a/INSTALL b/INSTALL
>> index cbe27f32ea..10c19d4105 100644
>> --- a/INSTALL
>> +++ b/INSTALL
>> @@ -165,6 +165,16 @@ PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig
>> CFLAGS=-m32 LDFLAGS=-m32 ./c
>> * Arch Linux
>> PKG_CONFIG_LIBDIR=/usr/lib32/pkgconfig CFLAGS=-m32 LDFLAGS=-m32
>> ./configure
>>
>> +Kernel modules
>> +--------------
>> +
>> +LTP contains few kernel modules and tests which are using them.
>> +These require to be built with the same kernel headers as the running
>> kernel (SUT).
>> +Sometimes the best way to achieve this is to compile them on the SUT.
>> +
>> +'modules', 'modules-clean' and 'modules-install' make targets are
>> shortcuts
>> +to build just these modules and tests.
>> +
>> Android Users
>> -------------
>>
>> diff --git a/Makefile b/Makefile
>> index eab40da8a6..933e33ca75 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -212,6 +212,30 @@ endif
>> test-metadata: metadata-all
>> $(MAKE) -C $(abs_srcdir)/metadata test
>>
>> +MODULE_DIRS := commands/insmod \
>>
>
> Here should be:
>
> -MODULE_DIRS := commands/insmod \
> +MODULE_DIRS := testcases/commands/insmod \
>
Or, if we avoid hard-coding the module dirs, then we don't need
to amend it when adding new tests later.
Something maybe like:
-MODULE_DIRS := commands/insmod \
- testcases/kernel/firmware \
- testcases/kernel/device-drivers \
- testcases/kernel/syscalls/delete_module \
- testcases/kernel/syscalls/finit_module \
- testcases/kernel/syscalls/init_module
+MODULE_DIRS := $(shell \
+ find testcases/ -type f -name 'Makefile' | \
+ xargs grep -l 'include.*module\.mk' | \
+ xargs -n1 dirname | \
+ sort -u \
+)
>
>
>> + testcases/kernel/firmware \
>> + testcases/kernel/device-drivers \
>> + testcases/kernel/syscalls/delete_module \
>> + testcases/kernel/syscalls/finit_module \
>> + testcases/kernel/syscalls/init_module
>> +
>> +.PHONY: modules modules-clean modules-install
>> +modules:
>> + @$(foreach dir,$(MODULE_DIRS),\
>> + echo "Build $(dir)";\
>> + $(MAKE) -C $(abs_srcdir)/$(dir); \
>> +)
>> +modules-clean:
>> + @$(foreach dir,$(MODULE_DIRS),\
>> + echo "Build $(dir)";\
>> + $(MAKE) -C $(abs_srcdir)/$(dir) clean; \
>> +)
>> +modules-install: modules
>> + @$(foreach dir,$(MODULE_DIRS),\
>> + echo "Build $(dir)";\
>> + $(MAKE) -C $(abs_srcdir)/$(dir) install; \
>> +)
>> +
>> ## Help
>> .PHONY: help
>> help:
>> --
>> 2.50.1
>>
>>
>
> --
> Regards,
> Li Wang
>
--
Regards,
Li Wang
More information about the ltp
mailing list