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 10SCRIPTDIR= /usr/libdata/ldscripts 11SRCS+= 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 27CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\" 28CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\" 29CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\" 30CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\" 31CFLAGS+= -DBINDIR=\"${BINDIR}\" 32.if defined(TOOLS_PREFIX) 33CFLAGS+= -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\" 34.else 35CFLAGS+= -DTARGET_SYSTEM_ROOT=\"/\" 36.endif 37CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\" 38CFLAGS+= -D_GNU_SOURCE 39CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd 40.if ${MK_SHARED_TOOLCHAIN} == "no" 41NO_SHARED?= yes 42.endif 43DPADD= ${RELTOP}/libbfd/libbfd.a 44DPADD+= ${RELTOP}/libiberty/libiberty.a 45LDADD= ${DPADD} 46CLEANDIRS+= ldscripts 47CLEANFILES+= ldemul-list.h stringify.sed 48 49FILES= ${LDSCRIPTS:S|^|ldscripts/|} 50FILESDIR= ${SCRIPTDIR} 51LINKS= ${BINDIR}/ld ${BINDIR}/ld.bfd 52 53HOST= ${TARGET_TUPLE} 54LIBSEARCHPATH= \"=/lib\":\"=/usr/lib\" 55.for ext in ${ELF_SCR_EXT} 56LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} 57ldscripts/${NATIVE_EMULATION}.${ext}: e${NATIVE_EMULATION}.c 58.endfor 59 60EMXFR= 61EMLST= 62.for _e in ${NATIVE_EMULATION} ${EMS} 63EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation; 64EMLST+= &ld_${_e}_emulation, 65.endfor 66 67ldemul-list.h: 68 echo "${EMXFR}" > ${.TARGET} 69 echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET} 70 71stringify.sed: ${SRCDIR}/ld/emultempl/astring.sed .NOMETA 72 ln -sf ${.ALLSRC} ${.TARGET} 73 74GENDIRDEPS_FILTER.host+= Nusr.bin/yacc 75 76.include <bsd.prog.mk> 77