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