OSDN Git Service

scripts: Makefile: add support to compile DT overlay blobs
authorShashank Mittal <mittals@codeaurora.org>
Fri, 10 Feb 2017 22:52:32 +0000 (14:52 -0800)
committerShashank Mittal <mittals@codeaurora.org>
Thu, 6 Apr 2017 18:22:41 +0000 (11:22 -0700)
Add support to compile device tree overlay blob.
'dtbo-y' target can be used to specify DT overlay blob.
'<target>-obj'  must be specified to list base and overlay blobs.

Change-Id: Ib5036c70ba46374619cc43f9f7b697e1a444aebf
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
scripts/Makefile.build
scripts/Makefile.dtbo [new file with mode: 0644]

index 01df30a..45473ca 100644 (file)
@@ -64,6 +64,11 @@ ifneq ($(hostprogs-y)$(hostprogs-m),)
 include scripts/Makefile.host
 endif
 
+# Do not include host rules unless needed
+ifneq ($(dtbo-y),)
+include scripts/Makefile.dtbo
+endif
+
 ifneq ($(KBUILD_SRC),)
 # Create output directory if not already present
 _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
diff --git a/scripts/Makefile.dtbo b/scripts/Makefile.dtbo
new file mode 100644 (file)
index 0000000..db4a0f4
--- /dev/null
@@ -0,0 +1,24 @@
+__dtbo := $(sort $(dtbo-y))
+
+dtbo-base      := $(sort $(foreach m,$(__dtbo),$($(m)-base)))
+dtbo := $(foreach m,$(__dtbo),$(if $($(m)-base),$(m)))
+
+__dtbo     := $(addprefix $(obj)/,$(__dtbo))
+dtbo-base      := $(addprefix $(obj)/,$(dtbo-base))
+dtbo   := $(addprefix $(obj)/,$(dtbo))
+
+ifneq ($(DTC_OVERLAY_TEST_EXT),)
+DTC_OVERLAY_TEST = $(DTC_OVERLAY_TEST_EXT)
+quiet_cmd_dtbo_verify  = VERIFY  $@
+cmd_dtbo_verify = $(DTC_OVERLAY_TEST) $(addprefix $(obj)/,$($(@F)-base)) $@ $(dot-target).dtb
+else
+cmd_dtbo_verify = true
+endif
+
+$(obj)/%.dtbo: $(src)/%.dts FORCE
+       $(call if_changed_dep,dtc)
+       $(call if_changed,dtbo_verify)
+
+$(call multi_depend, $(dtbo), , -base)
+
+always +=  $(dtbo)