Makefile.inc revision 1.111 1 # $NetBSD: Makefile.inc,v 1.111 2019/10/30 22:31:06 jmcneill Exp $
2 #
3 # etc.evbarm/Makefile.inc -- evbarm-specific etc Makefile targets
4 #
5
6 MKIMAGE= ${NETBSDSRCDIR}/distrib/utils/embedded/mkimage
7
8 # If you change the list of distributed kernels, don't forget
9 # to update the release documentation in distrib/notes/common/contents
10 EVBARM_BOARDS=
11 .for i in armv4 xscale armv5t armv6 armv7 arm64
12 EVBARM_BOARDS.${i}=
13 .endfor
14
15 .if !empty(MACHINE_ARCH:M*eb)
16 IMAGEENDIAN= be
17 # big endian boards
18 KERNEL_SETS.armv4+= IXM1200
19
20 EVBARM_BOARDS.xscale+= ADI_BRH
21 KERNEL_SETS.xscale+= NSLU2
22
23 EVBARM_BOARDS.armv7+= BCM5301X
24 EVBARM_BOARDS.armv7hf+= BCM5301X
25 #EVBARM_BOARDS.armv7+= BCM56340
26 #EVBARM_BOARDS.armv7hf+= BCM56340
27 .else
28 IMAGEENDIAN= le
29 # little endian boards
30 #EVBARM_BOARDS.armv4+= ARMADILLO210
31 #EVBARM_BOARDS.armv4+= ARMADILLO9
32 EVBARM_BOARDS.armv4+= GEMINI
33 EVBARM_BOARDS.armv4+= INTEGRATOR
34 EVBARM_BOARDS.armv4+= INTEGRATOR_CP
35 KERNEL_SETS.armv4+= IXM1200
36 #EVBARM_BOARDS.armv4+= MINI2440
37 #EVBARM_BOARDS.armv4+= MPCSA_GENERIC
38 #EVBARM_BOARDS.armv4+= NAPPI
39 EVBARM_BOARDS.armv4+= SMDK2410
40 EVBARM_BOARDS.armv4+= SMDK2800
41 EVBARM_BOARDS.armv4+= TS7200
42
43 EVBARM_BOARDS.xscale+= ADI_BRH
44 EVBARM_BOARDS.xscale+= CP3100
45 EVBARM_BOARDS.xscale+= GUMSTIX
46 KERNEL_SETS.xscale+= HDL_G
47 EVBARM_BOARDS.xscale+= IQ80310
48 EVBARM_BOARDS.xscale+= IQ80321
49 #EVBARM_BOARDS.xscale+= LUBBOCK
50 EVBARM_BOARDS.xscale+= TEAMASA_NPWR
51 EVBARM_BOARDS.xscale+= TWINTAIL
52 #EVBARM_BOARDS.xscale+= VIPER
53 #EVBARM_BOARDS.xscale+= ZAO425
54
55 #EVBARM_BOARDS.armv5t+= DNS323
56 #EVBARM_BOARDS.armv5t+= HPT5325
57 #EVBARM_BOARDS.armv5t+= IMX21_OLINUXINO
58 EVBARM_BOARDS.armv5t+= KUROBOX_PRO
59 #EVBARM_BOARDS.armv5t+= MARVELL_NAS
60 #EVBARM_BOARDS.armv5t+= MMNET_GENERIC
61 EVBARM_BOARDS.armv5t+= MV2120
62 #EVBARM_BOARDS.armv5t+= OPENBLOCKS_A6
63 EVBARM_BOARDS.armv5t+= OPENRD
64 #EVBARM_BOARDS.armv5t+= OSK5912
65 EVBARM_BOARDS.armv5t+= SHEEVAPLUG
66
67 #EVBARM_BOARDS.armv6+= IMX31LITE
68 #EVBARM_BOARDS.armv6hf+= IMX31LITE
69 EVBARM_BOARDS.armv6+= RPI
70 EVBARM_BOARDS.armv6hf+= RPI
71 KERNEL_SETS.armv6+= RPI2
72 KERNEL_SETS.armv6hf+= RPI2
73 EVBARM_BOARDS.armv6+= TISDP2420
74 EVBARM_BOARDS.armv6hf+= TISDP2420
75 #EVBARM_BOARDS.armv6+= TISDP2430
76
77 EVBARM_BOARDS.armv7+= ARMADAXP
78 EVBARM_BOARDS.armv7hf+= ARMADAXP
79 EVBARM_BOARDS.armv7+= ARMADILLO-IOT-G3
80 EVBARM_BOARDS.armv7hf+= ARMADILLO-IOT-G3
81 EVBARM_BOARDS.armv7+= BCM5301X
82 EVBARM_BOARDS.armv7hf+= BCM5301X
83 #EVBARM_BOARDS.armv7+= BCM56340
84 #EVBARM_BOARDS.armv7hf+= BCM56340
85 EVBARM_BOARDS.armv7+= BEAGLEBOARDXM
86 EVBARM_BOARDS.armv7hf+= BEAGLEBOARDXM
87 EVBARM_BOARDS.armv7+= CUBOX
88 EVBARM_BOARDS.armv7hf+= CUBOX
89 EVBARM_BOARDS.armv7+= CUBOX-I
90 EVBARM_BOARDS.armv7hf+= CUBOX-I
91 #EVBARM_BOARDS.armv7+= IGEPV2
92 EVBARM_BOARDS.armv7+= IMX6UL-STARTER
93 EVBARM_BOARDS.armv7hf+= IMX6UL-STARTER
94 EVBARM_BOARDS.armv7+= KOBO
95 EVBARM_BOARDS.armv7hf+= KOBO
96 EVBARM_BOARDS.armv7+= MIRABOX
97 EVBARM_BOARDS.armv7hf+= MIRABOX
98 #EVBARM_BOARDS.armv7+= N900
99 EVBARM_BOARDS.armv7+= NETWALKER
100 EVBARM_BOARDS.armv7hf+= NETWALKER
101 EVBARM_BOARDS.armv7+= OMAP5EVM
102 EVBARM_BOARDS.armv7hf+= OMAP5EVM
103 EVBARM_BOARDS.armv7+= OVERO
104 EVBARM_BOARDS.armv7hf+= OVERO
105 EVBARM_BOARDS.armv7+= PANDABOARD
106 EVBARM_BOARDS.armv7hf+= PANDABOARD
107
108 KERNEL_SETS.arm64+= GENERIC64
109 .endif
110
111 IMAGE.rel= ${RELEASEDIR}/${RELEASEMACHINEDIR}
112 IMAGE.dir= ${IMAGE.rel}/binary/gzimg
113 IMAGE.kern= ${IMAGE.rel}/binary/kernel
114 IMAGE.instk= ${IMAGE.rel}/installation/instkernel
115
116 __mkimage: .USE
117 TOOL_MAKE=${MAKE} \
118 TOOL_MAKEFS=${TOOL_MAKEFS} \
119 TOOL_DISKLABEL=${TOOL_DISKLABEL} \
120 TOOL_FDISK=${TOOL_FDISK} \
121 TOOL_GZIP=${TOOL_GZIP} \
122 TOOL_MKNOD=${TOOL_MKNOD} \
123 TOOL_PAX=${TOOL_PAX} \
124 TOOL_MKUBOOTIMAGE=${TOOL_MKUBOOTIMAGE} \
125 TOOL_MTREE=${TOOL_MTREE} \
126 HOST_SH=${HOST_SH} \
127 KERNOBJDIR=${KERNOBJDIR} \
128 MACHINE=${MACHINE} \
129 ${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \
130 -S ${NETBSDSRCDIR} -B ${IMAGEENDIAN} ${MKI_OPTS.${.TARGET}} \
131 ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz
132
133 ARCHES.arm= armv4 xscale armv5t armv6 armv7
134 ARCHES.armeb= armv4 xscale armv5t armv6
135 ARCHES.earm= armv4 xscale armv5t armv6 armv7
136 ARCHES.earmeb= armv4 xscale armv5t armv6
137 ARCHES.earmhf= armv6hf armv7hf
138 ARCHES.earmhfeb= armv6hf
139 ARCHES.earmv4= armv4
140 ARCHES.earmv4eb= armv4
141 ARCHES.earmv5= xscale armv5t
142 ARCHES.earmv5eb= xscale armv5t
143 ARCHES.earmv6= armv6
144 ARCHES.earmv6hf= armv6hf
145 ARCHES.earmv6eb= armv6
146 ARCHES.earmv6hfeb= armv6hf
147 ARCHES.earmv7= armv7
148 ARCHES.earmv7hf= armv7hf
149 ARCHES.earmv7eb= armv7
150 ARCHES.earmv7hfeb= armv7hf
151 ARCHES.aarch64= arm64
152 .for arch in ${ARCHES.${MACHINE_ARCH}}
153 .for board in ${EVBARM_BOARDS.${arch}}
154 KERNEL_SETS+= ${board}
155 BUILD_KERNELS+= ${board}_INSTALL
156 .endfor
157 KERNEL_SETS+= ${KERNEL_SETS.${arch}}
158 .endfor
159
160 .if !empty(MACHINE_ARCH:Mearmv7*)
161 KERNEL_SETS+= GENERIC
162 .endif
163
164 .if !empty(MACHINE_ARCH:Maarch64)
165 smp_efibootaa64:
166 cd ${KERNSRCDIR}/stand/efiboot/bootaa64 && ${MAKE} release
167 SNAP_MD_POST_DEPS+= smp_efibootaa64
168 INSTALLATION_DIRS+= installation/misc
169 .endif
170
171 .if !empty(MACHINE_ARCH:Mearmv7hf)
172 smp_efibootarm:
173 cd ${KERNSRCDIR}/stand/efiboot/bootarm && ${MAKE} release
174 SNAP_MD_POST_DEPS+= smp_efibootarm
175 INSTALLATION_DIRS+= installation/misc
176 .endif
177
178 .if !empty(MACHINE_ARCH:M*armv7*) && empty(ALL_KERNELS)
179 smp_armv7: __mkimage
180 MKI_OPTS.smp_armv7= -K ${IMAGE.kern}
181 SNAP_MD_POST_DEPS+= smp_armv7
182 .endif
183
184 .if !empty(MACHINE_ARCH:Maarch64) && empty(ALL_KERNELS)
185 smp_arm64: __mkimage
186 MKI_OPTS.smp_arm64= -K ${IMAGE.kern}
187 SNAP_MD_POST_DEPS+= smp_arm64
188 .endif
189
190 .if !empty(KERNEL_SETS:MRPI)
191 smp_rpi: __mkimage
192 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI)
193 MKI_OPTS.smp_rpi= -K ${IMAGE.kern}/netbsd-RPI.img.gz
194 SNAP_MD_POST_DEPS+= smp_rpi
195 .endif
196 smp_rpi_inst: ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz __mkimage
197 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI_INSTALL)
198 MKI_OPTS.smp_rpi_inst= -b -K ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz
199 SNAP_MD_POST_DEPS+= smp_rpi_inst
200 .endif
201 .endif
202
203 snap_md_post: check_DESTDIR check_RELEASEDIR snap_post .WAIT ${SNAP_MD_POST_DEPS}
204
205 KERNEL_SUFFIXES= bin img srec ub
206
207 INSTALLATION_DIRS+= binary/gzimg \
208 installation/instkernel
209