kbuild: Support generated asm-headers in subdirectories

Extend the asm-header stub generation to also handle subdirectories.
An upcoming vdso/ header refactoring requires this.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260724-vdso-arch-clockmodes-v4-1-ddbe447be860@linutronix.de
This commit is contained in:
Thomas Weißschuh
2026-07-24 15:36:18 +02:00
committed by Thomas Gleixner
parent ecacc9c8d3
commit 2d69b891e6

View File

@@ -48,14 +48,13 @@ syscall-y := $(addprefix $(obj)/, $(syscall-y))
generated-y := $(addprefix $(obj)/, $(generated-y))
# Remove stale wrappers when the corresponding files are removed from generic-y
old-headers := $(wildcard $(obj)/*.h)
old-headers := $(shell test -d $(obj) && find $(obj) -name *.h)
unwanted := $(filter-out $(generic-y) $(generated-y) $(syscall-y),$(old-headers))
quiet_cmd_wrap = WRAP $@
cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
filechk_wrap = echo "\#include <asm-generic/$*.h>"
quiet_cmd_remove = REMOVE $(unwanted)
cmd_remove = rm -f $(unwanted)
cmd_remove = rm -f $(unwanted); find $(obj) -type d -empty -delete
quiet_cmd_syshdr = SYSHDR $@
cmd_syshdr = $(CONFIG_SHELL) $(syshdr) \
@@ -74,8 +73,8 @@ all: $(generic-y) $(syscall-y)
$(if $(unwanted),$(call cmd,remove))
@:
$(obj)/%.h: $(srctree)/$(generic)/%.h
$(call cmd,wrap)
$(obj)/%.h: $(srctree)/$(generic)/%.h FORCE
$(call filechk,wrap)
$(obj)/unistd_%.h: $(syscalltbl) $(syshdr) FORCE
$(call if_changed,syshdr)