On Thu, Jul 14, 2022 at 2:03 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > If the directory pass given to KBUILD_EXTMOD (or M=) contains % or :, This is a typo. directory pass -> directory path > the module fails to build. > > % is used in pattern rules, and : as the separator of dependencies. > > Bail out with a clearer error message. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > Makefile | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Makefile b/Makefile > index faa4880f25f7..ecda62e27553 100644 > --- a/Makefile > +++ b/Makefile > @@ -129,6 +129,9 @@ endif > $(if $(word 2, $(KBUILD_EXTMOD)), \ > $(error building multiple external modules is not supported)) > > +$(foreach x, % :, $(if $(findstring $x, $(KBUILD_EXTMOD)), \ > + $(error module directory path cannot contain '$x'))) > + > # Remove trailing slashes > ifneq ($(filter %/, $(KBUILD_EXTMOD)),) > KBUILD_EXTMOD := $(shell dirname $(KBUILD_EXTMOD).) > -- > 2.34.1 > -- Best Regards Masahiro Yamada