Makefile.inc revision 1.23.18.3 1 # $NetBSD: Makefile.inc,v 1.23.18.3 2014/05/22 11:27:19 yamt 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+= CUBIEBOARD
25 EVBARM_BOARDS.armv7hf+= CUBIEBOARD
26 .else
27 # little endian boards
28 #EVBARM_BOARDS.armv4+= ARMADILLO210
29 #EVBARM_BOARDS.armv4+= ARMADILLO9
30 EVBARM_BOARDS.armv4+= GEMINI
31 EVBARM_BOARDS.armv4+= INTEGRATOR
32 KERNEL_SETS.armv4+= INTEGRATOR_CP
33 KERNEL_SETS.armv4+= IXM1200
34 #EVBARM_BOARDS.armv4+= MINI2440
35 #EVBARM_BOARDS.armv4+= MPCSA_GENERIC
36 #EVBARM_BOARDS.armv4+= NAPPI
37 EVBARM_BOARDS.armv4+= SMDK2410
38 EVBARM_BOARDS.armv4+= SMDK2800
39 EVBARM_BOARDS.armv4+= TS7200
40 EVBARM_BOARDS.xscale+= ADI_BRH
41 EVBARM_BOARDS.xscale+= CP3100
42 EVBARM_BOARDS.xscale+= GUMSTIX
43 KERNEL_SETS.xscale+= HDL_G
44 EVBARM_BOARDS.xscale+= IQ80310
45 EVBARM_BOARDS.xscale+= IQ80321
46 #EVBARM_BOARDS.xscale+= LUBBOCK
47 EVBARM_BOARDS.xscale+= TEAMASA_NPWR
48 EVBARM_BOARDS.xscale+= TWINTAIL
49 #EVBARM_BOARDS.xscale+= VIPER
50 #EVBARM_BOARDS.xscale+= ZAO425
51 #EVBARM_BOARDS.armv5t+= DNS323
52 #EVBARM_BOARDS.armv5t+= HPT5325
53 #EVBARM_BOARDS.armv5t+= IMX21_OLINUXINO
54 EVBARM_BOARDS.armv5t+= KUROBOX_PRO
55 #EVBARM_BOARDS.armv5t+= MARVELL_NAS
56 #EVBARM_BOARDS.armv5t+= MMNET_GENERIC
57 EVBARM_BOARDS.armv5t+= MV2120
58 #EVBARM_BOARDS.armv5t+= OPENBLOCKS_A6
59 EVBARM_BOARDS.armv5t+= OPENRD
60 #EVBARM_BOARDS.armv5t+= OSK5912
61 EVBARM_BOARDS.armv5t+= SHEEVAPLUG
62 #EVBARM_BOARDS.armv6+= IMX31LITE
63 #EVBARM_BOARDS.armv6hf+= IMX31LITE
64 EVBARM_BOARDS.armv6+= RPI
65 EVBARM_BOARDS.armv6hf+= RPI
66 EVBARM_BOARDS.armv6+= TISDP2420
67 EVBARM_BOARDS.armv6hf+= TISDP2420
68 #EVBARM_BOARDS.armv6+= TISDP2430
69 EVBARM_BOARDS.armv7+= ARMADAXP
70 EVBARM_BOARDS.armv7hf+= ARMADAXP
71 EVBARM_BOARDS.armv7+= BCM5301X
72 EVBARM_BOARDS.armv7hf+= BCM5301X
73 #EVBARM_BOARDS.armv7+= BCM56340
74 #EVBARM_BOARDS.armv7hf+= BCM56340
75 EVBARM_BOARDS.armv7+= BEAGLEBOARD
76 EVBARM_BOARDS.armv7hf+= BEAGLEBOARD
77 EVBARM_BOARDS.armv7+= BEAGLEBOARDXM
78 EVBARM_BOARDS.armv7hf+= BEAGLEBOARDXM
79 EVBARM_BOARDS.armv7+= BEAGLEBONE
80 EVBARM_BOARDS.armv7hf+= BEAGLEBONE
81 EVBARM_BOARDS.armv7+= CUBIEBOARD
82 EVBARM_BOARDS.armv7hf+= CUBIEBOARD
83 #EVBARM_BOARDS.armv7+= IGEPV2
84 EVBARM_BOARDS.armv7+= MIRABOX
85 EVBARM_BOARDS.armv7hf+= MIRABOX
86 #EVBARM_BOARDS.armv7+= N900
87 EVBARM_BOARDS.armv7+= NETWALKER
88 EVBARM_BOARDS.armv7hf+= NETWALKER
89 EVBARM_BOARDS.armv7+= OMAP5EVM
90 EVBARM_BOARDS.armv7hf+= OMAP5EVM
91 #EVBARM_BOARDS.armv7+= OVERO
92 EVBARM_BOARDS.armv7+= PANDABOARD
93 EVBARM_BOARDS.armv7hf+= PANDABOARD
94 .endif
95
96 IMAGE.rel= ${RELEASEDIR}/${RELEASEMACHINEDIR}
97 IMAGE.dir= ${IMAGE.rel}/binary/gzimg
98 IMAGE.kern= ${IMAGE.rel}/binary/kernel
99 IMAGE.instk= ${IMAGE.rel}/installation/instkernel
100
101 __mkimage: .USE
102 TOOL_MAKEFS=${TOOL_MAKEFS} \
103 TOOL_DISKLABEL=${TOOL_DISKLABEL} \
104 TOOL_FDISK=${TOOL_FDISK} \
105 TOOL_GZIP=${TOOL_GZIP} \
106 TOOL_MKNOD=${TOOL_MKNOD} \
107 TOOL_PAX=${TOOL_PAX} \
108 TOOL_MTREE=${TOOL_MTREE} \
109 HOST_SH=${HOST_SH} \
110 ${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \
111 -K ${.ALLSRC} -S ${NETBSDSRCDIR} ${MKI_OPTS.${.TARGET}} \
112 ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz
113
114 ARCHES.arm= armv4 xscale armv5t armv6 armv7
115 ARCHES.armeb= armv4 xscale armv5t armv6
116 ARCHES.earm= xscale armv5t armv6 armv7
117 ARCHES.earmeb= xscale armv5t armv6
118 ARCHES.earmhf= armv6hf armv7hf
119 ARCHES.earmhfeb= armv6hf
120 ARCHES.earmv4= armv4
121 ARCHES.earmv4eb= armv4
122 ARCHES.earmv5= xscale armv5t
123 ARCHES.earmv5eb= xscale armv5t
124 ARCHES.earmv6= armv6
125 ARCHES.earmv6hf= armv6hf
126 ARCHES.earmv6eb= armv6
127 ARCHES.earmv6hfeb= armv6hf
128 ARCHES.earmv7= armv7
129 ARCHES.earmv7hf= armv7hf
130 ARCHES.earmv7eb= armv7
131 ARCHES.earmv7hfeb= armv7hf
132 .for arch in ${ARCHES.${MACHINE_ARCH}}
133 .for board in ${EVBARM_BOARDS.${arch}}
134 KERNEL_SETS+= ${board}
135 BUILD_KERNELS+= ${board}_INSTALL
136 .endfor
137 KERNEL_SETS+= ${KERNEL_SETS.${arch}}
138 .endfor
139
140 .if !empty(KERNEL_SETS:MBEAGLEBOARD) && !empty(KERNEL_SETS:MBEAGLEBONE)
141 smp_beagleboard: ${IMAGE.kern}/netbsd-BEAGLEBOARD.ub.gz __mkimage
142 # XXX ${IMAGE.kern}/netbsd-BEAGLEBONE.ub.gz
143 .if empty(ALL_KERNELS) || (!empty(ALL_KERNELS:MBEAGLEBOARD) && !empty(ALL_KERNELS:MBEAGLEBONE))
144 SNAP_MD_POST_DEPS+= smp_beagleboard
145 .endif
146 .endif
147
148 .if !empty(KERNEL_SETS:MRPI)
149 smp_rpi: ${IMAGE.kern}/netbsd-RPI.bin.gz __mkimage
150 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI)
151 SNAP_MD_POST_DEPS+= smp_rpi
152 .endif
153 MKI_OPTS.smp_rpi_inst="-b"
154 smp_rpi_inst: ${IMAGE.instk}/netbsd-RPI_INSTALL.bin.gz __mkimage
155 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI_INSTALL)
156 SNAP_MD_POST_DEPS+= smp_rpi_inst
157 .endif
158 .endif
159
160 snap_md_post: check_DESTDIR check_RELEASEDIR snap_post .WAIT ${SNAP_MD_POST_DEPS}
161
162 KERNEL_SUFFIXES= bin srec ub
163
164 INSTALLATION_DIRS+= binary/gzimg \
165 installation/instkernel
166