[LTP] [PATCH v2 1/1] Makefile: Add kernel modules related make targets

Petr Vorel pvorel@suse.cz
Wed Aug 6 13:52:17 CEST 2025


Hi Li, all,

> >> +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 \
> +)

nit: at least xargs could be avoided.

MODULE_DIRS := $(shell \
	dirname $(grep -l 'include.*module\.mk' $(find testcases/ -type f -name 'Makefile')) | sort -u
)

Although this works, I wonder if we want to depend on a shell detection like
this (I'd appreciate others' opinion).

Kind regards,
Petr

> >> +       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; \
> >> +)


More information about the ltp mailing list