freebsd-ports/sysutils/opensbi/Makefile
Mitchell Horne 8c1a17b1e0 New port: sysutils/opensbi: OpenSBI, a RISC-V bootloader and firmware
OpenSBI is a RISC-V bootloader and set of firmware libraries that
implement the RISC-V Supervisor Binary Interface (SBI) required for
supervisor targets, such as the FreeBSD kernel.

This port installs the OpenSBI libraries that can be used for
development of custom firmwares, as well as the firmware files for the
QEMU virt and SiFive U540 platforms.

Reviewed by:	lwhsu, philip (earlier version)
Approved by:	lwhsu
Differential Revision:	https://reviews.freebsd.org/D22164
2019-10-29 01:10:32 +00:00

56 lines
1.4 KiB
Makefile

# $FreeBSD$
PORTNAME= opensbi
DISTVERSIONPREFIX=v
DISTVERSION= 0.5
CATEGORIES= sysutils
MAINTAINER= mhorne@FreeBSD.org
COMMENT= RISC-V SBI bootloader and firmware
LICENSE= BSD2CLAUSE
USES= gmake
USE_GITHUB= yes
GH_ACCOUNT= riscv
RISCV_PREFIX= riscv64-unknown-${OPSYS:tl}${OSREL}-
BUILD_DEPENDS= ${RISCV_PREFIX}gcc:devel/riscv64-xtoolchain-gcc
MAKE_ARGS= CROSS_COMPILE=${RISCV_PREFIX} I=${STAGEDIR}${PREFIX}
OPTIONS_GROUP= PLATFORMS
OPTIONS_GROUP_PLATFORMS=QEMU_VIRT SIFIVE_FU540
OPTIONS_SUB= yes
OPTIONS_DEFAULT= QEMU_VIRT SIFIVE_FU540
QEMU_VIRT_DESC= Support for QEMU Virt platform
QEMU_VIRT_PLATFORM= qemu/virt
SIFIVE_FU540_DESC= Support for SiFive U540 platform
SIFIVE_FU540_PLATFORM= sifive/fu540
INSTALL_TARGET= install
.for platform in ${OPTIONS_GROUP_PLATFORMS}
post-build-${platform}-on:
${MAKE_CMD} -C ${WRKSRC} ${MAKE_ARGS} PLATFORM=${${platform}_PLATFORM}
do-install-${platform}-on:
${MKDIR} ${STAGEDIR}${DATADIR}
${MAKE_CMD} -C ${WRKSRC} PLATFORM=${${platform}_PLATFORM} \
I=${STAGEDIR}${DATADIR} install_firmwares
${MAKE_CMD} -C ${WRKSRC} PLATFORM=${${platform}_PLATFORM} \
I=${STAGEDIR}${DATADIR} install_libplatsbi
post-install-${platform}-on:
.for i in dynamic jump payload
${STRIP_CMD} ${STAGEDIR}${DATADIR}/platform/${${platform}_PLATFORM}/firmware/fw_${i}.elf
.endfor
${STRIP_CMD} ${STAGEDIR}${DATADIR}/platform/${${platform}_PLATFORM}/firmware/payloads/test.elf
.endfor # OPTIONS_GROUP_PLATFORMS
.include <bsd.port.mk>