Fri Oct 14 23:27:00 2016 UTC ()
go back to only installing ldscripts for ports that need them (multi-abi)


(mrg)
diff -r1.26 -r1.27 src/external/gpl3/binutils/usr.bin/ld/Makefile

cvs diff -r1.26 -r1.27 src/external/gpl3/binutils/usr.bin/ld/Makefile (switch to unified diff)

--- src/external/gpl3/binutils/usr.bin/ld/Makefile 2016/10/14 15:58:34 1.26
+++ src/external/gpl3/binutils/usr.bin/ld/Makefile 2016/10/14 23:27:00 1.27
@@ -1,116 +1,122 @@ @@ -1,116 +1,122 @@
1# $NetBSD: Makefile,v 1.26 2016/10/14 15:58:34 christos Exp $ 1# $NetBSD: Makefile,v 1.27 2016/10/14 23:27:00 mrg Exp $
2 2
3CPPFLAGS+= -I${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH} \ 3CPPFLAGS+= -I${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH} \
4 -I${DIST}/ld \ 4 -I${DIST}/ld \
5 -DDEFAULT_EMULATION=\"${G_EMUL}\" \ 5 -DDEFAULT_EMULATION=\"${G_EMUL}\" \
6 -DSCRIPTDIR=\"${SCRIPTSDIR}\" \ 6 -DSCRIPTDIR=\"${SCRIPTSDIR}\" \
7 -DTARGET=\"${G_target_alias}\" \ 7 -DTARGET=\"${G_target_alias}\" \
8 -DBINDIR=\"/usr/bin\" \ 8 -DBINDIR=\"/usr/bin\" \
9 -DTOOLBINDIR=\"/usr/bin\" \ 9 -DTOOLBINDIR=\"/usr/bin\" \
10 -DENABLE_PLUGINS \ 10 -DENABLE_PLUGINS \
11 -DELF_LIST_OPTIONS=TRUE \ 11 -DELF_LIST_OPTIONS=TRUE \
12 -DELF_SHLIB_LIST_OPTIONS=TRUE \ 12 -DELF_SHLIB_LIST_OPTIONS=TRUE \
13 -DELF_PLT_UNWIND_LIST_OPTIONS=TRUE 13 -DELF_PLT_UNWIND_LIST_OPTIONS=TRUE
14 14
15.include "${.CURDIR}/../common/Makefile.inc" 15.include "${.CURDIR}/../common/Makefile.inc"
16.include "${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH}/defs.mk" 16.include "${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH}/defs.mk"
17 17
18SCRIPTSDIR= /usr/libdata 18SCRIPTSDIR= /usr/libdata
19 19
20PROG= ld 20PROG= ld
21SRCS= ${G_OFILES:.o=.c} 21SRCS= ${G_OFILES:.o=.c}
22 22
23COPTS.ldgram.c = -Wno-stack-protector 23COPTS.ldgram.c = -Wno-stack-protector
24 24
25PROGDPLIBS+= bfd ${TOP}/${BFDSUBDIR}/libbfd 25PROGDPLIBS+= bfd ${TOP}/${BFDSUBDIR}/libbfd
26PROGDPLIBS+= iberty ${TOP}/${BFDSUBDIR}/libiberty 26PROGDPLIBS+= iberty ${TOP}/${BFDSUBDIR}/libiberty
27 27
28TEXINFO= ${G_TEXINFOS} 28TEXINFO= ${G_TEXINFOS}
29COMMONOBJDIR!= cd ${TOP}/usr.bin/common && ${PRINTOBJDIR} 29COMMONOBJDIR!= cd ${TOP}/usr.bin/common && ${PRINTOBJDIR}
30INFOFLAGS= -I${COMMONOBJDIR} -I${DIST}/ld -I${DIST}/bfd/doc -I${DIST}/libiberty 30INFOFLAGS= -I${COMMONOBJDIR} -I${DIST}/ld -I${DIST}/bfd/doc -I${DIST}/libiberty
31 31
32FILESDIR= ${SCRIPTSDIR}/ldscripts 32FILESDIR= ${SCRIPTSDIR}/ldscripts
33 33
34.PATH: ${COMMONOBJDIR} ${DIST}/ld ${DIST}/ld/emulparams \ 34.PATH: ${COMMONOBJDIR} ${DIST}/ld ${DIST}/ld/emulparams \
35 ${DIST}/ld/emultempl ${DIST}/ld/scripttempl ldscripts 35 ${DIST}/ld/emultempl ${DIST}/ld/scripttempl ldscripts
36 36
37BUILDSYMLINKS+= ${G_STRINGIFY} stringify.sed 37BUILDSYMLINKS+= ${G_STRINGIFY} stringify.sed
38BUILDSYMLINKS+= gen-doc.texi configdoc.texi 38BUILDSYMLINKS+= gen-doc.texi configdoc.texi
39 39
40${PROG}.info: configdoc.texi bfdver.texi 40${PROG}.info: configdoc.texi bfdver.texi
41 41
42.for f in ${G_EMULATION_OFILES:S/^e//:R} 42.for f in ${G_EMULATION_OFILES:S/^e//:R}
43.if exists(.depend.${f}) && !(make(clean) || make(cleandir)) 43.if exists(.depend.${f}) && !(make(clean) || make(cleandir))
44.include ".depend.${f}" 44.include ".depend.${f}"
45.endif 45.endif
46 46
47.depend.${f}: ${f}.sh 47.depend.${f}: ${f}.sh
48 ${_MKTARGET_CREATE} 48 ${_MKTARGET_CREATE}
49 (srcdir=${DIST}/ld EMULATION_NAME=$f . ${>:M*.sh} && \ 49 (srcdir=${DIST}/ld EMULATION_NAME=$f . ${>:M*.sh} && \
50 if [ x"$$TEMPLATE_NAME" != x ]; then \ 50 if [ x"$$TEMPLATE_NAME" != x ]; then \
51 temp_name=$$TEMPLATE_NAME.em; \ 51 temp_name=$$TEMPLATE_NAME.em; \
52 else \ 52 else \
53 temp_name=; \ 53 temp_name=; \
54 fi; \ 54 fi; \
55 if [ x"$$SCRIPT_NAME" != x ]; then \ 55 if [ x"$$SCRIPT_NAME" != x ]; then \
56 script=$$SCRIPT_NAME.sc; \ 56 script=$$SCRIPT_NAME.sc; \
57 else \ 57 else \
58 script=; \ 58 script=; \
59 fi; \ 59 fi; \
60 echo "e${f}.c: $$temp_name $$script" \ 60 echo "e${f}.c: $$temp_name $$script" \
61 ) >$@ 61 ) >$@
62 62
63DPSRCS+= .depend.${f} e${f}.c 63DPSRCS+= .depend.${f} e${f}.c
64CLEANFILES+= .depend.${f} e${f}.c 64CLEANFILES+= .depend.${f} e${f}.c
65 65
66# XXX super hack 66# XXX super hack
67. if (${BINUTILS_MACHINE_ARCH} == "x86_64" && \ 67. if (${BINUTILS_MACHINE_ARCH} == "x86_64" && \
68 ("${f}" == "elf_i386" || "${f}" == "i386nbsd")) 68 ("${f}" == "elf_i386" || "${f}" == "i386nbsd"))
69EMUL_LIB_PATH.${f}=/usr/lib/i386 69EMUL_LIB_PATH.${f}=/usr/lib/i386
70. elif (${BINUTILS_MACHINE_ARCH} == "sparc64" && \ 70. elif (${BINUTILS_MACHINE_ARCH} == "sparc64" && \
71 ("${f}" == "elf32_sparc" || "${f}" == "sparcnbsd")) 71 ("${f}" == "elf32_sparc" || "${f}" == "sparcnbsd"))
72EMUL_LIB_PATH.${f}=/usr/lib/sparc 72EMUL_LIB_PATH.${f}=/usr/lib/sparc
73. elif ${BINUTILS_MACHINE_ARCH} == "mips64el" 73. elif ${BINUTILS_MACHINE_ARCH} == "mips64el"
74. if "${f}" == "elf32ltsmip" || "${f}" == "elf32btsmip" 74. if "${f}" == "elf32ltsmip" || "${f}" == "elf32btsmip"
75EMUL_LIB_PATH.${f}:=/usr/lib/o32 75EMUL_LIB_PATH.${f}:=/usr/lib/o32
76. elif "${f}" == "elf64ltsmip" || "${f}" == "elf64btsmip" 76. elif "${f}" == "elf64ltsmip" || "${f}" == "elf64btsmip"
77EMUL_LIB_PATH.${f}:=/usr/lib/64 77EMUL_LIB_PATH.${f}:=/usr/lib/64
78. else 78. else
79EMUL_LIB_PATH.${f}=/usr/lib 79EMUL_LIB_PATH.${f}=/usr/lib
80. endif 80. endif
81. else 81. else
82EMUL_LIB_PATH.${f}=/usr/lib 82EMUL_LIB_PATH.${f}=/usr/lib
83. endif 83. endif
84 84
85e${f}.c: ${DIST}/ld/genscripts.sh ${.CURDIR}/Makefile stringify.sed 85e${f}.c: ${DIST}/ld/genscripts.sh ${.CURDIR}/Makefile stringify.sed
86 ${_MKTARGET_CREATE} 86 ${_MKTARGET_CREATE}
87 unset MACHINE || true; \ 87 unset MACHINE || true; \
88 LIB_PATH=${EMUL_LIB_PATH.${f}} NATIVE=yes \ 88 LIB_PATH=${EMUL_LIB_PATH.${f}} NATIVE=yes \
89 ${HOST_SH} ${DIST}/ld/genscripts.sh ${DIST}/ld \ 89 ${HOST_SH} ${DIST}/ld/genscripts.sh ${DIST}/ld \
90 ${LIBDIR} "/usr" "/usr/bin" \ 90 ${LIBDIR} "/usr" "/usr/bin" \
91 ${G_target_alias} ${G_target_alias} ${G_target_alias} \ 91 ${G_target_alias} ${G_target_alias} ${G_target_alias} \
92 ${G_EMUL} ${LIBDIR} yes ${G_enable_initfini_array} \ 92 ${G_EMUL} ${LIBDIR} yes ${G_enable_initfini_array} \
93 ${f} "${G_target_alias}" 93 ${f} "${G_target_alias}"
94 94
95. for e in x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw 95. if ${BINUTILS_MACHINE_ARCH} == "x86_64" || \
96. if exists(ldscripts/${f}.${e}) 96 ${BINUTILS_MACHINE_ARCH} == "sparc64" || \
 97 ${BINUTILS_MACHINE_ARCH} == "aarch64" || \
 98 !empty(BINUTILS_MACHINE_ARCH:Mearm*) || \
 99 !empty(BINUTILS_MACHINE_ARCH:Marm*) || \
 100 !empty(BINUTILS_MACHINE_ARCH:Mmips64*)
 101. for e in x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw
 102. if exists(ldscripts/${f}.${e})
97FILES+= ${f}.${e} 103FILES+= ${f}.${e}
98. endif 104. endif
99. endfor 105. endfor
100 106. endif
101.endfor 107.endfor
102 108
103.include <bsd.prog.mk> 109.include <bsd.prog.mk>
104.include <bsd.info.mk> 110.include <bsd.info.mk>
105.include <bsd.subdir.mk> 111.include <bsd.subdir.mk>
106 112
107# Make sure we use the pre-generated C files 113# Make sure we use the pre-generated C files
108.l.c .y.c .y.h: 114.l.c .y.c .y.h:
109 @true 115 @true
110 116
111cleandir: __cleanldscripts  117cleandir: __cleanldscripts
112__cleanldscripts: 118__cleanldscripts:
113 -rm -rf ldscripts tmpdir 119 -rm -rf ldscripts tmpdir
114 120
115LDADD+= -lintl -lz 121LDADD+= -lintl -lz
116DPADD+= ${LIBINTL} ${LIBZ} 122DPADD+= ${LIBINTL} ${LIBZ}