bsd.dtb.mk revision 1.1
1# $NetBSD: bsd.dtb.mk,v 1.1 2020/05/18 21:19:35 jmcneill Exp $ 2 3.include <bsd.init.mk> 4.include <bsd.own.mk> 5 6##### Default values 7.if !defined(S) 8. if defined(NETBSDSRCDIR) 9S= ${NETBSDSRCDIR}/sys 10. elif defined(BSDSRCDIR) 11S= ${BSDSRCDIR}/sys 12. else 13S= /sys 14. endif 15.endif 16 17##### Basic targets 18.PHONY: dtbinstall dtblist dtb 19realinstall: dtbinstall 20realall: dtb 21 22DTSPADDING?= 1024 23 24.if !make(obj) && !make(clean) && !make(cleandir) 25.BEGIN:: 26 -@mkdir -p ${.OBJDIR}/dts 27.for _arch in ${DTSGNUARCH} 28 -@ln -snf ${S:S@^../@../../@}/external/gpl2/dts/dist/arch/${_arch}/boot/dts ${.OBJDIR}/dts/${_arch} 29.endfor 30.endif 31 32DTSINC?=$S/external/gpl2/dts/dist/include 33.for _arch in ${DTSARCH} 34DTSDIR+=$S/arch/${_arch}/dts 35.endfor 36.for _arch in ${DTSGNUARCH} 37DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts 38.if defined(DTSSUBDIR) 39DTSDIR+=$S/external/gpl2/dts/dist/arch/${_arch}/boot/dts/${DTSSUBDIR} 40.endif 41.endfor 42 43DTSPATH=${DTSINC} ${DTSDIR} ${.OBJDIR}/dts 44 45.SUFFIXES: .dtb .dts 46 47.dts.dtb: 48 ${CPP} -P -xassembler-with-cpp ${DTSPATH:@v@-I ${v}@} \ 49 -include ${.IMPSRC} /dev/null | \ 50 ${TOOL_DTC} ${DTSPATH:@v@-i ${v}@} -I dts -O dtb \ 51 -p ${DTSPADDING} -b 0 -@ -o ${.TARGET} 52 53.PATH.dts: ${DTSDIR} 54 55DTB= ${DTS:.dts=.dtb} 56 57dtb: ${DTB} 58 59.if defined(DTSSUBDIR) 60DTBINSTDIR= ${DTBDIR}/${DTSSUBDIR} 61.else 62DTBINSTDIR= ${DTBDIR} 63.endif 64 65dtbinstall: dtb 66 ${INSTALL_DIR} ${DESTDIR}${DTBINSTDIR} 67.for _dtb in ${DTB} 68 ${_MKSHMSG_INSTALL} ${_dtb} 69 ${_MKSHECHO} "${INSTALL_FILE} -o ${DTBOWN} -g ${DTBGRP} -m ${DTBMODE} \ 70 ${.OBJDIR}/${_dtb} ${DESTDIR}${DTBINSTDIR}" 71 ${INSTALL_FILE} -o ${DTBOWN} -g ${DTBGRP} -m ${DTBMODE} \ 72 ${.OBJDIR}/${_dtb} ${DESTDIR}${DTBINSTDIR} 73.endfor 74 75dtblist: 76.if defined(DTSSUBDIR) 77 @echo ".${DTBINSTDIR}\t\tdtb-base-boot\tdtb" 78.endif 79.for _dtb in ${DTB} 80 @echo ".${DTBINSTDIR}/${_dtb}\t\tdtb-base-boot\tdtb" 81.endfor 82 83clean: .PHONY 84 rm -f ${DTB} 85.for _arch in ${DTSGNUARCH} 86 rm -f dts/${_arch} 87.endfor 88 test -d dts && rmdir dts || true 89 90 91##### Pull in related .mk logic 92.include <bsd.obj.mk> 93.include <bsd.kinc.mk> 94