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