1# $FreeBSD$ 2 3.include "../Makefile.inc0" 4 5.PATH: ${SRCDIR}/ld 6 7.if ${TARGET_ARCH} == "ia64" 8CFLAGS+= -O1 9.endif 10 11PROG= ld 12SCRIPTDIR= /usr/libdata/ldscripts 13SRCS+= ldcref.c \ 14 ldctor.c \ 15 ldemul-list.h \ 16 ldemul.c \ 17 ldexp.c \ 18 ldfile.c \ 19 ldgram.y \ 20 ldlang.c \ 21 ldlex.l \ 22 ldmain.c \ 23 ldmisc.c \ 24 ldver.c \ 25 ldwrite.c \ 26 lexsup.c \ 27 mri.c 28 29WARNS?= 0 # ldemul.h problem (`struct option' declared inside parameter list) 30CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\" 31CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\" 32CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\" 33CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\" 34CFLAGS+= -DBINDIR=\"${BINDIR}\" -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\" 35CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\" 36CFLAGS+= -D_GNU_SOURCE 37CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd 38NO_SHARED?= yes 39DPADD= ${RELTOP}/libbfd/libbfd.a 40DPADD+= ${RELTOP}/libiberty/libiberty.a 41LDADD= ${DPADD} 42CLEANDIRS+= ldscripts 43CLEANFILES+= ldemul-list.h stringify.sed 44 45HOST= ${TARGET_TUPLE} 46LIBSERACHPATH= \"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\" 47ELF_SCR_EXT= x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw 48.for ext in ${ELF_SCR_EXT} 49LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} 50.endfor 51 52EMS+= ${NATIVE_EMULATION} 53EMXFR= 54EMLST= 55.for _e in ${EMS} 56EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation; 57EMLST+= &ld_${_e}_emulation, 58.endfor 59 60ldemul-list.h: 61 echo "${EMXFR}" > ${.TARGET} 62 echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET} 63 64stringify.sed: 65 ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET} 66 67afterinstall: 68 ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 69 ${LDSCRIPTS:S|^|ldscripts/|} ${DESTDIR}${SCRIPTDIR} 70 71.include <bsd.prog.mk> 72