1 # $NetBSD: dts.mk,v 1.12 2019/04/24 20:53:10 christos Exp $ 2 3 DTSARCH?=${MACHINE_CPU} 4 DTSGNUARCH?=${DTSARCH} 5 DTSPADDING?=1024 6 7 .if !make(obj) && !make(clean) && !make(cleandir) 8 .BEGIN:: 9 -@mkdir -p dts 10 .for _arch in ${DTSGNUARCH} 11 -@ln -snf ${S:S@^../@../../@}/external/gpl2/dts/dist/arch/${_arch}/boot/dts dts/${_arch} 12 .endfor 13 .endif 14 15 DTSINC?=$S/external/gpl2/dts/dist/include 16 .for _arch in ${DTSARCH} 17 DTSDIR+=$S/arch/${_arch}/dts 18 .endfor 19 .for _arch in ${DTSGNUARCH} 20 DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts 21 .for _dir in ${DTSSUBDIR} 22 .if exists($S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir}) 23 DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir} 24 .endif 25 .endfor 26 .endfor 27 28 DTSPATH=${DTSINC} ${DTSDIR} ${DTS_OVERLAYDIR} dts 29 30 .SUFFIXES: .dtd .dtdo .dtb .dtbo .dts 31 32 .dts.dtd: 33 (${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 34 -include ${.IMPSRC} /dev/null | \ 35 ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \ 36 -p ${DTSPADDING} -b 0 -@ -o /dev/null -d /dev/stdout | \ 37 ${TOOL_SED} -e 's@/dev/null@${.TARGET:.dtd=.dtb}@' \ 38 -e 's@<stdin>@${.IMPSRC}@' && \ 39 ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 40 -include ${.IMPSRC} -M /dev/null | \ 41 ${TOOL_SED} -e 's (a] null.o@${.TARGET:.dtd=.dtb}@' \ 42 -e 's@/dev/null@@') > ${.TARGET} 43 44 .dts.dtdo: 45 (${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 46 -include ${.IMPSRC} /dev/null | \ 47 ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \ 48 -@ -o /dev/null -d /dev/stdout | \ 49 ${TOOL_SED} -e 's@/dev/null@${.TARGET:.dtdo=.dtbo}@' \ 50 -e 's@<stdin>@${.IMPSRC}@' && \ 51 ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 52 -include ${.IMPSRC} -M /dev/null | \ 53 ${TOOL_SED} -e 's (a] null.o@${.TARGET:.dtdo=.dtbo}@' \ 54 -e 's@/dev/null@@') > ${.TARGET} 55 56 .dts.dtb: 57 ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 58 -include ${.IMPSRC} /dev/null | \ 59 ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \ 60 -p ${DTSPADDING} -b 0 -@ -o ${.TARGET} 61 62 .dts.dtbo: 63 ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 64 -include ${.IMPSRC} /dev/null | \ 65 ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \ 66 -@ -o ${.TARGET} 67 68 .PATH.dts: ${DTSDIR} ${DTS_OVERLAYDIR} 69 70 DEPS+= ${DTS:.dts=.dtd} 71 DEPS+= ${DTS_OVERLAYS:.dts=.dtdo} 72 DTB= ${DTS:.dts=.dtb} 73 DTBO= ${DTS_OVERLAYS:.dts=.dtbo} 74 75 all: ${DTB} ${DTBO} 76