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 48HOST= ${TARGET_TUPLE} 49LIBSEARCHPATH= \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\" 50ELF_SCR_EXT= x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw 51.for ext in ${ELF_SCR_EXT} 52LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} 53.endfor 54 55EMXFR= 56EMLST= 57.for _e in ${NATIVE_EMULATION} ${EMS} 58EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation; 59EMLST+= &ld_${_e}_emulation, 60.endfor 61 62ldemul-list.h: 63 echo "${EMXFR}" > ${.TARGET} 64 echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET} 65 66stringify.sed: 67 ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET} 68 69afterinstall: 70 ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 71 ${LDSCRIPTS:S|^|ldscripts/|} ${DESTDIR}${SCRIPTDIR} 72 73.include <bsd.prog.mk> 74