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