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