image.mk: add a BuildDTB define

Add a Image/BuildDTB command that takes the path to an dts file and
applies the CPP using the default include directories, then uses dtc
to compile the dts as the specified output file.
Additional CPP and DTC flags can be supplied as additional arguments.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46389
v19.07.3_mercusys_ac12_duma
Jonas Gorski 9 years ago
parent 491cfb06d0
commit e7b5dd0e1d

@ -126,6 +126,22 @@ define Image/BuildKernel/MkFIT
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb
endef
# $(1) source dts file
# $(2) target dtb file
# $(3) extra CPP flags
# $(4) extra DTC flags
define Image/BuildDTB
$(CPP) -nostdinc -x assembler-with-cpp \
-I$(LINUX_DIR)/arch/$(ARCH)/boot/dts \
-I$(LINUX_DIR)/arch/$(ARCH)/boot/dts/include \
-undef -D__DTS__ $(3) \
-o $(2).tmp $(1)
$(LINUX_DIR)/scripts/dtc/dtc -O dtb \
-i$(dir $(1)) $(4) \
-o $(2) $(2).tmp
$(RM) $(2).tmp
endef
define Image/mkfs/jffs2/sub
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) --pad -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/'
$(call add_jffs2_mark,$(KDIR)/root.jffs2-$(2))

Loading…
Cancel
Save