On Tue, Apr 1, 2025 at 9:19 PM Jani Nikula <jani.nik...@intel.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 <torva...@linux-foundation.org> > Closes: > https://lore.kernel.org/r/CAHk-=wjMrqzuUmH-mFbR_46EWEFS=bB=j7h9abmvy56vi81...@mail.gmail.com > Fixes: fcbb8461fd23 ("kbuild: remove header compile test") > Cc: Masahiro Yamada <masahi...@kernel.org> > Cc: David Airlie <airl...@gmail.com> > Cc: Daniel Vetter <dan...@ffwll.ch> > Signed-off-by: Jani Nikula <jani.nik...@intel.com> > > ---
Linus did not mention anything bad for usr/include/. This crap is unneeded. NACK. > > Cc: linux-kbu...@vger.kernel.org > Cc: dri-de...@lists.freedesktop.org > Cc: intel...@lists.freedesktop.org > Cc: intel-gfx@lists.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