[PATCH 4/5] kbuild: uapi: split out command conditions into variables

Thomas Weißschuh
2025-12-23T07:04:20Z

The condition logic will become a bit more complicated.

Split them out into dedicated variables so they stay readable.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
usr/include/Makefile | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/usr/include/Makefile b/usr/include/Makefile
index fd29c11c35cb..fa01bcda21f5 100644
--- a/usr/include/Makefile
+++ b/usr/include/Makefile
@@ -150,12 +150,15 @@ endif

always-y := $(patsubst $(obj)/%.h,%.hdrtest, $(shell find $(obj) -name '*.h' 2>/dev/null))

+target-no-libc = $(filter-out $(uses-libc), $*.h)
+target-can-compile = $(filter-out $(no-header-test), $*.h)
+
# Include the header twice to detect missing include guard.
quiet_cmd_hdrtest = HDRTEST $<
cmd_hdrtest = \
$(CC) $(c_flags) -fsyntax-only -Werror -x c /dev/null \
- $(if $(filter-out $(uses-libc), $*.h), -nostdinc) \
- $(if $(filter-out $(no-header-test), $*.h), -include $< -include $<); \
+ $(if $(target-no-libc), -nostdinc) \
+ $(if $(target-can-compile), -include $< -include $<); \
$(PERL) $(src)/headers_check.pl $(obj) $<; \
touch $@

--
2.52.0