1 .
include "../../Makefile.inc1"
2 .
include "../Makefile.block2"
7 MFILE
= ld${MANPAGEVER}.1
25 LDADD
= ${LDADD_BFD} ${LDADD_IBERTY} -lz
27 LIBEXEC_BINUTILS
= ${BINDIR}/..
28 SCRIPTDIR
= ${LIBEXEC_BINUTILS}/ldscripts
29 ELF_SCR_EXT
= x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw
31 .
include "Makefile.x86_64"
33 # We need to change CFLAGS, so that not to pick up bulibs's config.h first.
36 CFLAGS
+= -I
${SRCDIR}/include -I
${SRCDIR}/bfd
37 CFLAGS
+= -I
${SRCDIR}/ld -I
${.OBJDIR
} -I
${.CURDIR
}
38 CFLAGS
+= ${_BULIBS_INC} # for bfd.h
40 CFLAGS
+= -DSCRIPTDIR
=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
41 CFLAGS
+= -DBINDIR
=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
42 CFLAGS
+= -DTOOLBINDIR
=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
43 CFLAGS
+= -DENABLE_PLUGINS
-DHAVE_CONFIG_H
44 CFLAGS
+= -DTARGET_SYSTEM_ROOT
=\"${USRDATA_PREFIX}\"
46 CFLAGS
+= -DELF_LIST_OPTIONS
=TRUE
47 CFLAGS
+= -DELF_SHLIB_LIST_OPTIONS
=TRUE
48 CFLAGS
+= -DELF_PLT_UNWIND_LIST_OPTIONS
=TRUE
50 # XXX: Do we want -Wl,-z,relro on by default? Differs for ld.bfd and lg.gold.
51 CFLAGS
+= -DDEFAULT_LD_Z_RELRO
=0
53 # link-time optimization requires dlopen() which means ld cannot be built
54 # statically and also support -plugin, not even for cross-tools.
55 .if
!defined
(REALLY_NOSHARED
)
59 ldemul.c
: ldemul-list.h
61 CLEANDIRS
+= ldscripts tmpdir
62 CLEANFILES
+= ldemul-list.h stringify.sed
67 EMXFR
+= extern ld_emulation_xfer_type ld_
${_e}_emulation
;
68 EMLST
+= &ld_
${_e}_emulation
,
72 echo
"${EMXFR}" > ${.TARGET
}
73 echo
"#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET
}
76 ${LN} -sf
${SRCDIR}/ld/emultempl
/astring.sed
${.TARGET
}
78 ${MFILE}: ${SRCDIR}/ld/ld.1
79 cp
${.ALLSRC
} ${.TARGET
}
81 install-ldscripts
: ${LDSCRIPTS
:S|^|ldscripts
/|
}
82 ${INSTALL} -o
${LIBOWN} -g
${LIBGRP} -m
${LIBMODE} \
83 ${.ALLSRC
} ${DESTDIR}${SCRIPTDIR}
85 .if defined
(IS_PRIMARY
)
86 MLINKS
+= ${MFILE} ld.1
89 afterinstall
: install-ldscripts
91 CLEANDIRS
+= ldscripts tmpdir
92 CLEANFILES
+= ${MFILE} ldemul-list.h stringify.sed
94 .
include <bsd.prog.mk
>