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