]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/usr.bin/binutils/ld/Makefile
MFV r338866: 9700 ZFS resilvered mirror does not balance reads
[FreeBSD/FreeBSD.git] / gnu / usr.bin / binutils / ld / Makefile
1 # $FreeBSD$
2
3 ELF_SCR_EXT=    x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw
4 .include "../Makefile.inc0"
5 .include <src.opts.mk>
6
7 .PATH: ${SRCDIR}/ld
8
9 PROG=   ld.bfd
10 .if (!defined(TOOLS_PREFIX) && ${MK_LLD_IS_LD} == "no") || \
11     (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} == "no")
12 MAN=    ld.1
13 LINKS=          ${BINDIR}/ld.bfd ${BINDIR}/ld
14 .else
15 MAN=    ld.bfd.1
16 CLEANFILES+=    ld.bfd.1
17 ld.bfd.1:       ld.1
18         ${CP} ${.ALLSRC} ${.TARGET}
19 .endif
20
21 SCRIPTDIR= /usr/libdata/ldscripts
22 SRCS+=  ldcref.c \
23         ldctor.c \
24         ldemul-list.h \
25         ldemul.c \
26         ldexp.c \
27         ldfile.c \
28         ldgram.y \
29         ldlang.c \
30         ldlex.l \
31         ldmain.c \
32         ldmisc.c \
33         ldver.c \
34         ldwrite.c \
35         lexsup.c \
36         mri.c
37
38 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
39 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
40 CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\"
41 CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\"
42 CFLAGS+= -DBINDIR=\"${BINDIR}\"
43 .if defined(TOOLS_PREFIX)
44 CFLAGS+= -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\"
45 .else
46 CFLAGS+= -DTARGET_SYSTEM_ROOT=\"/\"
47 .endif
48 CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\"
49 CFLAGS+= -D_GNU_SOURCE
50 CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd
51 .if ${MK_SHARED_TOOLCHAIN} == "no"
52 NO_SHARED?= yes
53 .endif
54 DPADD=  ${GNURELTOP}/libbfd/libbfd.a
55 DPADD+= ${GNURELTOP}/libiberty/libiberty.a
56 LDADD=  ${DPADD}
57 CLEANDIRS+=     ldscripts
58 CLEANFILES+=    ldemul-list.h stringify.sed
59
60 FILES=          ${LDSCRIPTS:S|^|ldscripts/|}
61 FILESDIR=       ${SCRIPTDIR}
62
63 HOST=           ${TARGET_TUPLE}
64 LIBSEARCHPATH=  \"=/lib\":\"=/usr/lib\"
65 .for ext in ${ELF_SCR_EXT}
66 LDSCRIPTS+=     ${NATIVE_EMULATION}.${ext}
67 ldscripts/${NATIVE_EMULATION}.${ext}: e${NATIVE_EMULATION}.c
68 .endfor
69
70 EMXFR=
71 EMLST=
72 .for _e in ${NATIVE_EMULATION} ${EMS}
73 EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation;
74 EMLST+= &ld_${_e}_emulation,
75 .endfor
76
77 ldemul-list.h:
78         echo "${EMXFR}" > ${.TARGET}
79         echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET}
80
81 stringify.sed: ${SRCDIR}/ld/emultempl/astring.sed .NOMETA
82         ln -sf ${.ALLSRC} ${.TARGET}
83
84 GENDIRDEPS_FILTER.host+= Nusr.bin/yacc
85
86 .include <bsd.prog.mk>