Changeset View
Changeset View
Standalone View
Standalone View
head/net/ipxe/Makefile
# Created by: Guerkan Karaman <gk.freebsd@googlemail.com> | # Created by: Guerkan Karaman <gk.freebsd@googlemail.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= ipxe | PORTNAME= ipxe | ||||
DISTVERSION= 20200314 | DISTVERSION= 20200610 | ||||
CATEGORIES= net | CATEGORIES= net | ||||
MAINTAINER= tobik@FreeBSD.org | MAINTAINER= tobik@FreeBSD.org | ||||
COMMENT= Open source network boot firmware | COMMENT= Open source network boot firmware | ||||
LICENSE= GPLv2 | LICENSE= GPLv2 | ||||
ONLY_FOR_ARCHS= amd64 i386 | ONLY_FOR_ARCHS= amd64 i386 | ||||
ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64/i386 | ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64/i386 | ||||
USES= gmake perl5 shebangfix | USES= gmake perl5 shebangfix | ||||
USE_BINUTILS= yes | USE_BINUTILS= yes | ||||
USE_GCC= yes | USE_GCC= yes | ||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_TAGNAME= bdf0e029ae8c9a0e173d5988ee64ff910538af53 | GH_TAGNAME= 9ee70fb95bc266885ff88be228b044a2bb226eeb | ||||
USE_PERL5= build | USE_PERL5= build | ||||
SHEBANG_FILES= util/geniso util/gensdsk | SHEBANG_FILES= util/geniso util/gensdsk | ||||
MAKE_ARGS= AR=${AR} \ | MAKE_ARGS= AR=${AR} \ | ||||
ARCH=${ARCH:S/amd64/i386/} \ | ARCH=${ARCH:S/amd64/i386/} \ | ||||
AS=${AS} \ | AS=${AS} \ | ||||
CC=${CC} \ | CC=${CC} \ | ||||
HOST_CC=${CC} \ | HOST_CC=${CC} \ | ||||
LD=${LD} \ | LD=${LD} \ | ||||
Show All 28 Lines | _IPXE_BUILDCFG= branding:PRODUCT_NAME="${PKGNAME} (${OPSYS} ${OSREL}/${ARCH})" \ | ||||
general:IMAGE_TRUST_CMD \ | general:IMAGE_TRUST_CMD \ | ||||
general:NET_PROTO_IPV6 \ | general:NET_PROTO_IPV6 \ | ||||
general:PING_CMD \ | general:PING_CMD \ | ||||
general:POWEROFF_CMD | general:POWEROFF_CMD | ||||
OPTIONS_DEFINE= EFI ISO | OPTIONS_DEFINE= EFI ISO | ||||
OPTIONS_DEFAULT= EFI ISO | OPTIONS_DEFAULT= EFI ISO | ||||
EFI_DESC= Create EFI image | EFI_DESC= Create EFI images | ||||
ISO_DESC= Create bootable CD image | ISO_DESC= Create bootable CD image | ||||
EFI_BUILD_DEPENDS= bash:shells/bash \ | |||||
mformat:emulators/mtools | |||||
_EFI_ARCHS= ${ARCH:Mamd64:S/amd64/x86_64/} i386 | _EFI_ARCHS= ${ARCH:Mamd64:S/amd64/x86_64/} i386 | ||||
_EFI_TARGETS= ipxe snp snponly | |||||
.for _arch in ${_EFI_ARCHS} | .for _arch in ${_EFI_ARCHS} | ||||
EFI_PLIST_FILES+= ${DATADIR}/ipxe.efi-${_arch} | . for _target in ${_EFI_TARGETS} | ||||
EFI_PLIST_FILES+= ${DATADIR}/${_target}.efi-${_arch} | |||||
.endfor | . endfor | ||||
EFI_PLIST_FILES+= ${DATADIR}/ipxe.efi-${_arch}.usb | |||||
.endfor | |||||
ISO_BUILD_DEPENDS= ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:sysutils/syslinux \ | ISO_BUILD_DEPENDS= ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:sysutils/syslinux \ | ||||
bash:shells/bash \ | bash:shells/bash \ | ||||
mkisofs:sysutils/cdrtools | mkisofs:sysutils/cdrtools | ||||
ISO_MAKE_ARGS= ISOLINUX_BIN="${WRKSRC}/isolinux.bin" \ | ISO_MAKE_ARGS= ISOLINUX_BIN="${WRKSRC}/isolinux.bin" \ | ||||
LDLINUX_C32="${LOCALBASE}/share/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32" | LDLINUX_C32="${LOCALBASE}/share/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32" | ||||
ISO_ALL_TARGET= bin/ipxe.iso | ISO_ALL_TARGET= bin/ipxe.iso | ||||
Show All 20 Lines | |||||
.endfor | .endfor | ||||
pre-build-ISO-on: | pre-build-ISO-on: | ||||
# ISO creation fails if isolinux.bin is read only | # ISO creation fails if isolinux.bin is read only | ||||
${INSTALL} -m 644 ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin ${WRKSRC}/isolinux.bin | ${INSTALL} -m 644 ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin ${WRKSRC}/isolinux.bin | ||||
do-build-EFI-on: | do-build-EFI-on: | ||||
.for _arch in ${_EFI_ARCHS} | .for _arch in ${_EFI_ARCHS} | ||||
${DO_MAKE_BUILD} ARCH=${_arch} -C ${WRKSRC} bin-${_arch}-efi/ipxe.efi | ${DO_MAKE_BUILD} ARCH=${_arch} -C ${WRKSRC} ${_EFI_TARGETS:@.target.@bin-${_arch}-efi/${.target.}.efi@} \ | ||||
bin-${_arch}-efi/ipxe.usb | |||||
.endfor | .endfor | ||||
do-install: | do-install: | ||||
@${MKDIR} ${STAGEDIR}${DATADIR} | @${MKDIR} ${STAGEDIR}${DATADIR} | ||||
cd ${WRKSRC} && ${INSTALL_DATA} ${ALL_TARGET} ${STAGEDIR}${DATADIR} | cd ${WRKSRC} && ${INSTALL_DATA} ${ALL_TARGET} ${STAGEDIR}${DATADIR} | ||||
do-install-EFI-on: | do-install-EFI-on: | ||||
.for _arch in ${_EFI_ARCHS} | .for _arch in ${_EFI_ARCHS} | ||||
${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/ipxe.efi ${STAGEDIR}${DATADIR}/ipxe.efi-${_arch} | . for _target in ${_EFI_TARGETS} | ||||
${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/${_target}.efi \ | |||||
${STAGEDIR}${DATADIR}/${_target}.efi-${_arch} | |||||
. endfor | |||||
${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/ipxe.usb \ | |||||
${STAGEDIR}${DATADIR}/ipxe.efi-${_arch}.usb | |||||
.endfor | .endfor | ||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> | ||||
RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} | RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} |