summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.lib
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 19:57:02 +0900
commite846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4 (patch)
treeb58f3a2e11125b3ed4f35f0c0c14380e3374b9db /scripts/Makefile.lib
parent0315bb7a25267bfeee2a7aaed5d1b4ba915e0c53 (diff)
downloadlinux-e846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4.tar.gz
linux-e846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4.tar.bz2
linux-e846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4.zip
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.lib')
-rw-r--r--scripts/Makefile.lib3
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index f1f38c8cdc74..3e630fcaffd1 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -66,6 +66,9 @@ extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y))
extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-))
endif
+# Test self-contained headers
+extra-$(CONFIG_HEADER_TEST) += $(patsubst %.h,%.hdrtest.o,$(header-test-y))
+
# Add subdir path
extra-y := $(addprefix $(obj)/,$(extra-y))