diff --git a/gnu/usr.bin/binutils/ld/Makefile b/gnu/usr.bin/binutils/ld/Makefile index 5ac308b3dd2c..09caa3583a41 100644 --- a/gnu/usr.bin/binutils/ld/Makefile +++ b/gnu/usr.bin/binutils/ld/Makefile @@ -1,86 +1,89 @@ # $FreeBSD$ ELF_SCR_EXT= x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw .include "../Makefile.inc0" .include .PATH: ${SRCDIR}/ld PROG= ld.bfd .if (!defined(TOOLS_PREFIX) && ${MK_LLD_IS_LD} == "no") || \ (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} == "no") MAN= ld.1 LINKS= ${BINDIR}/ld.bfd ${BINDIR}/ld .else MAN= ld.bfd.1 CLEANFILES+= ld.bfd.1 ld.bfd.1: ld.1 ${CP} ${.ALLSRC} ${.TARGET} .endif SCRIPTDIR= /usr/libdata/ldscripts SRCS+= ldcref.c \ ldctor.c \ ldemul-list.h \ ldemul.c \ ldexp.c \ ldfile.c \ ldgram.y \ ldlang.c \ ldlex.l \ ldmain.c \ ldmisc.c \ ldver.c \ ldwrite.c \ lexsup.c \ mri.c CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\" CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\" CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}/usr/libdata\" CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\" CFLAGS+= -DBINDIR=\"${BINDIR}\" .if defined(TOOLS_PREFIX) CFLAGS+= -DTARGET_SYSTEM_ROOT=\"${TOOLS_PREFIX}\" .else CFLAGS+= -DTARGET_SYSTEM_ROOT=\"/\" .endif CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}/${BINDIR}/libexec\" CFLAGS+= -D_GNU_SOURCE CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd .if ${MK_SHARED_TOOLCHAIN} == "no" NO_SHARED?= yes .endif DPADD= ${GNURELTOP}/libbfd/libbfd.a DPADD+= ${GNURELTOP}/libiberty/libiberty.a LDADD= ${DPADD} CLEANDIRS+= ldscripts CLEANFILES+= ldemul-list.h stringify.sed FILES= ${LDSCRIPTS:S|^|ldscripts/|} FILESDIR= ${SCRIPTDIR} HOST= ${TARGET_TUPLE} LIBSEARCHPATH= \"=/lib\":\"=/usr/lib\" .for ext in ${ELF_SCR_EXT} +.if !empty(LDSCRIPTS) && ${LDSCRIPTS:M${NATIVE_EMULATION}.${ext}} != "" +.error "NATIVE_EMULATION scripts were added to LDSCRIPTS: ${LDSCRIPTS:M${NATIVE_EMULATION}.${ext}}" +.endif LDSCRIPTS+= ${NATIVE_EMULATION}.${ext} ldscripts/${NATIVE_EMULATION}.${ext}: e${NATIVE_EMULATION}.c .endfor EMXFR= EMLST= .for _e in ${NATIVE_EMULATION} ${EMS} EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation; EMLST+= &ld_${_e}_emulation, .endfor ldemul-list.h: echo "${EMXFR}" > ${.TARGET} echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET} stringify.sed: ${SRCDIR}/ld/emultempl/astring.sed .NOMETA ln -sf ${.ALLSRC} ${.TARGET} GENDIRDEPS_FILTER.host+= Nusr.bin/yacc .include diff --git a/gnu/usr.bin/binutils/ld/Makefile.mips b/gnu/usr.bin/binutils/ld/Makefile.mips index 7ed3a56059f2..db9e02d97de0 100644 --- a/gnu/usr.bin/binutils/ld/Makefile.mips +++ b/gnu/usr.bin/binutils/ld/Makefile.mips @@ -1,38 +1,38 @@ # $FreeBSD$ .if ${TARGET_ARCH:Mmips*el*} != "" _EMULATION_ENDIAN=l .else _EMULATION_ENDIAN=b .endif .if ${TARGET_ARCH:Mmips64*} != "" NATIVE_EMULATION=elf64${_EMULATION_ENDIAN}tsmip_fbsd LIBSEARCHPATH.elf32${_EMULATION_ENDIAN}tsmip_fbsd=\"=/usr/lib32\" .elif ${TARGET_ARCH:Mmipsn32*} != "" NATIVE_EMULATION=elf32${_EMULATION_ENDIAN}tsmipn32_fbsd .else NATIVE_EMULATION?=elf32${_EMULATION_ENDIAN}tsmip_fbsd .endif MIPS_ABIS=elf32btsmip_fbsd elf32ltsmip_fbsd elf64btsmip_fbsd elf64ltsmip_fbsd \ elf32btsmipn32_fbsd elf32ltsmipn32_fbsd .for abi in ${MIPS_ABIS} -#.if (${abi} != ${NATIVE_EMULATION}) EMS+= ${abi} -#.endif +.if ${abi} != ${NATIVE_EMULATION} .for ext in ${ELF_SCR_EXT} LDSCRIPTS+= ${abi}.${ext} ldscripts/${abi}.${ext}: e${abi}.c .endfor -SRCS+= e${abi}.c +.endif +SRCS+= e${abi}.c CLEANFILES+= e${abi}.c # nb: elf32 handles both elf32 and elf64 targets e${abi}.c: ${.CURDIR}/${abi}.sh emultempl/elf32.em \ scripttempl/elf.sc genscripts.sh stringify.sed sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${LIBSEARCHPATH} \ ${TOOLS_PREFIX}/usr \ ${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \ ${abi} "" no ${abi} ${TARGET_TUPLE} \ ${.CURDIR}/${abi}.sh .endfor