$(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \
-I$(DTS_DIR) \
-I$(DTS_DIR)/include \
+ -I$(LINUX_DIR)/include/ \
-undef -D__DTS__ $(3) \
-o $(2).tmp $(1)
$(LINUX_DIR)/scripts/dtc/dtc -O dtb \
endef
+ifndef IB
+define Device/Build/dtb
+ ifndef BUILD_DTS_$(1)
+ BUILD_DTS_$(1) := 1
+ $(KDIR)/image-$(1).dtb: FORCE
+ $(call Image/BuildDTB,$(strip $(2))/$(1).dts,$$@)
+
+ image_prepare: $(KDIR)/image-$(1).dtb
+ endif
+
+endef
+endif
+
define Device/Build/kernel
+ $$(eval $$(foreach dts,$$(DEVICE_DTS), \
+ $$(call Device/Build/dtb,$$(dts), \
+ $$(if $$(DEVICE_DTS_DIR),$$(DEVICE_DTS_DIR),$$(DTS_DIR)) \
+ ) \
+ ))
+
$(KDIR)/$$(KERNEL_NAME):: image_prepare
$$(_TARGET): $$(if $$(KERNEL_INSTALL),$(BIN_DIR)/$$(KERNEL_IMAGE))
$(call Device/Export,$$(KDIR_KERNEL_IMAGE),$(1))