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 | ||||
PORTVERSION= 20180220 | PORTVERSION= 20180220 | ||||
PORTREVISION= 1 | PORTREVISION= 2 | ||||
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 | ||||
Show All 9 Lines | |||||
# Q: Which version of iPXE should I use? | # Q: Which version of iPXE should I use? | ||||
# | # | ||||
# A: iPXE uses a rolling release model, in which every commit is intended | # A: iPXE uses a rolling release model, in which every commit is intended | ||||
# to be production-ready. You should always use the latest code. | # to be production-ready. You should always use the latest code. | ||||
# | # | ||||
GH_TAGNAME= 47849be3a900c546cf92066849be0806f4e611d9 | GH_TAGNAME= 47849be3a900c546cf92066849be0806f4e611d9 | ||||
USE_PERL5= build | USE_PERL5= build | ||||
ALL_TARGET= bin/ipxe.dsk bin/ipxe.lkrn bin/ipxe.pxe bin/ipxe.usb | ALL_TARGET= bin/ipxe.dsk bin/ipxe.lkrn bin/ipxe.pxe bin/ipxe.usb bin/undionly.kpxe | ||||
MAKE_ARGS= HOST_CC=${CC} \ | MAKE_ARGS= HOST_CC=${CC} \ | ||||
PERL=${PERL} \ | PERL=${PERL} \ | ||||
CC=${CC} \ | CC=${CC} \ | ||||
AS=${AS} \ | AS=${AS} \ | ||||
LD=${LD} \ | LD=${LD} \ | ||||
SIZE=${SIZE} \ | SIZE=${SIZE} \ | ||||
AR=${AR} \ | AR=${AR} \ | ||||
RANLIB=${RANLIB} \ | RANLIB=${RANLIB} \ | ||||
Show All 18 Lines | _IPXE_BUILDCFG= branding:PRODUCT_NAME="${PKGNAME} (${OPSYS} ${OSREL}/${ARCH})" \ | ||||
general:!DOWNLOAD_PROTO_FTP \ | general:!DOWNLOAD_PROTO_FTP \ | ||||
general:DOWNLOAD_PROTO_HTTPS \ | general:DOWNLOAD_PROTO_HTTPS \ | ||||
general:DOWNLOAD_PROTO_NFS \ | general:DOWNLOAD_PROTO_NFS \ | ||||
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_DEFAULT= ISO | OPTIONS_DEFAULT= ISO EFI | ||||
OPTIONS_DEFINE= ISO | OPTIONS_DEFINE= ISO EFI | ||||
EFI_DESC= Create EFI image | |||||
ISO_DESC= Create bootable CD image | ISO_DESC= Create bootable CD image | ||||
EFI_ARCHS= i386 ${ARCH:Mamd64:S/amd64/x86_64/} | |||||
.for _arch in ${EFI_ARCHS} | |||||
EFI_PLIST_FILES+= ${DATADIR}/ipxe.efi-${_arch} | |||||
.endfor | |||||
ISO_ALL_TARGET= bin/ipxe.iso | ISO_ALL_TARGET= bin/ipxe.iso | ||||
ISO_BUILD_DEPENDS= bash:shells/bash \ | ISO_BUILD_DEPENDS= bash:shells/bash \ | ||||
${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:sysutils/syslinux \ | ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:sysutils/syslinux \ | ||||
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" | ||||
.include <bsd.port.pre.mk> | .include <bsd.port.pre.mk> | ||||
Show All 9 Lines | .if ${_opt:N!*} | ||||
@${ECHO_CMD} '#define ${_opt:C/=/ /:S/^'//:S/'$//}' >> ${WRKSRC}/config/local/${_cat}.h | @${ECHO_CMD} '#define ${_opt:C/=/ /:S/^'//:S/'$//}' >> ${WRKSRC}/config/local/${_cat}.h | ||||
.endif | .endif | ||||
.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: | |||||
.for _arch in ${EFI_ARCHS} | |||||
${DO_MAKE_BUILD} ARCH=${_arch} -C ${WRKSRC} bin-${_arch}-efi/ipxe.efi | |||||
.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: | |||||
.for _arch in ${EFI_ARCHS} | |||||
${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/ipxe.efi ${STAGEDIR}${DATADIR}/ipxe.efi-${_arch} | |||||
.endfor | |||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> | ||||
RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} | RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} |