Changeset View
Changeset View
Standalone View
Standalone View
sysutils/edk2/Makefile
PORTNAME= edk2 | PORTNAME= edk2 | ||||
PORTVERSION= g202202 | PORTVERSION= g202202 | ||||
CATEGORIES= sysutils | CATEGORIES= sysutils | ||||
MAINTAINER= uboot@FreeBSD.org | MAINTAINER= uboot@FreeBSD.org | ||||
COMMENT= EDK2 Firmware for ${FLAVOR} | COMMENT= EDK2 Firmware for ${FLAVOR} | ||||
LICENSE= BSD3CLAUSE | LICENSE= BSD3CLAUSE | ||||
ONLY_FOR_ARCHS= aarch64 amd64 | ONLY_FOR_ARCHS= aarch64 amd64 | ||||
ONLY_FOR_ARCHS_REASON= only provides firmware for aarch64 and amd64 | ONLY_FOR_ARCHS_REASON= only provides firmware for aarch64 and amd64 | ||||
PKGNAMESUFFIX= -${FLAVOR:C/_/-/g} | PKGNAMESUFFIX= -${FLAVOR:C/_/-/g} | ||||
FLAVORS= macchiatobin fvp rpi3 rpi4 xen_x64 | FLAVORS= macchiatobin fvp rpi3 rpi4 xen_x64 bhyve | ||||
FLAVOR?= macchiatobin | FLAVOR?= macchiatobin | ||||
USES= cpe gmake python:3.7+,build | USES= cpe gmake python:3.7+,build | ||||
CPE_VENDOR= tianocore | CPE_VENDOR= tianocore | ||||
USE_GCC= yes:build | USE_GCC= yes:build | ||||
BUILD_DEPENDS+= dtc>=1.4.1:sysutils/dtc \ | BUILD_DEPENDS+= dtc>=1.4.1:sysutils/dtc \ | ||||
bash:shells/bash | bash:shells/bash | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
PLAT= xen | PLAT= xen | ||||
PLAT_ARCH= X64 | PLAT_ARCH= X64 | ||||
PLAT_TARGET= RELEASE | PLAT_TARGET= RELEASE | ||||
PLATFILE= OvmfPkg/OvmfXen.dsc | PLATFILE= OvmfPkg/OvmfXen.dsc | ||||
PLAT_RESULT= OvmfXen/${PLAT_TARGET}_GCC5/FV/OVMF.fd | PLAT_RESULT= OvmfXen/${PLAT_TARGET}_GCC5/FV/OVMF.fd | ||||
PLAT_FILENAME= XEN_X64_EFI.fd | PLAT_FILENAME= XEN_X64_EFI.fd | ||||
.endif | .endif | ||||
.if ${FLAVOR} == bhyve | |||||
ONLY_FOR_ARCHS= amd64 | |||||
ONLY_FOR_ARCHS_REASON= Bhyve only runs on x64 | |||||
PLAT= bhyve | |||||
PLAT_ARCH= X64 | |||||
PLAT_TARGET= RELEASE | |||||
PLATFILE= OvmfPkg/Bhyve/BhyveX64.dsc | |||||
PLAT_RESULT= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE.fd | |||||
PLAT_RESULT_CODE= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_CODE.fd | |||||
PLAT_RESULT_VARS= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_VARS.fd | |||||
PLAT_FILENAME= BHYVE_UEFI.fd | |||||
PLAT_FILENAME_CODE = BHYVE_UEFI_CODE.fd | |||||
PLAT_FILENAME_VARS = BHYVE_UEFI_VARS.fd | |||||
.endif | |||||
PLIST_FILES= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} | PLIST_FILES= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} | ||||
.if defined(PLAT_FILENAME_CODE) | |||||
PLIST_FILES+= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} | |||||
.endif | |||||
.if defined(PLAT_FILENAME_VARS) | |||||
PLIST_FILES+= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} | |||||
.endif | |||||
.if ${FLAVOR} == bhyve | |||||
PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME} | |||||
PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE} | |||||
PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS} | |||||
.endif | |||||
# Emulate source edk2/edksetup.sh | # Emulate source edk2/edksetup.sh | ||||
MAKE_ENV+= WORKSPACE=${WRKDIR} \ | MAKE_ENV+= WORKSPACE=${WRKDIR} \ | ||||
PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME}:${WRKDIR}/edk2-platforms-${PLATFORM_TAG}:${WRKDIR}/edk2-non-osi-${NONOSI_TAG} \ | PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME}:${WRKDIR}/edk2-platforms-${PLATFORM_TAG}:${WRKDIR}/edk2-non-osi-${NONOSI_TAG} \ | ||||
CONF_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/Conf \ | CONF_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/Conf \ | ||||
EDK_TOOLS_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools \ | EDK_TOOLS_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools \ | ||||
PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/BinWrappers/PosixLike:${PATH} \ | PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/BinWrappers/PosixLike:${PATH} \ | ||||
PYTHON_COMMAND=python3 \ | PYTHON_COMMAND=python3 \ | ||||
Show All 22 Lines | do-build: | ||||
# Build the basetools | # Build the basetools | ||||
(cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools ${_MAKE_JOBS}) | (cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools ${_MAKE_JOBS}) | ||||
# Build EDK2 | # Build EDK2 | ||||
(cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${SETENV} ${MAKE_ENV} BaseTools/BinWrappers/PosixLike/build -a ${PLAT_ARCH} -p ${PLATFILE} -n ${MAKE_JOBS_NUMBER} -t GCC5 -b ${PLAT_TARGET} ${PLAT_ARGS}) | (cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${SETENV} ${MAKE_ENV} BaseTools/BinWrappers/PosixLike/build -a ${PLAT_ARCH} -p ${PLATFILE} -n ${MAKE_JOBS_NUMBER} -t GCC5 -b ${PLAT_TARGET} ${PLAT_ARGS}) | ||||
do-install: | do-install: | ||||
${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/ | ${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/ | ||||
${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} | ${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} | ||||
.if defined(PLAT_FILENAME_CODE) | |||||
manu: I would prefer .if defined | |||||
${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} | |||||
.endif | |||||
.if defined(PLAT_FILENAME_VARS) | |||||
Done Inline ActionsSame manu: Same | |||||
${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} | |||||
.endif | |||||
.if ${FLAVOR} == bhyve | |||||
# For backwards compatibility | |||||
Done Inline ActionsWith the blank line above it's not part of do-install, probably your problem. manu: With the blank line above it's not part of do-install, probably your problem. | |||||
Done Inline ActionsEven when I have the following, the files still aren't being installed. do-install: ${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/ ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} ${MKDIR} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/ ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME} ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE} ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS} I don't need to do something to refresh the packaging list apart from running make FLAVOR=bhyve clean followed by make FLAVOR=bhyve do I? bcran: Even when I have the following, the files still aren't being installed.
```
do-install… | |||||
Done Inline ActionsYou need to add those the PLIST_FILES too, sorry I've missed that earlier. manu: You need to add those the PLIST_FILES too, sorry I've missed that earlier. | |||||
Done Inline ActionsOh of course! Thanks. bcran: Oh of course! Thanks. | |||||
${MKDIR} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/ | |||||
${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME} | |||||
${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE} | |||||
${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS} | |||||
.endif | |||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> |
I would prefer .if defined