Home | History | Annotate | Line # | Download | only in conf
      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