Module Name: src
Committed By: jmcneill
Date: Thu Sep 7 21:22:19 UTC 2017
Modified Files:
src/sys/conf: dts.mk
Log Message:
Add support for building dts files from multiple paths, idea from christos
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/conf/dts.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/conf/dts.mk
diff -u src/sys/conf/dts.mk:1.2 src/sys/conf/dts.mk:1.3
--- src/sys/conf/dts.mk:1.2 Sat Jul 15 15:53:48 2017
+++ src/sys/conf/dts.mk Thu Sep 7 21:22:19 2017
@@ -1,32 +1,46 @@
-# $NetBSD: dts.mk,v 1.2 2017/07/15 15:53:48 christos Exp $
+# $NetBSD: dts.mk,v 1.3 2017/09/07 21:22:19 jmcneill Exp $
-DTSINC?=$S/external/gpl2/dts/dist/include
-DTSGNUPATH?=$S/external/gpl2/dts/dist/arch/${MACHINE_CPU}/boot/dts
-DTSPATH?=$S/arch/${MACHINE_CPU}/dts
+DTSARCH?=${MACHINE_CPU}
+DTSGNUARCH?=${DTSARCH}
DTSPADDING?=1024
+DTSINC?=$S/external/gpl2/dts/dist/include
+.for _arch in ${DTSARCH}
+DTSDIR+=$S/arch/${_arch}/dts
+.endfor
+.for _arch in ${DTSGNUARCH}
+DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts
+.for _dir in ${DTSSUBDIR}
+.if exists($S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir})
+DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${_dir}
+.endif
+.endfor
+.endfor
+
+DTSPATH=${DTSINC} ${DTSDIR}
+
.SUFFIXES: .dtd .dtb .dts
.dts.dtd:
- (${CPP} -P -xassembler-with-cpp -I ${DTSINC} -I ${DTSPATH} \
- -I ${DTSGNUPATH} -include ${.IMPSRC} /dev/null | \
- ${TOOL_DTC} -i ${DTSINC} -i ${DTSPATH} -i ${DTSGNUPATH} -I dts -O dtb \
+ (${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
+ -include ${.IMPSRC} /dev/null | \
+ ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \
-p ${DTSPADDING} -b 0 -o /dev/null -d /dev/stdout | \
${TOOL_SED} -e 's@/dev/null@${.TARGET:.dtd=.dtb}@' \
-e 's@<stdin>@${.IMPSRC}@' && \
- ${CPP} -P -xassembler-with-cpp -I ${DTSINC} -I ${DTSPATH} \
- -I ${DTSGNUPATH} -include ${.IMPSRC} -M /dev/null | \
+ ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
+ -include ${.IMPSRC} -M /dev/null | \
${TOOL_SED} -e '[email protected]@${.TARGET:.dtd=.dtb}@' \
-e 's@/dev/null@@') > ${.TARGET}
.dts.dtb:
- ${CPP} -P -xassembler-with-cpp -I ${DTSINC} -I ${DTSPATH} \
- -I ${DTSGNUPATH} -include ${.IMPSRC} /dev/null | \
- ${TOOL_DTC} -i ${DTSINC} -i ${DTSPATH} -i ${DTSGNUPATH} -I dts -O dtb \
+ ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \
+ -include ${.IMPSRC} /dev/null | \
+ ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \
-p ${DTSPADDING} -b 0 -o ${.TARGET}
-.PATH.dts: ${DTSPATH} ${DTSGNUPATH}
+.PATH.dts: ${DTSDIR}
DEPS+= ${DTS:.dts=.dtd}
DTB= ${DTS:.dts=.dtb}