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