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