dts.mk revision 1.3
1# $NetBSD: dts.mk,v 1.3 2017/09/07 21:22:19 jmcneill Exp $
2
3DTSARCH?=${MACHINE_CPU}
4DTSGNUARCH?=${DTSARCH}
5DTSPADDING?=1024
6
7DTSINC?=$S/external/gpl2/dts/dist/include
8.for _arch in ${DTSARCH}
9DTSDIR+=$S/arch/${_arch}/dts
10.endfor
11.for _arch in ${DTSGNUARCH}
12DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts
13.for _dir in ${DTSSUBDIR}
14.if exists($S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir})
15DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir}
16.endif
17.endfor
18.endfor
19
20DTSPATH=${DTSINC} ${DTSDIR}
21
22.SUFFIXES: .dtd .dtb .dts
23
24.dts.dtd:
25	(${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
26	    -include ${.IMPSRC} /dev/null | \
27	${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \
28	    -p ${DTSPADDING} -b 0 -o /dev/null -d /dev/stdout | \
29	${TOOL_SED} -e 's@/dev/null@${.TARGET:.dtd=.dtb}@' \
30	    -e 's@<stdin>@${.IMPSRC}@' && \
31	${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
32	    -include ${.IMPSRC} -M /dev/null | \
33	${TOOL_SED} -e 's@null.o@${.TARGET:.dtd=.dtb}@' \
34	    -e 's@/dev/null@@') > ${.TARGET}
35
36
37.dts.dtb:
38	${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
39	    -include ${.IMPSRC} /dev/null | \
40	${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \
41	    -p ${DTSPADDING} -b 0 -o ${.TARGET}
42
43.PATH.dts: ${DTSDIR}
44
45DEPS+= ${DTS:.dts=.dtd}
46DTB= ${DTS:.dts=.dtb}
47
48all: ${DTB}
49