Re: [PATCH v3 1/2] scripts/kernel-doc.py: don't create *.pyc files

Andy Shevchenko
2025-04-16T09:36:15Z

On Wed, Apr 16, 2025 at 05:29:01PM +0800, Mauro Carvalho Chehab wrote:
> Em Wed, 16 Apr 2025 17:19:17 +0800
> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:
> > Em Wed, 16 Apr 2025 11:34:16 +0300
> > Jani Nikula <jani.nikula@linux.intel.com> escreveu:
> > > On Wed, 16 Apr 2025, Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:

...

> > > > quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> > > > cmd_hdrtest = \
> > > > $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> > > > - $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> > > > + PYTHONDONTWRITEBYTECODE=1 $(KERNELDOC) -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> > >
> > > KERNELDOC is not set here.
> >
> > >
> > > /bin/sh: 1: -none: not found
> >
> > Weird. This is set on Documentation/Makefile:
> >
> > $ grep KERNELDOC Documentation/Makefile
> > KERNELDOC = $(srctree)/scripts/kernel-doc.py
> > ...
> >
> > drivers/gpu/drm/Makefile should be able to see this variable there...
>
> I suspect that the building system tries to confine variables to
> sub-directories, so maybe one solution would be to move it to the
> main makefile.
>
> could you please check if this patch solves the issue?
>
> [PATCH] Makefile: move KERNELDOC macro to the main Makefile
>
> As kernel-doc script is used not only on Documentation, but
> also on scripts and drivers/drm Makefiles, move it to the
> main makefile, as otherwise sub-makefiles may not have it.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
>
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index c022b97c487e..7a2069e87dbd 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -60,7 +60,6 @@ endif #HAVE_LATEXMK
> # Internal variables.
> PAPEROPT_a4 = -D latex_paper_size=a4
> PAPEROPT_letter = -D latex_paper_size=letter
> -KERNELDOC = $(srctree)/scripts/kernel-doc.py
> KERNELDOC_CONF = -D kerneldoc_srctree=$(srctree) -D kerneldoc_bin=$(KERNELDOC)

In this case the _CONF makes sense to move together as they are coupled
semantically.

> ALLSPHINXOPTS = $(KERNELDOC_CONF) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS)
> ifneq ($(wildcard $(srctree)/.config),)
> diff --git a/Makefile b/Makefile
> index 38689a0c3605..c8e46f0c1f63 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -458,6 +458,8 @@ endif
> HOSTRUSTC = rustc
> HOSTPKG_CONFIG = pkg-config
>
> +KERNELDOC = $(srctree)/scripts/kernel-doc.py
> +
> KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
> -O2 -fomit-frame-pointer -std=gnu11
> KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)

--
With Best Regards,
Andy Shevchenko