Makefile.inc revision 1.75 1 # $NetBSD: Makefile.inc,v 1.75 2015/05/15 06:51:24 matt 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
12 EVBARM_BOARDS.${i}=
13 .endfor
14
15 .if !empty(MACHINE_ARCH:M*eb)
16 # big endian boards
17 KERNEL_SETS.armv4+= IXM1200
18 EVBARM_BOARDS.xscale+= ADI_BRH
19 KERNEL_SETS.xscale+= NSLU2
20 EVBARM_BOARDS.armv7+= ALLWINNER_A80
21 EVBARM_BOARDS.armv7hf+= ALLWINNER_A80
22 EVBARM_BOARDS.armv7+= BCM5301X
23 EVBARM_BOARDS.armv7hf+= BCM5301X
24 #EVBARM_BOARDS.armv7+= BCM56340
25 #EVBARM_BOARDS.armv7hf+= BCM56340
26 EVBARM_BOARDS.armv7+= BPI
27 EVBARM_BOARDS.armv7hf+= BPI
28 EVBARM_BOARDS.armv7+= CUBIEBOARD
29 EVBARM_BOARDS.armv7hf+= CUBIEBOARD
30 EVBARM_BOARDS.armv7+= CUBIETRUCK
31 EVBARM_BOARDS.armv7hf+= CUBIETRUCK
32 EVBARM_BOARDS.armv7+= HUMMINGBIRD_A31
33 EVBARM_BOARDS.armv7hf+= HUMMINGBIRD_A31
34 .else
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 EVBARM_BOARDS.xscale+= ADI_BRH
49 EVBARM_BOARDS.xscale+= CP3100
50 EVBARM_BOARDS.xscale+= GUMSTIX
51 KERNEL_SETS.xscale+= HDL_G
52 EVBARM_BOARDS.xscale+= IQ80310
53 EVBARM_BOARDS.xscale+= IQ80321
54 #EVBARM_BOARDS.xscale+= LUBBOCK
55 EVBARM_BOARDS.xscale+= TEAMASA_NPWR
56 EVBARM_BOARDS.xscale+= TWINTAIL
57 #EVBARM_BOARDS.xscale+= VIPER
58 #EVBARM_BOARDS.xscale+= ZAO425
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 #EVBARM_BOARDS.armv6+= IMX31LITE
71 #EVBARM_BOARDS.armv6hf+= IMX31LITE
72 EVBARM_BOARDS.armv6+= RPI
73 EVBARM_BOARDS.armv6hf+= RPI
74 KERNEL_SETS.armv6+= RPI2
75 KERNEL_SETS.armv6hf+= RPI2
76 EVBARM_BOARDS.armv6+= TISDP2420
77 EVBARM_BOARDS.armv6hf+= TISDP2420
78 #EVBARM_BOARDS.armv6+= TISDP2430
79 EVBARM_BOARDS.armv7+= ALLWINNER_A80
80 EVBARM_BOARDS.armv7hf+= ALLWINNER_A80
81 EVBARM_BOARDS.armv7+= ARMADAXP
82 EVBARM_BOARDS.armv7hf+= ARMADAXP
83 EVBARM_BOARDS.armv7+= BCM5301X
84 EVBARM_BOARDS.armv7hf+= BCM5301X
85 #EVBARM_BOARDS.armv7+= BCM56340
86 #EVBARM_BOARDS.armv7hf+= BCM56340
87 EVBARM_BOARDS.armv7+= BEAGLEBOARD
88 EVBARM_BOARDS.armv7hf+= BEAGLEBOARD
89 EVBARM_BOARDS.armv7+= BEAGLEBOARDXM
90 EVBARM_BOARDS.armv7hf+= BEAGLEBOARDXM
91 EVBARM_BOARDS.armv7+= BEAGLEBONE
92 EVBARM_BOARDS.armv7hf+= BEAGLEBONE
93 EVBARM_BOARDS.armv7+= BPI
94 EVBARM_BOARDS.armv7hf+= BPI
95 EVBARM_BOARDS.armv7+= CUBIEBOARD
96 EVBARM_BOARDS.armv7hf+= CUBIEBOARD
97 EVBARM_BOARDS.armv7+= CUBIETRUCK
98 EVBARM_BOARDS.armv7hf+= CUBIETRUCK
99 EVBARM_BOARDS.armv7+= HUMMINGBIRD_A31
100 EVBARM_BOARDS.armv7hf+= HUMMINGBIRD_A31
101 #EVBARM_BOARDS.armv7+= IGEPV2
102 EVBARM_BOARDS.armv7+= JETSONTK1
103 EVBARM_BOARDS.armv7hf+= JETSONTK1
104 EVBARM_BOARDS.armv7+= KOBO
105 EVBARM_BOARDS.armv7hf+= KOBO
106 EVBARM_BOARDS.armv7+= MIRABOX
107 EVBARM_BOARDS.armv7hf+= MIRABOX
108 #EVBARM_BOARDS.armv7+= N900
109 EVBARM_BOARDS.armv7+= NETWALKER
110 EVBARM_BOARDS.armv7hf+= NETWALKER
111 EVBARM_BOARDS.armv7+= ODROID-C1
112 EVBARM_BOARDS.armv7hf+= ODROID-C1
113 EVBARM_BOARDS.armv7+= OMAP5EVM
114 EVBARM_BOARDS.armv7hf+= OMAP5EVM
115 EVBARM_BOARDS.armv7+= OVERO
116 EVBARM_BOARDS.armv7hf+= OVERO
117 EVBARM_BOARDS.armv7+= PANDABOARD
118 EVBARM_BOARDS.armv7hf+= PANDABOARD
119 EVBARM_BOARDS.armv7+= RPI2
120 EVBARM_BOARDS.armv7hf+= RPI2
121 .endif
122
123 IMAGE.rel= ${RELEASEDIR}/${RELEASEMACHINEDIR}
124 IMAGE.dir= ${IMAGE.rel}/binary/gzimg
125 IMAGE.kern= ${IMAGE.rel}/binary/kernel
126 IMAGE.instk= ${IMAGE.rel}/installation/instkernel
127
128 __mkimage: .USE
129 TOOL_MAKEFS=${TOOL_MAKEFS} \
130 TOOL_DISKLABEL=${TOOL_DISKLABEL} \
131 TOOL_FDISK=${TOOL_FDISK} \
132 TOOL_GZIP=${TOOL_GZIP} \
133 TOOL_MKNOD=${TOOL_MKNOD} \
134 TOOL_PAX=${TOOL_PAX} \
135 TOOL_MTREE=${TOOL_MTREE} \
136 HOST_SH=${HOST_SH} \
137 ${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \
138 -S ${NETBSDSRCDIR} ${MKI_OPTS.${.TARGET}} \
139 ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz
140
141 ARCHES.arm= armv4 xscale armv5t armv6 armv7
142 ARCHES.armeb= armv4 xscale armv5t armv6
143 ARCHES.earm= xscale armv5t armv6 armv7
144 ARCHES.earmeb= xscale armv5t armv6
145 ARCHES.earmhf= armv6hf armv7hf
146 ARCHES.earmhfeb= armv6hf
147 ARCHES.earmv4= armv4
148 ARCHES.earmv4eb= armv4
149 ARCHES.earmv5= xscale armv5t
150 ARCHES.earmv5eb= xscale armv5t
151 ARCHES.earmv6= armv6
152 ARCHES.earmv6hf= armv6hf
153 ARCHES.earmv6eb= armv6
154 ARCHES.earmv6hfeb= armv6hf
155 ARCHES.earmv7= armv7
156 ARCHES.earmv7hf= armv7hf
157 ARCHES.earmv7eb= armv7
158 ARCHES.earmv7hfeb= armv7hf
159 .for arch in ${ARCHES.${MACHINE_ARCH}}
160 .for board in ${EVBARM_BOARDS.${arch}}
161 KERNEL_SETS+= ${board}
162 BUILD_KERNELS+= ${board}_INSTALL
163 .endfor
164 KERNEL_SETS+= ${KERNEL_SETS.${arch}}
165 .endfor
166
167 .if !empty(MACHINE_ARCH:M*armv7*) && empty(ALL_KERNELS)
168 smp_armv7: __mkimage
169 MKI_OPTS.smp_armv7= -K ${IMAGE.kern}
170 SNAP_MD_POST_DEPS+= smp_armv7
171 .endif
172
173 .if !empty(KERNEL_SETS:MRPI)
174 smp_rpi: __mkimage
175 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI)
176 MKI_OPTS.smp_rpi= -K ${IMAGE.kern}/netbsd-RPI.bin.gz
177 SNAP_MD_POST_DEPS+= smp_rpi
178 .endif
179 smp_rpi_inst: ${IMAGE.instk}/netbsd-RPI_INSTALL.bin.gz __mkimage
180 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI_INSTALL)
181 MKI_OPTS.smp_rpi_inst= -b -K ${IMAGE.instk}/netbsd-RPI_INSTALL.bin.gz
182 SNAP_MD_POST_DEPS+= smp_rpi_inst
183 .endif
184 .endif
185
186 snap_md_post: check_DESTDIR check_RELEASEDIR snap_post .WAIT ${SNAP_MD_POST_DEPS}
187
188 KERNEL_SUFFIXES= bin srec ub
189
190 INSTALLATION_DIRS+= binary/gzimg \
191 installation/instkernel
192