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