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