summaryrefslogtreecommitdiff
path: root/scripts/Makefile.build
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2019-06-04 15:42:48 +0300
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-06-15 13:57:02 +0300
commite846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4 (patch)
treeb58f3a2e11125b3ed4f35f0c0c14380e3374b9db /scripts/Makefile.build
parent0315bb7a25267bfeee2a7aaed5d1b4ba915e0c53 (diff)
downloadlinux-e846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4.tar.xz
kbuild: add support for ensuring headers are self-contained
Sometimes it's useful to be able to explicitly ensure certain headers remain self-contained, i.e. that they are compilable as standalone units, by including and/or forward declaring everything they depend on. Add special target header-test-y where individual Makefiles can add headers to be tested if CONFIG_HEADER_TEST is enabled. This will generate a dummy C file per header that gets built as part of extra-y. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/Makefile.build')
-rw-r--r--scripts/Makefile.build9
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index ae9cf740633e..ee0319560513 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -294,6 +294,15 @@ quiet_cmd_cc_lst_c = MKLST $@
$(obj)/%.lst: $(src)/%.c FORCE
$(call if_changed_dep,cc_lst_c)
+# Dummy C sources for header test (header-test-y target)
+# ---------------------------------------------------------------------------
+
+quiet_cmd_header_test = HDRTEST $@
+ cmd_header_test = echo "\#include \"$*.h\"" > $@
+
+$(obj)/%.hdrtest.c:
+ $(call cmd,header_test)
+
# Compile assembler sources (.S)
# ---------------------------------------------------------------------------