/[ports]/head/net/ipxe/Makefile
ViewVC logotype

Contents of /head/net/ipxe/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 447572 - (show annotations) (download)
Tue Aug 8 20:00:00 2017 UTC (6 years, 10 months ago) by tobik
File MIME type: text/plain
File size: 2746 byte(s)
When ld is lld net/ipxe fails to build with

ld  -m elf_i386_fbsd -N --no-check-sections --section-start=.prefix=0   --gc-sections -static -o bin/usbdisk.bin --oformat binary -e 0 bin/usbdisk.o
ld: error: unknown argument: --no-check-sections
ld: error: unknown argument: --section-start=.prefix=0

The port is supposed to use ld from devel/binutils but does not
currently respect ${LD} (or any of the other binutils related
variables) and always uses ld from base.  Make sure that the build
actually uses the binutils from ports.

While here:
- Remove Perl runtime dependency
- Pet portlint
- Trim the pkg-message to the actually useful bits

1 # Created by: Guerkan Karaman <gk.freebsd@googlemail.com>
2 # $FreeBSD$
3
4 # With helpful hints from net/gpxe
5
6 PORTNAME= ipxe
7 PORTVERSION= 20161208
8 PORTREVISION= 2
9 CATEGORIES= net
10
11 MAINTAINER= tobik@FreeBSD.org
12 COMMENT= Open source network boot firmware
13
14 LICENSE= GPLv2
15
16 BUILD_DEPENDS= ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin:sysutils/syslinux \
17 bash:shells/bash \
18 mkisofs:sysutils/cdrtools
19
20 USES= gmake perl5 shebangfix
21 USE_BINUTILS= yes
22 USE_GCC= yes
23 USE_GITHUB= yes
24 GH_PROJECT= ipxe
25 # iPXE hasn't had a release since 2010.
26 # See iPXE's FAQ at http://ipxe.org/faq
27 #
28 # Q: Which version of iPXE should I use?
29 #
30 # A: iPXE uses a rolling release model, in which every commit is intended
31 # to be production-ready. You should always use the latest code.
32 #
33 GH_TAGNAME= 26050fd4c87c50503d5bd573b2ec91703676e211
34 USE_PERL5= build
35
36 MAKE_ARGS= PERL=${PERL} \
37 CC=${CC} \
38 HOST_CC=${CC} \
39 AS=${AS} \
40 LD=${LD} \
41 SIZE=${SIZE} \
42 AR=${AR} \
43 RANLIB=${RANLIB} \
44 OBJCOPY=${OBJCOPY} \
45 NM=${NM} \
46 OBJDUMP=${OBJDUMP} \
47 NO_WERROR=1 \
48 V=1 \
49 ISOLINUX_BIN="${WRKSRC}/isolinux.bin" \
50 LDLINUX_C32="${LOCALBASE}/share/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32"
51 WRKSRC_SUBDIR= src
52 SHEBANG_FILES= util/geniso util/gensdsk
53
54 PLIST_FILES= %%DATADIR%%/ipxe.dsk \
55 %%DATADIR%%/ipxe.usb \
56 %%DATADIR%%/ipxe.iso \
57 %%DATADIR%%/ipxe.pxe \
58 %%DATADIR%%/ipxe.lkrn
59
60 SUB_FILES= pkg-message
61
62 .include <bsd.port.options.mk>
63
64 ONLY_FOR_ARCHS= amd64 i386
65 ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64/i386
66
67 .if ${ARCH} == "amd64"
68 MAKE_ARGS+= ARCH=i386
69 .endif
70
71 IPXE_EMBED?= # Allows embedding of iPXE start scripts
72 .if ${IPXE_EMBED} != ""
73 MAKE_ARGS+= EMBED="${IPXE_EMBED}"
74 .endif
75
76 IPXE_TRUST?= # Path to the root certificates iPXE trusts
77 .if ${IPXE_TRUST} != ""
78 MAKE_ARGS+= TRUST="${IPXE_TRUST}"
79 .endif
80
81 pre-everything::
82 @${ECHO_MSG} "To build iPXE with an embedded script (path must be absolute):"
83 @${ECHO_MSG} "make IPXE_EMBED=/path/to/ipxe/script install clean"
84 @${ECHO_MSG}
85 @${ECHO_MSG} "To build iPXE with new trusted root certificates"
86 @${ECHO_MSG} "(see http://ipxe.org/crypto for more information):"
87 @${ECHO_MSG} "make IPXE_TRUST=/path/to/ca1.crt,/path/to/ca2.crt"
88
89 pre-build:
90 # ISO creation fails if isolinux.bin is read only
91 ${INSTALL} -m 644 ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin ${WRKSRC}/isolinux.bin
92
93 do-install:
94 @${MKDIR} ${STAGEDIR}${DATADIR}
95 ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.dsk ${STAGEDIR}${DATADIR}
96 ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.usb ${STAGEDIR}${DATADIR}
97 ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.iso ${STAGEDIR}${DATADIR}
98 ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.pxe ${STAGEDIR}${DATADIR}
99 ${INSTALL_DATA} ${WRKSRC}/bin/ipxe.lkrn ${STAGEDIR}${DATADIR}
100
101 .include <bsd.port.mk>

Properties

Name Value
svn:eol-style native
svn:keywords FreeBSD=%H
svn:mime-type text/plain

  ViewVC Help
Powered by ViewVC 1.1.27