Makefile revision 172326
1# $FreeBSD: head/gnu/usr.bin/binutils/ld/Makefile 172326 2007-09-26 01:31:28Z marcel $
2
3.include "../Makefile.inc0"
4
5.PATH: ${SRCDIR}/ld
6
7.if ${TARGET_ARCH} == "ia64"
8CFLAGS+= -O1
9.endif
10
11PROG=	ld
12SCRIPTDIR= /usr/libdata/ldscripts
13SRCS+=	ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \
14	ldgram.y ldlang.c ldlex.l ldmain.c ldmisc.c \
15	ldver.c ldwrite.c lexsup.c mri.c
16
17WARNS?=	0	# ldemul.h problem (`struct option' declared inside parameter list)
18CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
19CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
20CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\"
21CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\"
22CFLAGS+= -DBINDIR=\"${BINDIR}\" -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\"
23CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\"
24CFLAGS+= -D_GNU_SOURCE
25CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd
26NO_SHARED?= yes
27DPADD=	${RELTOP}/libbfd/libbfd.a
28DPADD+=	${RELTOP}/libiberty/libiberty.a
29LDADD=	${DPADD}
30CLEANDIRS+=	ldscripts
31CLEANFILES+=	ldemul-list.h stringify.sed
32
33HOST=		${TARGET_TUPLE}
34LIBSERACHPATH=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
35ELF_SCR_EXT=	x xbn xn xr xs xu xc xsc xd xdc
36.for ext in ${ELF_SCR_EXT}
37LDSCRIPTS+=	${NATIVE_EMULATION}.${ext}
38.endfor
39
40EMS+=	 ${NATIVE_EMULATION}
41EMXFR=
42EMLST=
43.for _e in ${EMS}
44EMXFR+=	extern ld_emulation_xfer_type ld_${_e}_emulation;
45EMLST+=	&ld_${_e}_emulation,
46.endfor
47
48ldemul-list.h:
49	echo "${EMXFR}" > ${.TARGET}
50	echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET}
51
52stringify.sed:
53	ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET}
54
55afterinstall:
56	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
57	    ${LDSCRIPTS:S|^|ldscripts/|} ${DESTDIR}${SCRIPTDIR}
58
59.include <bsd.prog.mk>
60