1# $FreeBSD$ 2 3.include "../Makefile.inc0" 4.include <src.opts.mk> 5 6.PATH: ${SRCDIR}/ld 7 8PROG= ld 9SCRIPTDIR= /usr/libdata/ldscripts 10SRCS+= ldcref.c \ 11 ldctor.c \ 12 ldemul-list.h \ 13 ldemul.c \ 14 ldexp.c \ 15 ldfile.c \ 16 ldgram.y \ 17 ldlang.c \ 18 ldlex.l \ 19 ldmain.c \ 20 ldmisc.c \ 21 ldver.c \ 22 ldwrite.c \ 23 lexsup.c \ 24 mri.c 25 26CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\" 27CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\" 28CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\" 29CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\" 30CFLAGS+= -DBINDIR=\"${BINDIR}\" 31.if defined(TOOLS_PREFIX) 32CFLAGS+= -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\" 33.else 34CFLAGS+= -DTARGET_SYSTEM_ROOT=\"/\" 35.endif 36CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\" 37CFLAGS+= -D_GNU_SOURCE 38CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd 39.if ${MK_SHARED_TOOLCHAIN} == "no" 40NO_SHARED?= yes 41.endif 42DPADD= ${RELTOP}/libbfd/libbfd.a 43DPADD+= ${RELTOP}/libiberty/libiberty.a 44LDADD= ${DPADD} 45CLEANDIRS+= ldscripts 46CLEANFILES+= ldemul-list.h stringify.sed 47 48FILES= ${LDSCRIPTS:S|^|ldscripts/|} 49FILESOWN= ${LIBOWN} 50FILESGRP= ${LIBGRP} 51FILESMODE= ${LIBMODE} 52FILESDIR= ${SCRIPTDIR} 53 54HOST= ${TARGET_TUPLE} 55LIBSEARCHPATH= \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\" 56ELF_SCR_EXT= x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw 57.for ext in ${ELF_SCR_EXT} 58LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} 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: 73 ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET} 74 75GENDIRDEPS_FILTER.host+= Nusr.bin/yacc 76 77.include <bsd.prog.mk> 78