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} 51 52HOST= ${TARGET_TUPLE} 53LIBSEARCHPATH= \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\" 54.for ext in ${ELF_SCR_EXT} 55LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} 56ldscripts/${NATIVE_EMULATION}.${ext}: e${NATIVE_EMULATION}.c 57.endfor 58 59EMXFR= 60EMLST= 61.for _e in ${NATIVE_EMULATION} ${EMS} 62EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation; 63EMLST+= &ld_${_e}_emulation, 64.endfor 65 66ldemul-list.h: 67 echo "${EMXFR}" > ${.TARGET} 68 echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET} 69 70stringify.sed: 71 ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET} 72 73GENDIRDEPS_FILTER.host+= Nusr.bin/yacc 74 75.include <bsd.prog.mk> 76