diff options
-rw-r--r-- | rules/dtc.make | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/rules/dtc.make b/rules/dtc.make index f8fb9c8da..fb5e97b22 100644 --- a/rules/dtc.make +++ b/rules/dtc.make @@ -21,12 +21,22 @@ DTC_VERSION := 1.0.0 # Target-Install # ---------------------------------------------------------------------------- -$(STATEDIR)/dtc.targetinstall: +ptx/dtb = $(notdir $(basename $(strip $(1)))).dtb + +# .dtb depends on the .dts and dtc.install for all other dependencies +$(foreach dts, $(call remove_quotes,$(PTXCONF_DTC_OFTREE_DTS)), \ + $(eval $(IMAGEDIR)/$(call ptx/dtb, $(dts)): $(dts) $(STATEDIR)/dtc.install)) + +%.dtb: @$(call targetinfo) - $(PTXCONF_SYSROOT_HOST)/bin/dtc \ + @$(PTXCONF_SYSROOT_HOST)/bin/dtc \ $(call remove_quotes,$(PTXCONF_DTC_EXTRA_ARGS)) \ - -I dts -O dtb -o $(IMAGEDIR)/oftree \ - $(PTXCONF_DTC_OFTREE_DTS) + -I dts -O dtb -o "$@" "$<" + +DTC_DTB = $(foreach dts, $(call remove_quotes,$(PTXCONF_DTC_OFTREE_DTS)), $(IMAGEDIR)/$(call ptx/dtb, $(dts))) + +$(STATEDIR)/dtc.targetinstall: $(DTC_DTB) + @$(call targetinfo) ifdef PTXCONF_DTC_INSTALL_OFTREE @$(call install_init, dtc) @@ -36,7 +46,9 @@ ifdef PTXCONF_DTC_INSTALL_OFTREE @$(call install_fixup, dtc, DESCRIPTION, "oftree description for machine $(PTXCONF_PROJECT_VERSION)") @$(call install_copy, dtc, 0, 0, 0755, /boot); - @$(call install_copy, dtc, 0, 0, 0644, $(IMAGEDIR)/oftree, /boot/oftree); + @$(foreach dtb, $(DTC_DTB), \ + $(call install_copy, dtc, 0, 0, 0644, \ + "$(dtb)", "/boot/$(notdir $(dtb))");) @$(call install_finish, dtc) endif |