| ## Process this file with automake to generate Makefile.in | |
| # | |
| # Copyright (C) 2012-2024 Free Software Foundation, Inc. | |
| # | |
| # This file is free software; you can redistribute it and/or modify | |
| # it under the terms of the GNU General Public License as published by | |
| # the Free Software Foundation; either version 3 of the License, or | |
| # (at your option) any later version. | |
| # | |
| # This program is distributed in the hope that it will be useful, | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| # GNU General Public License for more details. | |
| # | |
| # You should have received a copy of the GNU General Public License | |
| # along with this program; see the file COPYING3. If not see | |
| # <http://www.gnu.org/licenses/>. | |
| # | |
| AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign info-in-builddir | |
| ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd | |
| TEXINFO_TEX = ../texinfo/texinfo.tex | |
| SUBDIRS = po | |
| tooldir = $(exec_prefix)/$(target_alias) | |
| YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` | |
| YFLAGS = -d | |
| LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` | |
| # Automake 1.10+ disables lex and yacc output file regeneration if | |
| # maintainer mode is disabled. Avoid this. | |
| am__skiplex = | |
| am__skipyacc = | |
| # This is where we get zlib from. zlibdir is -L../zlib and zlibinc is | |
| # -I../zlib, unless we were configured with --with-system-zlib, in which | |
| # case both are empty. | |
| ZLIB = @zlibdir@ -lz | |
| ZLIBINC = @zlibinc@ | |
| ELF_CFLAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \ | |
| -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \ | |
| -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ | |
| WARN_CFLAGS = @WARN_CFLAGS@ | |
| NO_WERROR = @NO_WERROR@ | |
| AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS) | |
| # We put the scripts in the directory $(scriptdir)/ldscripts. | |
| # We can't put the scripts in $(datadir) because the SEARCH_DIR | |
| # directives need to be different for native and cross linkers. | |
| scriptdir = $(tooldir)/lib | |
| EMUL = @EMUL@ | |
| EMULATION_OFILES = @EMULATION_OFILES@ | |
| EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@ | |
| # Search path to override the default search path for -lfoo libraries. | |
| # If LIB_PATH is empty, the ones in the script (if any) are left alone. | |
| # (The default is usually /lib:/usr/lib:/usr/local/lib, unless building | |
| # a cross-linker, in which case the default is empty. See genscripts.sh.) | |
| # Otherwise, they are replaced with the ones given in LIB_PATH, | |
| # which may have the form: LIB_PATH=/lib:/usr/local/lib. This can be set | |
| # when the linker is configured via the --with-lib-path configure switch. | |
| LIB_PATH = @LIB_PATH@ | |
| BASEDIR = $(srcdir)/.. | |
| BFDDIR = $(BASEDIR)/bfd | |
| INCDIR = $(BASEDIR)/include | |
| # What version of the manual to build | |
| DOCVER = gen | |
| # Options to extract the man page from ld.texi | |
| MANCONF = -Dman | |
| TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) | |
| POD2MAN = pod2man --center="GNU Development Tools" \ | |
| --release="binutils-$(VERSION)" --section=1 | |
| # Setup the testing framework, if you have one | |
| EXPECT = expect | |
| RUNTEST = runtest | |
| RUNTESTFLAGS = | |
| CC_FOR_TARGET = ` \ | |
| if [ -f $$r/../gcc/xgcc ] ; then \ | |
| if [ -f $$r/../newlib/Makefile ] ; then \ | |
| echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ | |
| else \ | |
| echo $$r/../gcc/xgcc -B$$r/../gcc/; \ | |
| fi; \ | |
| else \ | |
| if [ "@host@" = "@target@" ] ; then \ | |
| echo $(CC); \ | |
| else \ | |
| echo gcc | sed '$(transform)'; \ | |
| fi; \ | |
| fi` | |
| CXX_FOR_TARGET = ` \ | |
| if [ -f $$r/../gcc/g++ ] ; then \ | |
| if [ -f $$r/../newlib/Makefile ] ; then \ | |
| echo $$r/../gcc/g++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ | |
| else \ | |
| echo $$r/../gcc/g++ -B$$r/../gcc/; \ | |
| fi; \ | |
| elif [ -f $$r/../gcc/xg++ ] ; then \ | |
| if [ -f $$r/../newlib/Makefile ] ; then \ | |
| echo $$r/../gcc/xg++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ | |
| else \ | |
| echo $$r/../gcc/xg++ -B$$r/../gcc/; \ | |
| fi; \ | |
| else \ | |
| if [ "@host@" = "@target@" ] ; then \ | |
| echo $(CXX); \ | |
| else \ | |
| echo g++ | sed '$(transform)'; \ | |
| fi; \ | |
| fi` | |
| # Strip out sanitization options as we want to test building binaries without any extra paraphernalia | |
| CFLAGS_FOR_TARGET = `echo $(CFLAGS) | sed -e 's/-fsanitize=[^ ]*//g'` | |
| CXXFLAGS_FOR_TARGET = `echo $(CXXFLAGS) | sed -e 's/-fsanitize=[^ ]*//g'` | |
| transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@ | |
| bin_PROGRAMS = ld-new | |
| info_TEXINFOS = ld.texi ldint.texi | |
| ld_TEXINFOS = configdoc.texi | |
| noinst_TEXINFOS = ldint.texi | |
| man_MANS = ld.1 | |
| AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ | |
| -I $(top_srcdir)/../libiberty --no-split | |
| TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ | |
| -I $(top_srcdir)/../libiberty | |
| AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @zlibinc@ \ | |
| @INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \ | |
| -DLOCALEDIR="\"$(datadir)/locale\"" | |
| BFDLIB = ../bfd/libbfd.la | |
| LIBIBERTY = ../libiberty/libiberty.a | |
| if ENABLE_LIBCTF | |
| LIBCTF = ../libctf/libctf.la | |
| else | |
| LIBCTF = | |
| endif | |
| # These all start with e so 'make clean' can find them. | |
| ALL_EMULATION_SOURCES = \ | |
| eaix5ppc.c \ | |
| eaix5rs6.c \ | |
| eaixppc.c \ | |
| eaixrs6.c \ | |
| ealpha.c \ | |
| ealphavms.c \ | |
| earcelf.c \ | |
| earclinux.c \ | |
| earclinux_nps.c \ | |
| earcv2elf.c \ | |
| earcv2elfx.c \ | |
| earm_wince_pe.c \ | |
| earmelf.c \ | |
| earmelf_fbsd.c \ | |
| earmelf_fuchsia.c \ | |
| earmelf_haiku.c \ | |
| earmelf_linux.c \ | |
| earmelf_linux_eabi.c \ | |
| earmelf_linux_fdpiceabi.c \ | |
| earmelf_nacl.c \ | |
| earmelf_nbsd.c \ | |
| earmelf_phoenix.c \ | |
| earmelf_vxworks.c \ | |
| earmelfb.c \ | |
| earmelfb_fbsd.c \ | |
| earmelfb_fuchsia.c \ | |
| earmelfb_linux.c \ | |
| earmelfb_linux_eabi.c \ | |
| earmelfb_linux_fdpiceabi.c \ | |
| earmelfb_nacl.c \ | |
| earmelfb_nbsd.c \ | |
| earmnto.c \ | |
| earmpe.c \ | |
| eavr1.c \ | |
| eavr2.c \ | |
| eavr25.c \ | |
| eavr3.c \ | |
| eavr31.c \ | |
| eavr35.c \ | |
| eavr4.c \ | |
| eavr5.c \ | |
| eavr51.c \ | |
| eavr6.c \ | |
| eavrtiny.c \ | |
| eavrxmega1.c \ | |
| eavrxmega2.c \ | |
| eavrxmega2_flmap.c \ | |
| eavrxmega3.c \ | |
| eavrxmega4.c \ | |
| eavrxmega4_flmap.c \ | |
| eavrxmega5.c \ | |
| eavrxmega6.c \ | |
| eavrxmega7.c \ | |
| ecrisaout.c \ | |
| ecriself.c \ | |
| ecrislinux.c \ | |
| ecskyelf.c \ | |
| ecskyelf_linux.c \ | |
| ed10velf.c \ | |
| ed30v_e.c \ | |
| ed30v_o.c \ | |
| ed30velf.c \ | |
| eelf32_dlx.c \ | |
| eelf32_sparc.c \ | |
| eelf32_sparc_sol2.c \ | |
| eelf32_sparc_vxworks.c \ | |
| eelf32_spu.c \ | |
| eelf32_tic6x_be.c \ | |
| eelf32_tic6x_elf_be.c \ | |
| eelf32_tic6x_elf_le.c \ | |
| eelf32_tic6x_le.c \ | |
| eelf32_tic6x_linux_be.c \ | |
| eelf32_tic6x_linux_le.c \ | |
| eelf32am33lin.c \ | |
| eelf32bfin.c \ | |
| eelf32bfinfd.c \ | |
| eelf32cr16.c \ | |
| eelf32crx.c \ | |
| eelf32epiphany.c \ | |
| eelf32epiphany_4x4.c \ | |
| eelf32fr30.c \ | |
| eelf32frv.c \ | |
| eelf32frvfd.c \ | |
| eelf32ft32.c \ | |
| eelf32ip2k.c \ | |
| eelf32iq10.c \ | |
| eelf32iq2000.c \ | |
| eelf32lm32.c \ | |
| eelf32lm32fd.c \ | |
| eelf32lppc.c \ | |
| eelf32lppclinux.c \ | |
| eelf32lppcnto.c \ | |
| eelf32lppcsim.c \ | |
| eelf32m32c.c \ | |
| eelf32mb_linux.c \ | |
| eelf32mbel_linux.c \ | |
| eelf32mcore.c \ | |
| eelf32mep.c \ | |
| eelf32metag.c \ | |
| eelf32microblaze.c \ | |
| eelf32microblazeel.c \ | |
| eelf32moxie.c \ | |
| eelf32mt.c \ | |
| eelf32or1k.c \ | |
| eelf32or1k_linux.c \ | |
| eelf32ppc.c \ | |
| eelf32ppc_fbsd.c \ | |
| eelf32ppchaiku.c \ | |
| eelf32ppclinux.c \ | |
| eelf32ppcnto.c \ | |
| eelf32ppcsim.c \ | |
| eelf32ppcvxworks.c \ | |
| eelf32ppcwindiss.c \ | |
| eelf32rl78.c \ | |
| eelf32rx.c \ | |
| eelf32rx_linux.c \ | |
| eelf32tilegx.c \ | |
| eelf32tilegx_be.c \ | |
| eelf32tilepro.c \ | |
| eelf32vax.c \ | |
| eelf32visium.c \ | |
| eelf32xstormy16.c \ | |
| eelf32xtensa.c \ | |
| eelf32z80.c \ | |
| eelf_i386.c \ | |
| eelf_i386_be.c \ | |
| eelf_i386_fbsd.c \ | |
| eelf_i386_haiku.c \ | |
| eelf_i386_ldso.c \ | |
| eelf_i386_sol2.c \ | |
| eelf_i386_vxworks.c \ | |
| eelf_iamcu.c \ | |
| eelf_s390.c \ | |
| eh8300elf.c \ | |
| eh8300elf_linux.c \ | |
| eh8300helf.c \ | |
| eh8300helf_linux.c \ | |
| eh8300hnelf.c \ | |
| eh8300self.c \ | |
| eh8300self_linux.c \ | |
| eh8300snelf.c \ | |
| eh8300sxelf.c \ | |
| eh8300sxelf_linux.c \ | |
| eh8300sxnelf.c \ | |
| ehppaelf.c \ | |
| ehppalinux.c \ | |
| ehppanbsd.c \ | |
| ehppaobsd.c \ | |
| ei386aout.c \ | |
| ei386beos.c \ | |
| ei386bsd.c \ | |
| ei386go32.c \ | |
| ei386lynx.c \ | |
| ei386moss.c \ | |
| ei386msdos.c \ | |
| ei386nto.c \ | |
| ei386pe.c \ | |
| ei386pe_posix.c \ | |
| em32relf.c \ | |
| em32relf_linux.c \ | |
| em32rlelf.c \ | |
| em32rlelf_linux.c \ | |
| em68hc11elf.c \ | |
| em68hc11elfb.c \ | |
| em68hc12elf.c \ | |
| em68hc12elfb.c \ | |
| em68kelf.c \ | |
| em68kelfnbsd.c \ | |
| em9s12zelf.c \ | |
| emcorepe.c \ | |
| emn10200.c \ | |
| emn10300.c \ | |
| emoxiebox.c \ | |
| emsp430X.c \ | |
| emsp430elf.c \ | |
| ends32belf.c \ | |
| ends32belf16m.c \ | |
| ends32belf_linux.c \ | |
| ends32elf.c \ | |
| ends32elf16m.c \ | |
| ends32elf_linux.c \ | |
| enios2elf.c \ | |
| enios2linux.c \ | |
| ens32knbsd.c \ | |
| epc532macha.c \ | |
| epdp11.c \ | |
| epjelf.c \ | |
| epjlelf.c \ | |
| eppcmacos.c \ | |
| epruelf.c \ | |
| escore3_elf.c \ | |
| escore7_elf.c \ | |
| esh.c \ | |
| eshelf.c \ | |
| eshelf_fd.c \ | |
| eshelf_linux.c \ | |
| eshelf_nbsd.c \ | |
| eshelf_nto.c \ | |
| eshelf_uclinux.c \ | |
| eshelf_vxworks.c \ | |
| eshl.c \ | |
| eshlelf.c \ | |
| eshlelf_fd.c \ | |
| eshlelf_linux.c \ | |
| eshlelf_nbsd.c \ | |
| eshlelf_nto.c \ | |
| eshlelf_vxworks.c \ | |
| eshpe.c \ | |
| etic30coff.c \ | |
| etic3xcoff.c \ | |
| etic3xcoff_onchip.c \ | |
| etic4xcoff.c \ | |
| etic54xcoff.c \ | |
| ev850.c \ | |
| ev850_rh850.c \ | |
| evanilla.c \ | |
| evaxnbsd.c \ | |
| exgateelf.c \ | |
| ez80.c \ | |
| ez8001.c \ | |
| ez8002.c | |
| ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@) | |
| ALL_64_EMULATION_SOURCES = \ | |
| eaarch64cloudabi.c \ | |
| eaarch64cloudabib.c \ | |
| eaarch64elf.c \ | |
| eaarch64elf32.c \ | |
| eaarch64elf32b.c \ | |
| eaarch64elfb.c \ | |
| eaarch64fbsd.c \ | |
| eaarch64fbsdb.c \ | |
| eaarch64haiku.c \ | |
| eaarch64linux.c \ | |
| eaarch64linux32.c \ | |
| eaarch64linux32b.c \ | |
| eaarch64linuxb.c \ | |
| eaarch64nto.c \ | |
| eaarch64pe.c \ | |
| earm64pe.c \ | |
| eelf32_x86_64.c \ | |
| eelf32b4300.c \ | |
| eelf32bmip.c \ | |
| eelf32bmipn32.c \ | |
| eelf32briscv.c \ | |
| eelf32briscv_ilp32.c \ | |
| eelf32briscv_ilp32f.c \ | |
| eelf32bsmip.c \ | |
| eelf32btsmip.c \ | |
| eelf32btsmip_fbsd.c \ | |
| eelf32btsmipn32.c \ | |
| eelf32btsmipn32_fbsd.c \ | |
| eelf32ebmip.c \ | |
| eelf32ebmipvxworks.c \ | |
| eelf32elmip.c \ | |
| eelf32elmipvxworks.c \ | |
| eelf32kvx.c \ | |
| eelf32l4300.c \ | |
| eelf32lmip.c \ | |
| eelf32loongarch.c \ | |
| eelf32lr5900.c \ | |
| eelf32lr5900n32.c \ | |
| eelf32lriscv.c \ | |
| eelf32lriscv_ilp32.c \ | |
| eelf32lriscv_ilp32f.c \ | |
| eelf32lsmip.c \ | |
| eelf32ltsmip.c \ | |
| eelf32ltsmip_fbsd.c \ | |
| eelf32ltsmipn32.c \ | |
| eelf32ltsmipn32_fbsd.c \ | |
| eelf32mipswindiss.c \ | |
| eelf64_aix.c \ | |
| eelf64_ia64.c \ | |
| eelf64_ia64_fbsd.c \ | |
| eelf64_ia64_vms.c \ | |
| eelf64_s390.c \ | |
| eelf64_sparc.c \ | |
| eelf64_sparc_fbsd.c \ | |
| eelf64_sparc_sol2.c \ | |
| eelf64alpha.c \ | |
| eelf64alpha_fbsd.c \ | |
| eelf64alpha_nbsd.c \ | |
| eelf64bmip.c \ | |
| eelf64bpf.c \ | |
| eelf64briscv.c \ | |
| eelf64briscv_lp64.c \ | |
| eelf64briscv_lp64f.c \ | |
| eelf64btsmip.c \ | |
| eelf64btsmip_fbsd.c \ | |
| eelf64hppa.c \ | |
| eelf64kvx.c \ | |
| eelf64kvx_linux.c \ | |
| eelf64loongarch.c \ | |
| eelf64lppc.c \ | |
| eelf64lppc_fbsd.c \ | |
| eelf64lriscv.c \ | |
| eelf64lriscv_lp64.c \ | |
| eelf64lriscv_lp64f.c \ | |
| eelf64ltsmip.c \ | |
| eelf64ltsmip_fbsd.c \ | |
| eelf64mmix.c \ | |
| eelf64ppc.c \ | |
| eelf64ppc_fbsd.c \ | |
| eelf64rdos.c \ | |
| eelf64tilegx.c \ | |
| eelf64tilegx_be.c \ | |
| eelf_mipsel_haiku.c \ | |
| eelf_x86_64.c \ | |
| eelf_x86_64_cloudabi.c \ | |
| eelf_x86_64_fbsd.c \ | |
| eelf_x86_64_haiku.c \ | |
| eelf_x86_64_sol2.c \ | |
| ehppa64linux.c \ | |
| ei386pep.c \ | |
| emmo.c | |
| ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@) | |
| ALL_EMUL_EXTRA_OFILES = \ | |
| deffilep.@OBJEXT@ \ | |
| pdb.@OBJEXT@ \ | |
| pe-dll.@OBJEXT@ \ | |
| ldelf.@OBJEXT@ \ | |
| ldelfgen.@OBJEXT@ | |
| ALL_64_EMUL_EXTRA_OFILES = \ | |
| pep-dll.@OBJEXT@ | |
| CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ | |
| ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ | |
| mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \ | |
| plugin.c ldbuildid.c ldelf.c ldelfgen.c \ | |
| pdb.c | |
| HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ | |
| ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ | |
| ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \ | |
| elf-hints-local.h plugin.h ldbuildid.h ldelf.h ldelfgen.h \ | |
| pdb.h | |
| GENERATED_CFILES = ldgram.c ldlex.c deffilep.c | |
| GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h | |
| # Require an early dependency on the generated headers, as the dependency | |
| # tracking will not cause them to be built beforehand. | |
| BUILT_SOURCES = $(GENERATED_HFILES) @MAINT@ $(GENERATED_CFILES) \ | |
| $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) | |
| OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \ | |
| mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ plugin.@OBJEXT@ \ | |
| ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \ | |
| ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \ | |
| ldbuildid.@OBJEXT@ | |
| STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c | |
| # Disable -Werror, if it has been enabled, since old versions of bison/ | |
| # yacc will produce working code which contain compile time warnings. | |
| ldgram.@OBJEXT@: ldgram.c | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR) | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='ldgram.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR) | |
| endif | |
| ldlex-wrapper.@OBJEXT@: ldlex-wrapper.c ldlex.c | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR) | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR) | |
| endif | |
| deffilep.@OBJEXT@: deffilep.c | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR) | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='deffilep.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR) | |
| endif | |
| SRC_POTFILES = $(CFILES) $(HFILES) | |
| BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) | |
| po/SRC-POTFILES.in: @MAINT@ Makefile | |
| for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \ | |
| && mv $@-tmp $(srcdir)/po/SRC-POTFILES.in | |
| po/BLD-POTFILES.in: @MAINT@ Makefile | |
| for f in $(BLD_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \ | |
| && mv $@-tmp $(srcdir)/po/BLD-POTFILES.in | |
| ldmain.@OBJEXT@: ldmain.c config.status | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ | |
| -DDEFAULT_EMULATION='"$(EMUL)"' \ | |
| -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ | |
| -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ | |
| $(srcdir)/ldmain.c | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='ldmain.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \ | |
| -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ | |
| -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ | |
| $(srcdir)/ldmain.c | |
| endif | |
| ldfile.@OBJEXT@: ldfile.c config.status | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ | |
| -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \ | |
| $(srcdir)/ldfile.c | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='ldfile.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \ | |
| -DTOOLBINDIR='"$(tooldir)/bin"' \ | |
| $(srcdir)/ldfile.c | |
| endif | |
| eelf32_spu.@OBJEXT@: eelf32_spu.c | |
| if am__fastdepCC | |
| $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \ | |
| -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c | |
| $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
| else | |
| if AMDEP | |
| source='eelf32_spu.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
| DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
| endif | |
| $(AM_V_CC)$(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \ | |
| eelf32_spu.c | |
| endif | |
| ldemul-list.h: Makefile | |
| (echo "/* This file is automatically generated. DO NOT EDIT! */";\ | |
| for f in `echo " " ${EMULATION_OFILES} "" \ | |
| | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ | |
| echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \ | |
| done;\ | |
| echo "";\ | |
| echo "#define EMULATION_LIST \\";\ | |
| for f in `echo " " ${EMULATION_OFILES} "" \ | |
| | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ | |
| echo " &ld_$${f}_emulation, \\"; \ | |
| done;\ | |
| echo " 0") >ldemul-tmp.h | |
| mv ldemul-tmp.h ldemul-list.h | |
| ldscripts/stamp: | |
| $(AM_V_GEN)test -d $(@D) || mkdir $(@D); touch $@ | |
| if AMDEP | |
| GENDEPDIR=$(DEPDIR) | |
| else | |
| GENDEPDIR= | |
| endif | |
| GENSCRIPTS = $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "$(GENDEPDIR)" "${LIB_PATH}" "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@ | |
| GEN_DEPENDS = $(srcdir)/genscripts.sh ldscripts/stamp | |
| @TDIRS@ | |
| e%.c: | |
| $(AM_V_GEN)${GENSCRIPTS} $* "$(tdir_$*)" | |
| $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) | |
| #Dummy rule to prevent make considering e%.c as a source for missing | |
| #.Pc files (and they are all missing until the e*.c files are generated). | |
| #For example, we don't want e.deps/emmo.Pc.c to be tried when | |
| #.deps/emmo.Pc is missing. | |
| %.Pc: | |
| @AMDEP_TRUE@-include $(patsubst %.c,./$(DEPDIR)/%.Pc,$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)) | |
| # We need this for automake to use YLWRAP. | |
| EXTRA_ld_new_SOURCES = deffilep.y ldlex.l | |
| # Allow dependency tracking to work for these files, too. | |
| EXTRA_ld_new_SOURCES += ldelf.c ldelfgen.c pdb.c pep-dll.c pe-dll.c \ | |
| pep-dll-aarch64.c pep-dll-x86_64.c | |
| ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ | |
| ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c plugin.c \ | |
| ldbuildid.c | |
| ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \ | |
| $(BFDLIB) $(LIBCTF) $(LIBIBERTY) $(LIBINTL_DEP) $(JANSSON_LIBS) | |
| ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBCTF) \ | |
| $(LIBIBERTY) $(LIBINTL) $(ZLIB) $(ZSTD_LIBS) $(JANSSON_LIBS) | |
| # Dependency tracking for the generated emulation files. | |
| EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) | |
| # This is the real libbfd.a and libctf.a created by libtool. | |
| TESTBFDLIB = @TESTBFDLIB@ | |
| TESTCTFLIB = @TESTCTFLIB@ | |
| TESTSFRAMELIB = @TESTSFRAMELIB@ | |
| check-DEJAGNU: site.exp | |
| (cd .libs; test -e ldscripts || test ! -e ld-new || $(LN_S) ../ldscripts .) | |
| srcroot=`cd $(srcdir) && pwd`; export srcroot; \ | |
| r=`pwd`; export r; \ | |
| LC_ALL=C; export LC_ALL; \ | |
| EXPECT=$(EXPECT); export EXPECT; \ | |
| runtest=$(RUNTEST); \ | |
| if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ | |
| $$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \ | |
| CC="$(CC)" CFLAGS="$(CFLAGS)" \ | |
| CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" \ | |
| CC_FOR_TARGET="$(CC_FOR_TARGET)" \ | |
| CFLAGS_FOR_TARGET="$(filter-out -ffile-prefix-map=%,$(CFLAGS_FOR_TARGET))" \ | |
| CXX_FOR_TARGET="$(CXX_FOR_TARGET)" \ | |
| CXXFLAGS_FOR_TARGET="$(filter-out -ffile-prefix-map=%,$(CXXFLAGS_FOR_TARGET))" \ | |
| OFILES="$(OFILES)" BFDLIB="$(TESTBFDLIB)" CTFLIB="$(TESTCTFLIB) $(ZLIB)" \ | |
| SFRAMELIB="$(TESTSFRAMELIB)" \ | |
| JANSSON_LIBS="$(JANSSON_LIBS)" ZSTD_LIBS="$(ZSTD_LIBS)" \ | |
| LIBIBERTY="$(LIBIBERTY) $(LIBINTL)" LIBS="$(LIBS)" \ | |
| DO_COMPARE="`echo '$(do_compare)' | sed -e 's,\\$$,,g'`" \ | |
| $(RUNTESTFLAGS); \ | |
| else echo "WARNING: could not find \`runtest'" 1>&2; :;\ | |
| fi | |
| development.exp: $(BFDDIR)/development.sh | |
| $(AM_V_GEN)$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \ | |
| | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@ | |
| enablings.exp: | |
| $(AM_V_GEN)echo "set enable_libctf ${enable_libctf}" >> $@ | |
| # | |
| # | |
| # Build a dummy plugin using libtool. | |
| # | |
| noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la \ | |
| libldtestplug3.la libldtestplug4.la | |
| libldtestplug_la_SOURCES = testplug.c | |
| libldtestplug_la_CFLAGS= -g -O2 | |
| libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere | |
| libldtestplug2_la_SOURCES = testplug2.c | |
| libldtestplug2_la_CFLAGS= -g -O2 | |
| libldtestplug2_la_LDFLAGS = -no-undefined -rpath /nowhere | |
| libldtestplug3_la_SOURCES = testplug3.c | |
| libldtestplug3_la_CFLAGS= -g -O2 | |
| libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere | |
| libldtestplug4_la_SOURCES = testplug4.c | |
| libldtestplug4_la_CFLAGS= -g -O2 | |
| libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere | |
| bfdplugindir = $(libdir)/bfd-plugins | |
| bfdplugin_LTLIBRARIES = libdep.la | |
| libdep_la_SOURCES = libdep_plugin.c | |
| libdep_la_LDFLAGS = -no-undefined -rpath /nowhere -module -avoid-version | |
| libdep_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | |
| --tag=disable-static \ | |
| $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | |
| $(libdep_la_LDFLAGS) $(LDFLAGS) -o $@ | |
| # DOCUMENTATION TARGETS | |
| # Manual configuration file; not usually attached to normal configuration, | |
| # because almost all configs use "gen" version of manual. | |
| # Set DOCVER above to change. | |
| configdoc.texi: ${DOCVER}-doc.texi | |
| $(AM_V_GEN)cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi | |
| $(AM_V_at)chmod u+w ./configdoc.texi | |
| # Build the man page from the texinfo file | |
| # The sed command removes the no-adjust Nroff command so that | |
| # the man output looks standard. | |
| ld.1: $(srcdir)/ld.texi configdoc.texi | |
| $(AM_V_GEN)touch $@ | |
| $(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod | |
| $(AM_V_at)-($(POD2MAN) ld.pod | \ | |
| sed -e '/^.if n .na/d' > $@.T$$$$ && \ | |
| mv -f $@.T$$$$ $@) || \ | |
| (rm -f $@.T$$$$ && exit 1) | |
| $(AM_V_at)rm -f ld.pod | |
| # Build the man page from the texinfo file | |
| # The sed command removes the no-adjust Nroff command so that | |
| # the man output looks standard. | |
| ldint.1: $(srcdir)/ldint.texi configdoc.texi | |
| $(AM_V_GEN)touch $@ | |
| $(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/ldint.texi > ldint.pod | |
| $(AM_V_at)-($(POD2MAN) ldint.pod | \ | |
| sed -e '/^.if n .na/d' > $@.T$$$$ && \ | |
| mv -f $@.T$$$$ $@) || \ | |
| (rm -f $@.T$$$$ && exit 1) | |
| $(AM_V_at)rm -f ldint.pod | |
| MAINTAINERCLEANFILES = configdoc.texi ld.1 ldint.1 | |
| # We want to reconfigure if configure.host or configure.tgt changes. | |
| # development.sh is used to determine -Werror default. | |
| CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \ | |
| $(BFDDIR)/development.sh | |
| EXTRA_DEJAGNU_SITE_CONFIG = development.exp enablings.exp | |
| MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ | |
| ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum | |
| mostlyclean-local: | |
| -rm -rf tmpdir | |
| CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.@OBJEXT@ spu_icache.s spu_icache.@OBJEXT@ | |
| .PHONY: install-exec-local install-data-local | |
| install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS | |
| $(mkinstalldirs) $(DESTDIR)$(tooldir)/bin | |
| n=`echo $(installed_linker) | sed '$(transform)'`; \ | |
| if test "$(bindir)" != "$(tooldir)/bin"; then \ | |
| rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ | |
| ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \ | |
| || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ | |
| fi; \ | |
| if test "x$(install_as_default)" = "xyes"; then \ | |
| ld=`echo ld | sed '$(transform)'`; \ | |
| rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \ | |
| ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \ | |
| || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \ | |
| if test "$(bindir)" != "$(tooldir)/bin"; then \ | |
| rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ | |
| ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ | |
| || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ | |
| fi; \ | |
| fi | |
| install-data-local: install-bfdpluginLTLIBRARIES | |
| $(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts | |
| for f in ldscripts/* ; do \ | |
| case $$f in \ | |
| stamp) ;; \ | |
| *) $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \ | |
| esac \ | |
| done | |
| rm -f $(DESTDIR)$(bfdplugindir)/libdep.la | |
| rm -f $(DESTDIR)$(bfdplugindir)/libdep.dll.a | |
| # Stuff that should be included in a distribution. The diststuff | |
| # target is run by the taz target in ../Makefile.in. | |
| EXTRA_DIST = ldgram.c ldgram.h ldlex.c emultempl/spu_ovl.@OBJEXT@_c \ | |
| emultempl/spu_icache.@OBJEXT@_c deffilep.c deffilep.h $(man_MANS) | |
| diststuff: info $(EXTRA_DIST) | |
| # Both info (ld.info) and ld.1 depend on configdoc.texi. | |
| # But info isn't a direct target. Make info-recursive to depend on | |
| # ld.1 to support parallel build. | |
| info-recursive: ld.1 | |
| html-local: doc/ld/index.html | |
| doc/ld/index.html: ld.texi $(ld_TEXINFOS) | |
| $(AM_V_at)$(MKDIR_P) doc | |
| $(AM_V_GEN)$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \ | |
| --split=node -I$(srcdir) $(srcdir)/ld.texi -o doc/ld | |
| DISTCLEANFILES = site.exp development.exp enablings.exp site.bak | |
| distclean-local: | |
| rm -rf ldscripts | |
| MAINTAINERCLEANFILES += ld.info |