Makefile.inc revision 1.117 1 # $NetBSD: Makefile.inc,v 1.117 2020/05/23 11:06:23 jmcneill 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 KERNEL_SETS.armv7+= GENERIC
24 KERNEL_SETS.armv7hf+= GENERIC
25 .else
26 IMAGEENDIAN= le
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 EVBARM_BOARDS.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
41 EVBARM_BOARDS.xscale+= ADI_BRH
42 EVBARM_BOARDS.xscale+= CP3100
43 EVBARM_BOARDS.xscale+= GUMSTIX
44 KERNEL_SETS.xscale+= HDL_G
45 EVBARM_BOARDS.xscale+= IQ80310
46 EVBARM_BOARDS.xscale+= IQ80321
47 #EVBARM_BOARDS.xscale+= LUBBOCK
48 EVBARM_BOARDS.xscale+= TEAMASA_NPWR
49 EVBARM_BOARDS.xscale+= TWINTAIL
50 #EVBARM_BOARDS.xscale+= VIPER
51 #EVBARM_BOARDS.xscale+= ZAO425
52
53 #EVBARM_BOARDS.armv5t+= DNS323
54 #EVBARM_BOARDS.armv5t+= HPT5325
55 #EVBARM_BOARDS.armv5t+= IMX21_OLINUXINO
56 EVBARM_BOARDS.armv5t+= KUROBOX_PRO
57 #EVBARM_BOARDS.armv5t+= MARVELL_NAS
58 #EVBARM_BOARDS.armv5t+= MMNET_GENERIC
59 EVBARM_BOARDS.armv5t+= MV2120
60 #EVBARM_BOARDS.armv5t+= OPENBLOCKS_A6
61 EVBARM_BOARDS.armv5t+= OPENRD
62 #EVBARM_BOARDS.armv5t+= OSK5912
63 EVBARM_BOARDS.armv5t+= SHEEVAPLUG
64
65 #EVBARM_BOARDS.armv6+= IMX31LITE
66 #EVBARM_BOARDS.armv6hf+= IMX31LITE
67 EVBARM_BOARDS.armv6+= RPI
68 EVBARM_BOARDS.armv6hf+= RPI
69 KERNEL_SETS.armv6+= RPI2
70 KERNEL_SETS.armv6hf+= RPI2
71 EVBARM_BOARDS.armv6+= TISDP2420
72 EVBARM_BOARDS.armv6hf+= TISDP2420
73 #EVBARM_BOARDS.armv6+= TISDP2430
74
75 KERNEL_SETS.armv7+= GENERIC
76 KERNEL_SETS.armv7hf+= GENERIC
77 KERNEL_SETS.arm64+= GENERIC64
78 .endif
79
80 IMAGE.rel= ${RELEASEDIR}/${RELEASEMACHINEDIR}
81 IMAGE.dir= ${IMAGE.rel}/binary/gzimg
82 IMAGE.kern= ${IMAGE.rel}/binary/kernel
83 IMAGE.instk= ${IMAGE.rel}/installation/instkernel
84
85 __mkimage: .USE
86 TOOL_MAKE=${MAKE} \
87 TOOL_MAKEFS=${TOOL_MAKEFS} \
88 TOOL_DISKLABEL=${TOOL_DISKLABEL} \
89 TOOL_FDISK=${TOOL_FDISK} \
90 TOOL_GZIP=${TOOL_GZIP} \
91 TOOL_MKNOD=${TOOL_MKNOD} \
92 TOOL_PAX=${TOOL_PAX} \
93 TOOL_MKUBOOTIMAGE=${TOOL_MKUBOOTIMAGE} \
94 TOOL_MTREE=${TOOL_MTREE} \
95 HOST_SH=${HOST_SH} \
96 KERNOBJDIR=${KERNOBJDIR} \
97 MACHINE=${MACHINE} \
98 MKDTB=${MKDTB} \
99 ${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \
100 -S ${NETBSDSRCDIR} -B ${IMAGEENDIAN} ${MKI_OPTS.${.TARGET}} \
101 ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz
102
103 ARCHES.earmv4= armv4
104 ARCHES.earmv4eb= armv4
105 ARCHES.earmv5= xscale armv5t
106 ARCHES.earmv5eb= xscale armv5t
107 ARCHES.earmv6= armv6
108 ARCHES.earmv6hf= armv6hf
109 ARCHES.earmv6eb= armv6
110 ARCHES.earmv6hfeb= armv6hf
111 ARCHES.earmv7= armv7
112 ARCHES.earmv7hf= armv7hf
113 ARCHES.earmv7eb= armv7
114 ARCHES.earmv7hfeb= armv7hf
115 ARCHES.aarch64= arm64
116 .for arch in ${ARCHES.${MACHINE_ARCH}}
117 .for board in ${EVBARM_BOARDS.${arch}}
118 KERNEL_SETS+= ${board}
119 BUILD_KERNELS+= ${board}_INSTALL
120 .endfor
121 KERNEL_SETS+= ${KERNEL_SETS.${arch}}
122 .endfor
123
124 .if !empty(MACHINE_ARCH:Maarch64)
125 smp_efibootaa64:
126 cd ${KERNSRCDIR}/stand/efiboot/bootaa64 && ${MAKE} release
127 SNAP_MD_POST_DEPS+= smp_efibootaa64
128 INSTALLATION_DIRS+= installation/misc
129 .endif
130
131 .if !empty(MACHINE_ARCH:Mearmv7hf)
132 smp_efibootarm:
133 cd ${KERNSRCDIR}/stand/efiboot/bootarm && ${MAKE} release
134 SNAP_MD_POST_DEPS+= smp_efibootarm
135 INSTALLATION_DIRS+= installation/misc
136 .endif
137
138 .if !empty(MACHINE_ARCH:M*armv7*) && empty(ALL_KERNELS)
139 smp_armv7: __mkimage
140 MKI_OPTS.smp_armv7= -K ${IMAGE.kern}
141 SNAP_MD_POST_DEPS+= smp_armv7
142 .endif
143
144 .if !empty(MACHINE_ARCH:Maarch64) && empty(ALL_KERNELS)
145 smp_arm64: __mkimage
146 MKI_OPTS.smp_arm64= -K ${IMAGE.kern}
147 SNAP_MD_POST_DEPS+= smp_arm64
148 .endif
149
150 .if !empty(KERNEL_SETS:MRPI)
151 smp_rpi: __mkimage
152 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI)
153 MKI_OPTS.smp_rpi= -K ${IMAGE.kern}/netbsd-RPI.img.gz
154 SNAP_MD_POST_DEPS+= smp_rpi
155 .endif
156 smp_rpi_inst: ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz __mkimage
157 .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI_INSTALL)
158 MKI_OPTS.smp_rpi_inst= -b -K ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz
159 SNAP_MD_POST_DEPS+= smp_rpi_inst
160 .endif
161 .endif
162
163 snap_md_post: check_DESTDIR check_RELEASEDIR snap_post .WAIT ${SNAP_MD_POST_DEPS}
164
165 KERNEL_SUFFIXES= bin img srec ub
166
167 INSTALLATION_DIRS+= binary/gzimg \
168 installation/instkernel
169