|
|
|
@ -1,134 +0,0 @@
|
|
|
|
|
#
|
|
|
|
|
# $FreeBSD$
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
BOARDS?= BEAGLEBONE \
|
|
|
|
|
RPI-B \
|
|
|
|
|
PANDABOARD \
|
|
|
|
|
WANDBOARD-QUAD \
|
|
|
|
|
ZEDBOARD
|
|
|
|
|
|
|
|
|
|
ARMTARGETS?=
|
|
|
|
|
ARMSIZE?= 1G
|
|
|
|
|
BOOTSIZE?= 4m
|
|
|
|
|
ARM_WFLAGS?= CROSS_TOOLCHAIN=armv6-gcc
|
|
|
|
|
ARMPORTS?=
|
|
|
|
|
|
|
|
|
|
WITH_ARM_IMAGES?=1
|
|
|
|
|
CLEANFILES+= arm-all
|
|
|
|
|
|
|
|
|
|
.if defined(WITH_ARM_IMAGES) && !empty(WITH_ARM_IMAGES) && !empty(BOARDS)
|
|
|
|
|
. for BOARD in ${BOARDS}
|
|
|
|
|
ARMTARGETS+= arm-${BOARD:tl}
|
|
|
|
|
ARMBEFORECLEAN+= arm-mdclean${BOARD:tl}
|
|
|
|
|
CLEANDIRS+= arm-${BOARD:tl} \
|
|
|
|
|
arm-${BOARD:tl}-boot
|
|
|
|
|
CLEANFILES+= arm-buildworld${BOARD:tl} \
|
|
|
|
|
arm-buildkernel${BOARD:tl} \
|
|
|
|
|
arm-installworld${BOARD:tl} \
|
|
|
|
|
arm-installkernel${BOARD:tl} \
|
|
|
|
|
${${BOARD:tu}IMAGE} \
|
|
|
|
|
${${BOARD:tu}MDDEV} \
|
|
|
|
|
${${BOARD:tu}MDFILE} \
|
|
|
|
|
${${BOARD:tu}BOOTDEV} \
|
|
|
|
|
${${BOARD:tu}BOOTFILE} \
|
|
|
|
|
build-arm-${BOARD:tl} \
|
|
|
|
|
build-arm-ports${BOARD:tl}
|
|
|
|
|
${BOARD:tu}IMAGE= arm-${BOARD:tu}.img
|
|
|
|
|
${BOARD:tu}MDDEV= arm-${BOARD:tu}.mddev
|
|
|
|
|
${BOARD:tu}MDFILE= arm-${BOARD:tu}.raw
|
|
|
|
|
${BOARD:tu}BOOTDEV= arm-${BOARD:tu}.bootdev
|
|
|
|
|
${BOARD:tu}BOOTFILE= arm-${BOARD:tu}.boot
|
|
|
|
|
. if exists(${.CURDIR}/arm/Makefile.${BOARD})
|
|
|
|
|
. include "${.CURDIR}/arm/Makefile.${BOARD}"
|
|
|
|
|
. endif
|
|
|
|
|
|
|
|
|
|
arm-mdclean${BOARD:tl}:
|
|
|
|
|
.if exists(${${BOARD:tu}MDDEV})
|
|
|
|
|
umount ${${BOARD:tu}MDFILE} || true
|
|
|
|
|
mdconfig -d -u $$(cat ${${BOARD:tu}MDDEV})
|
|
|
|
|
.endif
|
|
|
|
|
.if exists(${${BOARD:tu}BOOTDEV})
|
|
|
|
|
umount ${${BOARD:tu}BOOTFILE} || true
|
|
|
|
|
mdconfig -d -u $$(cat ${${BOARD:tu}BOOTDEV})
|
|
|
|
|
.endif
|
|
|
|
|
|
|
|
|
|
arm-${BOARD:tl}: arm-buildworld${BOARD:tl} arm-buildkernel${BOARD:tl} \
|
|
|
|
|
arm-installworld${BOARD:tl} arm-installkernel${BOARD:tl}
|
|
|
|
|
${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} build-${.TARGET}
|
|
|
|
|
|
|
|
|
|
arm-buildworld${BOARD:tl}:
|
|
|
|
|
@echo ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${ARM_WFLAGS} \
|
|
|
|
|
buildworld
|
|
|
|
|
touch ${.TARGET}
|
|
|
|
|
|
|
|
|
|
arm-buildkernel${BOARD:tl}:
|
|
|
|
|
@echo ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${ARM_WFLAGS} \
|
|
|
|
|
KERNCONF=${BOARD} buildkernel
|
|
|
|
|
touch ${.TARGET}
|
|
|
|
|
|
|
|
|
|
arm-installworld${BOARD:tl}: arm-mkfs${BOARD:tl}
|
|
|
|
|
@echo ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${ARM_WFLAGS} \
|
|
|
|
|
DESTDIR=${.OBJDIR}/arm-${BOARD:tl} installworld distribution
|
|
|
|
|
touch ${.TARGET}
|
|
|
|
|
|
|
|
|
|
arm-installkernel${BOARD:tl}:
|
|
|
|
|
@echo ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${ARM_WFLAGS} \
|
|
|
|
|
DESTDIR=${.OBJDIR}/arm-${BOARD:tl} KERNCONF=${BOARD} \
|
|
|
|
|
installkernel
|
|
|
|
|
touch ${.TARGET}
|
|
|
|
|
|
|
|
|
|
arm-mkfs${BOARD:tl}:
|
|
|
|
|
.if !exists(${${BOARD:tu}MDDEV})
|
|
|
|
|
mkdir -p ${.OBJDIR}/arm-${BOARD:tl}
|
|
|
|
|
truncate -s ${ARMSIZE} ${.OBJDIR}/${${BOARD:tu}MDFILE}
|
|
|
|
|
echo $$(mdconfig -f ${.OBJDIR}/${${BOARD:tu}MDFILE}) > \
|
|
|
|
|
${.OBJDIR}/${${BOARD:tu}MDDEV}
|
|
|
|
|
newfs -S 4096 /dev/$$(cat ${.OBJDIR}/${${BOARD:tu}MDDEV})
|
|
|
|
|
mount /dev/$$(cat ${.OBJDIR}/${${BOARD:tu}MDDEV}) \
|
|
|
|
|
${.OBJDIR}/arm-${BOARD:tl}
|
|
|
|
|
.endif
|
|
|
|
|
.if !exists(${${BOARD:tu}BOOTDEV})
|
|
|
|
|
mkdir -p ${.OBJDIR}/arm-${BOARD:tl}-boot
|
|
|
|
|
truncate -s ${BOOTSIZE} ${.OBJDIR}/${${BOARD:tu}BOOTFILE}
|
|
|
|
|
echo $$(mdconfig -f ${.OBJDIR}/${${BOARD:tu}BOOTFILE}) > \
|
|
|
|
|
${.OBJDIR}/${${BOARD:tu}BOOTDEV}
|
|
|
|
|
newfs_msdos -S 4096 /dev/$$(cat ${.OBJDIR}/${${BOARD:tu}BOOTDEV})
|
|
|
|
|
mount_msdosfs /dev/$$(cat ${.OBJDIR}/${${BOARD:tu}BOOTDEV}) \
|
|
|
|
|
${.OBJDIR}/arm-${BOARD:tl}-boot
|
|
|
|
|
.endif
|
|
|
|
|
|
|
|
|
|
arm-mkimage${BOARD:tl}:
|
|
|
|
|
.if exists(/dev/$$(cat ${.OBJDIR}/${${BOARD:tu}BOOTDEV})
|
|
|
|
|
umount ${.OBJDIR}/arm-${BOARD:tl}-boot
|
|
|
|
|
.endif
|
|
|
|
|
.if exists(/dev/$$(cat ${.OBJDIR}/${${BOARD:tu}MDDEV})
|
|
|
|
|
umount ${.OBJDIR}/arm-${BOARD:tl}
|
|
|
|
|
.endif
|
|
|
|
|
# FIXME:
|
|
|
|
|
# Do these things need to be MBR?
|
|
|
|
|
# I'm also not entirely sure this is correct, anyway.
|
|
|
|
|
#
|
|
|
|
|
mkimg -s ${${BOARD}PARTSCHEME} \
|
|
|
|
|
-b ${${BOARD:tu}BOOTFILE} \
|
|
|
|
|
-p freebsd/rootfs:=${${BOARD:tu}MDFILE} \
|
|
|
|
|
-o ${${BOARD:tu}IMAGE}
|
|
|
|
|
|
|
|
|
|
build-arm-ports${BOARD:tl}:
|
|
|
|
|
. if defined(ARMPORTS) && !empty(ARMPORTS)
|
|
|
|
|
. if !exists(${PORTSDIR}/Makefile)
|
|
|
|
|
. error "Ports tree (${PORTSDIR}) is required."
|
|
|
|
|
. endif
|
|
|
|
|
. for AP in ${ARMPORTS}
|
|
|
|
|
@echo ${MAKE} -C ${PORTSDIR}/${AP} all install clean distclean
|
|
|
|
|
. endfor
|
|
|
|
|
. endif
|
|
|
|
|
touch ${.TARGET}
|
|
|
|
|
|
|
|
|
|
. endfor # main loop
|
|
|
|
|
.endif # !WITH_ARM_IMAGES
|
|
|
|
|
|
|
|
|
|
beforeclean: ${ARMBEFORECLEAN}
|
|
|
|
|
|
|
|
|
|
arm-all: ${ARMTARGETS}
|
|
|
|
|
touch ${.TARGET}
|