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