Home | History | Annotate | Line # | Download | only in etc.evbarm
Makefile.inc revision 1.127
      1  1.127     brook #	$NetBSD: Makefile.inc,v 1.127 2022/08/21 15:01:08 brook Exp $
      2    1.1   thorpej #
      3    1.1   thorpej #	etc.evbarm/Makefile.inc -- evbarm-specific etc Makefile targets
      4    1.1   thorpej #
      5    1.1   thorpej 
      6   1.35  christos MKIMAGE= ${NETBSDSRCDIR}/distrib/utils/embedded/mkimage
      7   1.35  christos 
      8   1.21     pavel # If you change the list of distributed kernels, don't forget
      9   1.21     pavel # to update the release documentation in distrib/notes/common/contents
     10   1.30      matt EVBARM_BOARDS=
     11   1.93       ryo .for i in armv4 xscale armv5t armv6 armv7 arm64
     12   1.53      matt EVBARM_BOARDS.${i}=
     13   1.53      matt .endfor
     14   1.21     pavel 
     15  1.123       rin .if !empty(MACHINE_ARCH:M*eb)
     16   1.77    martin IMAGEENDIAN=	be
     17   1.53      matt # big endian boards
     18   1.55      matt KERNEL_SETS.armv4+=		IXM1200
     19   1.95     skrll 
     20   1.53      matt EVBARM_BOARDS.xscale+=		ADI_BRH
     21   1.53      matt KERNEL_SETS.xscale+=		NSLU2
     22   1.95     skrll 
     23  1.125       rin EVBARM_BOARDS.armv5t+=		KUROBOX_PRO
     24  1.126       rin KERNEL_SETS.armv5t+=		OPENBLOCKS_A6
     25  1.125       rin # Other marvell-based machines may also work but not tested yet.
     26  1.125       rin 
     27  1.122       rin EVBARM_BOARDS.armv6+=		RPI
     28  1.122       rin EVBARM_BOARDS.armv6hf+=	 	RPI
     29  1.122       rin KERNEL_SETS.armv6+=		RPI2
     30  1.122       rin KERNEL_SETS.armv6hf+=	 	RPI2
     31  1.122       rin 
     32  1.116  jmcneill KERNEL_SETS.armv7+=		GENERIC
     33  1.116  jmcneill KERNEL_SETS.armv7hf+=		GENERIC
     34  1.123       rin KERNEL_SETS.arm64+=		GENERIC64
     35   1.53      matt .else
     36   1.77    martin IMAGEENDIAN=	le
     37   1.53      matt # little endian boards
     38   1.53      matt #EVBARM_BOARDS.armv4+=		ARMADILLO210
     39   1.53      matt #EVBARM_BOARDS.armv4+=		ARMADILLO9
     40   1.53      matt EVBARM_BOARDS.armv4+=		GEMINI
     41   1.53      matt EVBARM_BOARDS.armv4+=		INTEGRATOR
     42   1.68  jmcneill EVBARM_BOARDS.armv4+=		INTEGRATOR_CP
     43   1.55      matt KERNEL_SETS.armv4+=		IXM1200
     44   1.53      matt #EVBARM_BOARDS.armv4+=		MINI2440
     45   1.53      matt #EVBARM_BOARDS.armv4+=		MPCSA_GENERIC
     46   1.53      matt #EVBARM_BOARDS.armv4+=		NAPPI
     47   1.53      matt EVBARM_BOARDS.armv4+=		SMDK2410
     48   1.53      matt EVBARM_BOARDS.armv4+=		SMDK2800
     49   1.53      matt EVBARM_BOARDS.armv4+=		TS7200
     50   1.95     skrll 
     51   1.53      matt EVBARM_BOARDS.xscale+=		ADI_BRH
     52   1.53      matt EVBARM_BOARDS.xscale+=		CP3100
     53   1.53      matt EVBARM_BOARDS.xscale+=		GUMSTIX
     54   1.53      matt KERNEL_SETS.xscale+=		HDL_G
     55   1.53      matt EVBARM_BOARDS.xscale+=		IQ80310
     56   1.53      matt EVBARM_BOARDS.xscale+=		IQ80321
     57   1.53      matt #EVBARM_BOARDS.xscale+=		LUBBOCK
     58   1.53      matt EVBARM_BOARDS.xscale+=		TEAMASA_NPWR
     59   1.53      matt EVBARM_BOARDS.xscale+=		TWINTAIL
     60   1.53      matt #EVBARM_BOARDS.xscale+=		VIPER
     61   1.53      matt #EVBARM_BOARDS.xscale+=		ZAO425
     62   1.95     skrll 
     63   1.53      matt #EVBARM_BOARDS.armv5t+=		DNS323
     64   1.53      matt #EVBARM_BOARDS.armv5t+=		HPT5325
     65  1.118       rin #EVBARM_BOARDS.armv5t+=		IMX23_OLINUXINO
     66   1.53      matt EVBARM_BOARDS.armv5t+=		KUROBOX_PRO
     67   1.53      matt #EVBARM_BOARDS.armv5t+=		MARVELL_NAS
     68   1.53      matt #EVBARM_BOARDS.armv5t+=		MMNET_GENERIC
     69   1.53      matt EVBARM_BOARDS.armv5t+=		MV2120
     70  1.126       rin KERNEL_SETS.armv5t+=		OPENBLOCKS_A6
     71   1.53      matt EVBARM_BOARDS.armv5t+=		OPENRD
     72   1.53      matt #EVBARM_BOARDS.armv5t+=		OSK5912
     73   1.53      matt EVBARM_BOARDS.armv5t+=		SHEEVAPLUG
     74   1.95     skrll 
     75   1.53      matt #EVBARM_BOARDS.armv6+=		IMX31LITE
     76   1.53      matt #EVBARM_BOARDS.armv6hf+= 	IMX31LITE
     77   1.53      matt EVBARM_BOARDS.armv6+=		RPI
     78   1.53      matt EVBARM_BOARDS.armv6hf+=	 	RPI
     79   1.70     skrll KERNEL_SETS.armv6+=		RPI2
     80   1.70     skrll KERNEL_SETS.armv6hf+=	 	RPI2
     81   1.56      matt EVBARM_BOARDS.armv6+=		TISDP2420
     82   1.56      matt EVBARM_BOARDS.armv6hf+= 	TISDP2420
     83   1.56      matt #EVBARM_BOARDS.armv6+=		TISDP2430
     84   1.95     skrll 
     85  1.116  jmcneill KERNEL_SETS.armv7+=		GENERIC
     86  1.116  jmcneill KERNEL_SETS.armv7hf+=		GENERIC
     87   1.93       ryo KERNEL_SETS.arm64+=		GENERIC64
     88   1.30      matt .endif
     89   1.30      matt 
     90   1.40  christos IMAGE.rel=	${RELEASEDIR}/${RELEASEMACHINEDIR}
     91   1.44  christos IMAGE.dir=	${IMAGE.rel}/binary/gzimg
     92   1.40  christos IMAGE.kern=	${IMAGE.rel}/binary/kernel
     93   1.49   garbled IMAGE.instk=	${IMAGE.rel}/installation/instkernel
     94   1.40  christos 
     95  1.127     brook # list of boards supported by installboot(8); a bootable image will be
     96  1.127     brook # created for each (if the corresponding U-Boot package is installed
     97  1.127     brook # in one of the directories listed in the environment variable
     98  1.127     brook # INSTALLBOOT_UBOOT_PATHS)
     99  1.127     brook #
    100  1.127     brook INSTALLBOOT_BOARDS!= \
    101  1.127     brook 	${TOOL_INSTALLBOOT} -m ${MACHINE} 2>&1 \
    102  1.127     brook 	| ${TOOL_AWK} 'BEGIN { FS=" " } { if (BOARDS) print $$1 } /^Known boards/{ BOARDS=1 }'
    103  1.127     brook 
    104   1.40  christos __mkimage: .USE
    105   1.88  jmcneill 	TOOL_MAKE=${MAKE} \
    106   1.40  christos 	TOOL_MAKEFS=${TOOL_MAKEFS} \
    107   1.40  christos 	TOOL_DISKLABEL=${TOOL_DISKLABEL} \
    108   1.40  christos 	TOOL_FDISK=${TOOL_FDISK} \
    109  1.119  jmcneill 	TOOL_GPT=${TOOL_GPT} \
    110   1.52  jakllsch 	TOOL_GZIP=${TOOL_GZIP} \
    111   1.40  christos 	TOOL_MKNOD=${TOOL_MKNOD} \
    112   1.40  christos 	TOOL_PAX=${TOOL_PAX} \
    113   1.76  jmcneill 	TOOL_MKUBOOTIMAGE=${TOOL_MKUBOOTIMAGE} \
    114   1.40  christos 	TOOL_MTREE=${TOOL_MTREE} \
    115   1.47      hans 	HOST_SH=${HOST_SH} \
    116   1.88  jmcneill 	KERNOBJDIR=${KERNOBJDIR} \
    117   1.88  jmcneill 	MACHINE=${MACHINE} \
    118  1.115  jmcneill 	MKDTB=${MKDTB} \
    119   1.47      hans 	${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \
    120   1.77    martin 	    -S ${NETBSDSRCDIR} -B ${IMAGEENDIAN} ${MKI_OPTS.${.TARGET}} \
    121   1.43  jmcneill 	    ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz
    122  1.127     brook 	${TOOL_GZIP} -cd ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz \
    123  1.127     brook 		> ${IMAGE.dir}/${.TARGET:S/smp_//}.img
    124  1.127     brook .for f in ${INSTALLBOOT_BOARDS}
    125  1.127     brook 	@echo "===> Making bootable image ${IMAGE.dir:T}/${.TARGET:S/smp_//}-${f}.img.gz"
    126  1.127     brook 	@cp ${IMAGE.dir}/${.TARGET:S/smp_//}.img ${IMAGE.dir}/${.TARGET:S/smp_//}-${f}.img
    127  1.127     brook 	@${TOOL_INSTALLBOOT} -m ${MACHINE} -o board=${f} \
    128  1.127     brook 			${IMAGE.dir}/${.TARGET:S/smp_//}-${f}.img \
    129  1.127     brook 		&& ${TOOL_GZIP} -f ${IMAGE.dir}/${.TARGET:S/smp_//}-${f}.img \
    130  1.127     brook 		|| rm ${IMAGE.dir}/${.TARGET:S/smp_//}-${f}.img
    131  1.127     brook .endfor
    132  1.127     brook 	rm ${IMAGE.dir}/${.TARGET:S/smp_//}.img
    133   1.40  christos 
    134   1.53      matt ARCHES.earmv4=		armv4
    135   1.54      matt ARCHES.earmv4eb=	armv4
    136   1.54      matt ARCHES.earmv5=		xscale armv5t
    137   1.54      matt ARCHES.earmv5eb=	xscale armv5t
    138   1.53      matt ARCHES.earmv6=		armv6
    139   1.53      matt ARCHES.earmv6hf=	armv6hf
    140   1.54      matt ARCHES.earmv6eb=	armv6
    141   1.54      matt ARCHES.earmv6hfeb=	armv6hf
    142   1.53      matt ARCHES.earmv7=		armv7
    143   1.53      matt ARCHES.earmv7hf=	armv7hf
    144   1.54      matt ARCHES.earmv7eb=	armv7
    145   1.54      matt ARCHES.earmv7hfeb=	armv7hf
    146   1.93       ryo ARCHES.aarch64=		arm64
    147  1.121  jmcneill ARCHES.aarch64eb=	arm64
    148   1.54      matt .for arch in ${ARCHES.${MACHINE_ARCH}}
    149   1.53      matt .for board in ${EVBARM_BOARDS.${arch}}
    150   1.53      matt KERNEL_SETS+=		${board}
    151   1.53      matt BUILD_KERNELS+=		${board}_INSTALL
    152   1.53      matt .endfor
    153   1.53      matt KERNEL_SETS+=		${KERNEL_SETS.${arch}}
    154   1.53      matt .endfor
    155   1.53      matt 
    156  1.121  jmcneill .if !empty(MACHINE_ARCH:Maarch64*)
    157   1.94  jmcneill smp_efibootaa64:
    158   1.94  jmcneill 	cd ${KERNSRCDIR}/stand/efiboot/bootaa64 && ${MAKE} release
    159   1.94  jmcneill SNAP_MD_POST_DEPS+=	smp_efibootaa64
    160   1.94  jmcneill INSTALLATION_DIRS+=	installation/misc
    161   1.94  jmcneill .endif
    162   1.94  jmcneill 
    163  1.103  jmcneill .if !empty(MACHINE_ARCH:Mearmv7hf)
    164  1.102  jmcneill smp_efibootarm:
    165  1.102  jmcneill 	cd ${KERNSRCDIR}/stand/efiboot/bootarm && ${MAKE} release
    166  1.102  jmcneill SNAP_MD_POST_DEPS+=	smp_efibootarm
    167  1.102  jmcneill INSTALLATION_DIRS+=	installation/misc
    168  1.102  jmcneill .endif
    169  1.102  jmcneill 
    170   1.72  jmcneill .if !empty(MACHINE_ARCH:M*armv7*) && empty(ALL_KERNELS)
    171   1.72  jmcneill smp_armv7: __mkimage
    172   1.72  jmcneill MKI_OPTS.smp_armv7=	-K ${IMAGE.kern}
    173   1.72  jmcneill SNAP_MD_POST_DEPS+=	smp_armv7
    174   1.48   mlelstv .endif
    175   1.12   thorpej 
    176  1.121  jmcneill .if !empty(MACHINE_ARCH:Maarch64*) && empty(ALL_KERNELS)
    177   1.93       ryo smp_arm64: __mkimage
    178   1.93       ryo MKI_OPTS.smp_arm64=	-K ${IMAGE.kern}
    179   1.93       ryo SNAP_MD_POST_DEPS+=	smp_arm64
    180  1.120  jmcneill smp_arm64mbr: __mkimage
    181  1.120  jmcneill MKI_OPTS.smp_arm64mbr=	-K ${IMAGE.kern}
    182  1.120  jmcneill SNAP_MD_POST_DEPS+=	smp_arm64mbr
    183   1.93       ryo .endif
    184   1.93       ryo 
    185   1.53      matt .if !empty(KERNEL_SETS:MRPI)
    186   1.72  jmcneill smp_rpi: __mkimage
    187   1.50   mlelstv .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI)
    188   1.92  jmcneill MKI_OPTS.smp_rpi=	-K ${IMAGE.kern}/netbsd-RPI.img.gz
    189   1.50   mlelstv SNAP_MD_POST_DEPS+=	smp_rpi
    190   1.50   mlelstv .endif
    191   1.92  jmcneill smp_rpi_inst: ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz __mkimage
    192   1.50   mlelstv .if empty(ALL_KERNELS) || !empty(ALL_KERNELS:MRPI_INSTALL)
    193   1.92  jmcneill MKI_OPTS.smp_rpi_inst=	-b -K ${IMAGE.instk}/netbsd-RPI_INSTALL.img.gz
    194   1.50   mlelstv SNAP_MD_POST_DEPS+=	smp_rpi_inst
    195   1.30      matt .endif
    196   1.48   mlelstv .endif
    197   1.30      matt 
    198   1.42  jmcneill snap_md_post: check_DESTDIR check_RELEASEDIR snap_post .WAIT ${SNAP_MD_POST_DEPS}
    199   1.40  christos 
    200  1.124  jmcneill .if !empty(MACHINE_ARCH:Maarch64*)
    201  1.124  jmcneill KERNEL_SUFFIXES=	img
    202  1.124  jmcneill .else
    203   1.92  jmcneill KERNEL_SUFFIXES=	bin img srec ub
    204  1.124  jmcneill .endif
    205    1.6   thorpej 
    206    1.9     lukem INSTALLATION_DIRS+=	binary/gzimg		\
    207   1.90  christos 			installation/instkernel
    208