make: Use shell script to generate .dtb.S files
Using shell in make to generate an assembly file is not very readable and extendable. Add an external shell script instead. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
0a1167029d
commit
7b0d00c465
|
@ -210,21 +210,9 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
|
|||
|
||||
# Generate an assembly file to wrap the output of the device tree compiler
|
||||
quiet_cmd_dt_S_dtb = DTB $@
|
||||
cmd_dt_S_dtb= \
|
||||
( \
|
||||
echo '\#include <asm-generic/barebox.lds.h>'; \
|
||||
echo '.section .dtb.rodata.$(subst -,_,$(*F)),"a"'; \
|
||||
echo '.balign STRUCT_ALIGNMENT'; \
|
||||
echo '.global __dtb_$(subst -,_,$(*F))_start'; \
|
||||
echo '__dtb_$(subst -,_,$(*F))_start:'; \
|
||||
echo '.incbin "$<" '; \
|
||||
echo '__dtb_$(subst -,_,$(*F))_end:'; \
|
||||
echo '.global __dtb_$(subst -,_,$(*F))_end'; \
|
||||
echo '.balign STRUCT_ALIGNMENT'; \
|
||||
) > $@
|
||||
|
||||
$(obj)/%.dtb.S: $(obj)/%.dtb
|
||||
$(call cmd,dt_S_dtb)
|
||||
cmd_dt_S_dtb = $(srctree)/scripts/gen-dtb-s $(subst -,_,$(*F)) $< > $@
|
||||
$(obj)/%.dtb.S: $(obj)/%.dtb $(srctree)/scripts/gen-dtb-s FORCE
|
||||
$(call if_changed,dt_S_dtb)
|
||||
|
||||
quiet_cmd_dtc = DTC $@
|
||||
cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
name=$1
|
||||
dtb=$2
|
||||
|
||||
echo "#include <asm-generic/barebox.lds.h>"
|
||||
echo ".section .dtb.rodata.${name},\"a\""
|
||||
echo ".balign STRUCT_ALIGNMENT"
|
||||
echo ".global __dtb_${name}_start"
|
||||
echo "__dtb_${name}_start:"
|
||||
echo ".incbin \"$dtb\""
|
||||
echo "__dtb_${name}_end:"
|
||||
echo ".global __dtb_${name}_end"
|
||||
echo ".balign STRUCT_ALIGNMENT"
|
Loading…
Reference in New Issue