summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>2026-07-24 15:36:18 +0200
committerThomas Gleixner <tglx@kernel.org>2026-08-10 16:25:21 +0200
commit2d69b891e6461eb3dc9af4741ded915966db4e01 (patch)
tree49147f13bdacb5549b492550c0b52d19f6c0dc7c /scripts
parentecacc9c8d3ed0f63065f4a1e94bfd8bf65a3ffaf (diff)
downloadlinux-2d69b891e6461eb3dc9af4741ded915966db4e01.tar.gz
linux-2d69b891e6461eb3dc9af4741ded915966db4e01.zip
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
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.asm-headers11
1 files changed, 5 insertions, 6 deletions
diff --git a/scripts/Makefile.asm-headers b/scripts/Makefile.asm-headers
index 8a4856e74180..b38931314ad7 100644
--- a/scripts/Makefile.asm-headers
+++ b/scripts/Makefile.asm-headers
@@ -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)