diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2020-03-04 12:20:38 +0900 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2020-03-13 10:04:36 +0900 |
commit | 9dffecc1339b1f446213a9ba2f19579d9db4d7c7 (patch) | |
tree | 19926480a9bc4fddb560eec79e7ec2a0d78ccd04 | |
parent | e10c4321dc1e017e472c3fa40bb4e93355921e67 (diff) |
kbuild: allow to run dt_binding_check without kernel configuration
The dt_binding_check target is located outside of the
'ifneq ($(dtstree),) ... endif' block.
So, you can run 'make dt_binding_check' on any architecture.
This makes a perfect sense because the dt-schema is arch-agnostic.
The only one problem I see is that scripts/dtc/dtc is not always built.
For example, ARCH=x86 defconfig does not define CONFIG_DTC. Kbuild
descends into scripts/dtc/ with doing nothing. Then, it fails to build
*.example.dt.yaml files.
Let's build scripts/dtc/dtc forcibly when running dt_binding_check.
The dt-schema does not depend on any CONFIG option either, so you
should be able to run dt_binding_check without the .config file.
Going forward, you can directly run 'make dt_binding_check' in a
pristine source tree.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | scripts/dtc/Makefile | 5 |
2 files changed, 4 insertions, 3 deletions
@@ -255,7 +255,7 @@ clean-targets := %clean mrproper cleandocs no-dot-config-targets := $(clean-targets) \ cscope gtags TAGS tags help% %docs check% coccicheck \ $(version_h) headers headers_% archheaders archscripts \ - %asm-generic kernelversion %src-pkg + %asm-generic kernelversion %src-pkg dt_binding_check no-sync-config-targets := $(no-dot-config-targets) install %install \ kernelrelease single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/ diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile index 3acbb410904c..2f3c3a7e1620 100644 --- a/scripts/dtc/Makefile +++ b/scripts/dtc/Makefile @@ -1,8 +1,9 @@ # SPDX-License-Identifier: GPL-2.0 # scripts/dtc makefile -hostprogs := dtc -always-$(CONFIG_DTC) := $(hostprogs) +hostprogs := dtc +always-$(CONFIG_DTC) += $(hostprogs) +always-$(CHECK_DT_BINDING) += $(hostprogs) dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ srcpos.o checks.o util.o |