]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/usr.bin/binutils/ld/Makefile
Merge bmake 20151020
[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
10 SCRIPTDIR= /usr/libdata/ldscripts
11 SRCS+=  ldcref.c \
12         ldctor.c \
13         ldemul-list.h \
14         ldemul.c \
15         ldexp.c \
16         ldfile.c \
17         ldgram.y \
18         ldlang.c \
19         ldlex.l \
20         ldmain.c \
21         ldmisc.c \
22         ldver.c \
23         ldwrite.c \
24         lexsup.c \
25         mri.c
26
27 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
28 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
29 CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\"
30 CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\"
31 CFLAGS+= -DBINDIR=\"${BINDIR}\"
32 .if defined(TOOLS_PREFIX)
33 CFLAGS+= -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\"
34 .else
35 CFLAGS+= -DTARGET_SYSTEM_ROOT=\"/\"
36 .endif
37 CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\"
38 CFLAGS+= -D_GNU_SOURCE
39 CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd
40 .if ${MK_SHARED_TOOLCHAIN} == "no"
41 NO_SHARED?= yes
42 .endif
43 DPADD=  ${RELTOP}/libbfd/libbfd.a
44 DPADD+= ${RELTOP}/libiberty/libiberty.a
45 LDADD=  ${DPADD}
46 CLEANDIRS+=     ldscripts
47 CLEANFILES+=    ldemul-list.h stringify.sed
48
49 FILES=          ${LDSCRIPTS:S|^|ldscripts/|}
50 FILESDIR=       ${SCRIPTDIR}
51
52 HOST=           ${TARGET_TUPLE}
53 LIBSEARCHPATH=  \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
54 .for ext in ${ELF_SCR_EXT}
55 LDSCRIPTS+=     ${NATIVE_EMULATION}.${ext}
56 ldscripts/${NATIVE_EMULATION}.${ext}: e${NATIVE_EMULATION}.c
57 .endfor
58
59 EMXFR=
60 EMLST=
61 .for _e in ${NATIVE_EMULATION} ${EMS}
62 EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation;
63 EMLST+= &ld_${_e}_emulation,
64 .endfor
65
66 ldemul-list.h:
67         echo "${EMXFR}" > ${.TARGET}
68         echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET}
69
70 stringify.sed:
71         ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET}
72
73 GENDIRDEPS_FILTER.host+= Nusr.bin/yacc
74
75 .include <bsd.prog.mk>