[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNATBy2NwnZ73ihzuD+LMg44abo0JOz6RrU2saH7+Ofnz7Q@mail.gmail.com>
Date: Wed, 2 Apr 2025 02:49:35 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Jani Nikula <jani.nikula@...el.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>, linux-kernel@...r.kernel.org,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>, linux-kbuild@...r.kernel.org,
dri-devel@...ts.freedesktop.org, intel-xe@...ts.freedesktop.org,
intel-gfx@...ts.freedesktop.org
Subject: Re: [PATCH 4/5] kbuild: hdrtest: place header test files in .hdrtest subdirectories
On Tue, Apr 1, 2025 at 9:19 PM Jani Nikula <jani.nikula@...el.com> wrote:
>
> The header tests track whether headers have been checked using empty
> *.hdrtest files in the build tree. This pollutes the build directories,
> as the files live in the same "name space" as the real output files,
> messing with TAB completion among other things.
>
> Hide the disgusting turds by placing them in .hdrtest subdirectories.
>
> Note that it would be somewhat nicer to have the basename of the
> .hdrtest files be dot-prefixed instead of using subdirectories. However,
> it's challenging to come up with a pattern rule for that, as we can list
> headers to test in the subdirectories of $(src) too, without requiring
> Makefiles and kbuild to descend to each of them.
>
> Reported-by: Linus Torvalds <torvalds@...ux-foundation.org>
> Closes: https://lore.kernel.org/r/CAHk-=wjMrqzuUmH-mFbR_46EWEFS=bB=J7h9ABMVy56Vi81PKQ@mail.gmail.com
> Fixes: fcbb8461fd23 ("kbuild: remove header compile test")
> Cc: Masahiro Yamada <masahiroy@...nel.org>
> Cc: David Airlie <airlied@...il.com>
> Cc: Daniel Vetter <daniel@...ll.ch>
> Signed-off-by: Jani Nikula <jani.nikula@...el.com>
>
> ---
Linus did not mention anything bad for usr/include/.
This crap is unneeded.
NACK.
>
> Cc: linux-kbuild@...r.kernel.org
> Cc: dri-devel@...ts.freedesktop.org
> Cc: intel-xe@...ts.freedesktop.org
> Cc: intel-gfx@...ts.freedesktop.org
> ---
> usr/include/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/usr/include/Makefile b/usr/include/Makefile
> index e3d6b03527fe..4fb574fd3fec 100644
> --- a/usr/include/Makefile
> +++ b/usr/include/Makefile
> @@ -71,7 +71,7 @@ endif
> # asm-generic/*.h is used by asm/*.h, and should not be included directly
> no-header-test += asm-generic/%
>
> -always-y := $(patsubst $(obj)/%.h,%.hdrtest, $(shell find $(obj) -name '*.h' 2>/dev/null))
> +always-y := $(patsubst $(obj)/%.h,.hdrtest/%.hdrtest, $(shell find $(obj) -name '*.h' 2>/dev/null))
>
> # Include the header twice to detect missing include guard.
> quiet_cmd_hdrtest = HDRTEST $<
> @@ -81,7 +81,7 @@ quiet_cmd_hdrtest = HDRTEST $<
> $(PERL) $(src)/headers_check.pl $(obj) $<; \
> touch $@
>
> -$(obj)/%.hdrtest: $(obj)/%.h FORCE
> +$(obj)/.hdrtest/%.hdrtest: $(obj)/%.h FORCE
> $(call if_changed_dep,hdrtest)
>
> # Since GNU Make 4.3, $(patsubst $(obj)/%/,%,$(wildcard $(obj)/*/)) works.
> --
> 2.39.5
>
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists