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