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