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