mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
2b677209fe
If built as a shared library, libopcodes has a load-time dependency on libbfd, which is recorded in the dynamic section, however without a corresponding RPATH entry for the directory to find libbfd in. This causes loading to fail whenever libbfd is only pulled by libopcodes indirectly and libbfd has been installed in a directory that is not in the dynamic loader's search path. It does not happen with the programs included with binutils or GDB, because they all also pull libbfd when using libopcodes, but it can happen with external software, e.g.: $ gdbserver --help gdbserver: error while loading shared libraries: libbfd-[...].so: cannot open shared object file: No such file or directory $ (not our `gdbserver'). Indirect dynamic dependencies are handled by libtool automatically by adding RPATH entries as required, however our setup for libopcodes prevents this from happening by linking in libbfd with an explicit file reference sneaked through to the linker directly behind libtool's back via the `-Wl' linker command-line option rather than via `-l' combined with a suitable library search path specified via `-L', as it would be usually the case, or just referring to the relevant .la file in a fully libtool-enabled configuration such as ours. According to an observation in the discussion back in 2007[1][2][3] that has led to the current arrangement it is to prevent libtool from picking up the wrong version of libbfd. It does not appear to be needed though, not at least with our current libtool incarnation, as directly referring `libbfd.la' does exactly what it should, as previously suggested[4], and with no link-time reference to the installation directory other than to set RPATH. Uninstalled version of libopcodes has libbfd's build-time location prepended to RPATH too, as also expected. Use a direct reference to `libbfd.la' then, making the load error quoted above go away. Alternatively `-L' and `-l' could be used to the same effect, but it seems an unnecessary complication and just another way to circumvent rather than making use of libtool. References: [1] "compile failure due to undefined symbol", <https://sourceware.org/ml/binutils/2007-08/msg00476.html> [2] same, <https://sourceware.org/ml/binutils/2007-09/msg00000.html> [3] same, <https://sourceware.org/ml/binutils/2007-10/msg00019.html> [4] same, <https://sourceware.org/ml/binutils/2007-10/msg00034.html> opcodes/ * Makefile.am: Remove obsolete comment. * configure.ac: Refer `libbfd.la' to link shared BFD library except for Cygwin. * Makefile.in: Regenerate. * configure: Regenerate.
658 lines
19 KiB
Makefile
658 lines
19 KiB
Makefile
## Process this file with automake to generate Makefile.in
|
|
#
|
|
# Copyright (C) 2012-2021 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 = foreign no-dist
|
|
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
|
|
|
|
# Build '.' first so all generated files exist.
|
|
SUBDIRS = . po
|
|
|
|
INCDIR = $(srcdir)/../include
|
|
BFDDIR = $(srcdir)/../bfd
|
|
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
NO_WERROR = @NO_WERROR@
|
|
AM_CFLAGS = $(WARN_CFLAGS)
|
|
|
|
COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
$(CFLAGS_FOR_BUILD)
|
|
LINK_FOR_BUILD = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
|
|
$(LDFLAGS_FOR_BUILD) -o $@
|
|
|
|
libopcodes_la_LDFLAGS =
|
|
if INSTALL_LIBBFD
|
|
bfdlibdir = @bfdlibdir@
|
|
bfdincludedir = @bfdincludedir@
|
|
bfdlib_LTLIBRARIES = libopcodes.la
|
|
bfdinclude_DATA = $(INCDIR)/dis-asm.h
|
|
else
|
|
# Empty these so that the respective installation directories will not be created.
|
|
bfdlibdir =
|
|
bfdincludedir =
|
|
rpath_bfdlibdir = @bfdlibdir@
|
|
noinst_LTLIBRARIES = libopcodes.la
|
|
libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir)
|
|
endif
|
|
|
|
# This is where bfd.h lives.
|
|
BFD_H = ../bfd/bfd.h
|
|
|
|
BUILD_LIBS = @BUILD_LIBS@
|
|
BUILD_LIB_DEPS = @BUILD_LIB_DEPS@
|
|
|
|
# Header files.
|
|
HFILES = \
|
|
aarch64-asm.h aarch64-dis.h aarch64-opc.h aarch64-tbl.h \
|
|
bpf-desc.h bpf-opc.h \
|
|
cris-desc.h cris-opc.h \
|
|
epiphany-desc.h epiphany-opc.h \
|
|
fr30-desc.h fr30-opc.h \
|
|
frv-desc.h frv-opc.h \
|
|
i386-init.h \
|
|
i386-opc.h \
|
|
i386-tbl.h \
|
|
ia64-asmtab.h \
|
|
ia64-opc.h \
|
|
ip2k-desc.h ip2k-opc.h \
|
|
iq2000-desc.h iq2000-opc.h \
|
|
lm32-desc.h \
|
|
lm32-opc.h \
|
|
m32c-desc.h m32c-opc.h \
|
|
m32r-desc.h m32r-opc.h \
|
|
mcore-opc.h \
|
|
mep-desc.h mep-opc.h \
|
|
microblaze-opc.h \
|
|
mt-desc.h mt-opc.h \
|
|
score-opc.h \
|
|
sh-opc.h \
|
|
sysdep.h \
|
|
xc16x-desc.h xc16x-opc.h \
|
|
xstormy16-desc.h xstormy16-opc.h \
|
|
z8k-opc.h
|
|
|
|
# C source files that correspond to .o's ending up in libopcodes
|
|
# for all machines.
|
|
TARGET_LIBOPCODES_CFILES = \
|
|
aarch64-asm.c \
|
|
aarch64-asm-2.c \
|
|
aarch64-dis.c \
|
|
aarch64-dis-2.c \
|
|
aarch64-opc.c \
|
|
aarch64-opc-2.c \
|
|
alpha-dis.c \
|
|
alpha-opc.c \
|
|
arc-dis.c \
|
|
arc-ext.c \
|
|
arc-opc.c \
|
|
arm-dis.c \
|
|
avr-dis.c \
|
|
bfin-dis.c \
|
|
cgen-asm.c \
|
|
cgen-bitset.c \
|
|
cgen-dis.c \
|
|
cgen-opc.c \
|
|
cr16-dis.c \
|
|
cr16-opc.c \
|
|
cris-desc.c \
|
|
cris-dis.c \
|
|
cris-opc.c \
|
|
crx-dis.c \
|
|
crx-opc.c \
|
|
csky-dis.c \
|
|
d10v-dis.c \
|
|
d10v-opc.c \
|
|
d30v-dis.c \
|
|
d30v-opc.c \
|
|
dlx-dis.c \
|
|
bpf-asm.c \
|
|
bpf-desc.c \
|
|
bpf-dis.c \
|
|
bpf-ibld.c \
|
|
bpf-opc.c \
|
|
epiphany-asm.c \
|
|
epiphany-desc.c \
|
|
epiphany-dis.c \
|
|
epiphany-ibld.c \
|
|
epiphany-opc.c \
|
|
fr30-asm.c \
|
|
fr30-desc.c \
|
|
fr30-dis.c \
|
|
fr30-ibld.c \
|
|
fr30-opc.c \
|
|
frv-asm.c \
|
|
frv-desc.c \
|
|
frv-dis.c \
|
|
frv-ibld.c \
|
|
frv-opc.c \
|
|
ft32-dis.c \
|
|
ft32-opc.c \
|
|
h8300-dis.c \
|
|
hppa-dis.c \
|
|
i386-dis.c \
|
|
i386-opc.c \
|
|
ia64-dis.c \
|
|
ia64-opc.c \
|
|
ip2k-asm.c \
|
|
ip2k-desc.c \
|
|
ip2k-dis.c \
|
|
ip2k-ibld.c \
|
|
ip2k-opc.c \
|
|
iq2000-asm.c \
|
|
iq2000-desc.c \
|
|
iq2000-dis.c \
|
|
iq2000-ibld.c \
|
|
iq2000-opc.c \
|
|
lm32-asm.c \
|
|
lm32-desc.c \
|
|
lm32-dis.c \
|
|
lm32-ibld.c \
|
|
lm32-opc.c \
|
|
lm32-opinst.c \
|
|
loongarch-opc.c \
|
|
loongarch-dis.c \
|
|
loongarch-coder.c \
|
|
m10200-dis.c \
|
|
m10200-opc.c \
|
|
m10300-dis.c \
|
|
m10300-opc.c \
|
|
m32c-asm.c \
|
|
m32c-desc.c \
|
|
m32c-dis.c \
|
|
m32c-ibld.c \
|
|
m32c-opc.c \
|
|
m32r-asm.c \
|
|
m32r-desc.c \
|
|
m32r-dis.c \
|
|
m32r-ibld.c \
|
|
m32r-opc.c \
|
|
m32r-opinst.c \
|
|
m68hc11-dis.c \
|
|
m68hc11-opc.c \
|
|
m68k-dis.c \
|
|
m68k-opc.c \
|
|
s12z-dis.c \
|
|
s12z-opc.c \
|
|
mcore-dis.c \
|
|
mep-asm.c \
|
|
mep-desc.c \
|
|
mep-dis.c \
|
|
mep-ibld.c \
|
|
mep-opc.c \
|
|
metag-dis.c \
|
|
microblaze-dis.c \
|
|
micromips-opc.c \
|
|
mips-dis.c \
|
|
mips-opc.c \
|
|
mips16-opc.c \
|
|
mmix-dis.c \
|
|
mmix-opc.c \
|
|
moxie-dis.c \
|
|
moxie-opc.c \
|
|
msp430-decode.c \
|
|
msp430-dis.c \
|
|
mt-asm.c \
|
|
mt-desc.c \
|
|
mt-dis.c \
|
|
mt-ibld.c \
|
|
mt-opc.c \
|
|
nds32-asm.c \
|
|
nds32-dis.c \
|
|
nfp-dis.c \
|
|
nios2-dis.c \
|
|
nios2-opc.c \
|
|
ns32k-dis.c \
|
|
or1k-asm.c \
|
|
or1k-desc.c \
|
|
or1k-dis.c \
|
|
or1k-ibld.c \
|
|
or1k-opc.c \
|
|
pdp11-dis.c \
|
|
pdp11-opc.c \
|
|
pj-dis.c \
|
|
pj-opc.c \
|
|
ppc-dis.c \
|
|
ppc-opc.c \
|
|
pru-dis.c \
|
|
pru-opc.c \
|
|
riscv-dis.c \
|
|
riscv-opc.c \
|
|
rl78-decode.c \
|
|
rl78-dis.c \
|
|
rx-decode.c \
|
|
rx-dis.c \
|
|
s390-dis.c \
|
|
s390-opc.c \
|
|
score-dis.c \
|
|
score7-dis.c \
|
|
sh-dis.c \
|
|
sparc-dis.c \
|
|
sparc-opc.c \
|
|
spu-dis.c \
|
|
spu-opc.c \
|
|
tic30-dis.c \
|
|
tic4x-dis.c \
|
|
tic54x-dis.c \
|
|
tic54x-opc.c \
|
|
tic6x-dis.c \
|
|
tilegx-dis.c \
|
|
tilegx-opc.c \
|
|
tilepro-dis.c \
|
|
tilepro-opc.c \
|
|
v850-dis.c \
|
|
v850-opc.c \
|
|
vax-dis.c \
|
|
visium-dis.c \
|
|
visium-opc.c \
|
|
wasm32-dis.c \
|
|
xc16x-asm.c \
|
|
xc16x-desc.c \
|
|
xc16x-dis.c \
|
|
xc16x-ibld.c \
|
|
xc16x-opc.c \
|
|
xstormy16-asm.c \
|
|
xstormy16-desc.c \
|
|
xstormy16-dis.c \
|
|
xstormy16-ibld.c \
|
|
xstormy16-opc.c \
|
|
xtensa-dis.c \
|
|
xgate-dis.c \
|
|
xgate-opc.c \
|
|
z80-dis.c \
|
|
z8k-dis.c
|
|
|
|
# C source files that correspond to .o's ending up in libopcodes.
|
|
LIBOPCODES_CFILES = \
|
|
$(TARGET_LIBOPCODES_CFILES) \
|
|
dis-buf.c \
|
|
dis-init.c \
|
|
disassemble.c
|
|
|
|
# C source files that correspond to .o's.
|
|
CFILES = \
|
|
$(LIBOPCODES_CFILES) \
|
|
aarch64-gen.c \
|
|
i386-gen.c \
|
|
ia64-asmtab.c \
|
|
ia64-gen.c \
|
|
ia64-opc-a.c \
|
|
ia64-opc-b.c \
|
|
ia64-opc-f.c \
|
|
ia64-opc-i.c \
|
|
ia64-opc-m.c \
|
|
ia64-opc-d.c \
|
|
s390-mkopc.c \
|
|
z8kgen.c
|
|
|
|
ALL_MACHINES = $(TARGET_LIBOPCODES_CFILES:.c=.lo)
|
|
|
|
OFILES = @BFD_MACHINES@
|
|
|
|
# development.sh is used to determine -Werror default.
|
|
CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
|
|
|
|
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
|
|
|
|
disassemble.lo: disassemble.c
|
|
if am__fastdepCC
|
|
$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ @archdefs@ $(srcdir)/disassemble.c
|
|
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
|
else
|
|
if AMDEP
|
|
source='disassemble.c' object='$@' libtool=yes @AMDEPBACKSLASH@
|
|
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
endif
|
|
$(LTCOMPILE) -c -o $@ @archdefs@ $(srcdir)/disassemble.c
|
|
endif
|
|
|
|
libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
|
|
libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@
|
|
libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@
|
|
libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@
|
|
# Allow dependency tracking to work on all the source files.
|
|
EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES)
|
|
|
|
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
|
|
# the build directory so that we don't have to convert all the
|
|
# programs that use libopcodes.a simultaneously. This is a hack which
|
|
# should be removed if everything else starts using libtool. FIXME.
|
|
|
|
noinst_LIBRARIES = libopcodes.a
|
|
libopcodes_a_SOURCES =
|
|
|
|
stamp-lib: libopcodes.la
|
|
libtooldir=`$(LIBTOOL) --config | sed -n -e 's/^objdir=//p'`; \
|
|
if [ -f $$libtooldir/libopcodes.a ]; then \
|
|
cp $$libtooldir/libopcodes.a libopcodes.tmp; \
|
|
$(RANLIB) libopcodes.tmp; \
|
|
$(SHELL) $(srcdir)/../move-if-change libopcodes.tmp libopcodes.a; \
|
|
else true; fi
|
|
touch stamp-lib
|
|
|
|
libopcodes.a: stamp-lib ; @true
|
|
|
|
POTFILES = $(HFILES) $(CFILES)
|
|
po/POTFILES.in: @MAINT@ Makefile
|
|
for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
|
|
&& mv tmp $(srcdir)/po/POTFILES.in
|
|
|
|
CLEANFILES = \
|
|
stamp-epiphany stamp-fr30 stamp-frv stamp-ip2k stamp-iq2000 stamp-lm32 \
|
|
stamp-m32c stamp-m32r stamp-mep stamp-mt \
|
|
stamp-or1k stamp-xc16x stamp-xstormy16 \
|
|
libopcodes.a stamp-lib
|
|
|
|
|
|
CGENDIR = @cgendir@
|
|
CPUDIR = $(srcdir)/../cpu
|
|
GUILE = `if test -f ../guile/libguile/guile ; then echo ../guile/libguile/guile; else echo guile ; fi`
|
|
CGEN = "$(GUILE) -l ${cgendir}/guile.scm -s"
|
|
CGENFLAGS = -v
|
|
|
|
CGENDEPS = \
|
|
$(CGENDIR)/desc.scm $(CGENDIR)/desc-cpu.scm \
|
|
$(CGENDIR)/opcodes.scm $(CGENDIR)/opc-asmdis.scm \
|
|
$(CGENDIR)/opc-ibld.scm $(CGENDIR)/opc-itab.scm \
|
|
$(CGENDIR)/opc-opinst.scm \
|
|
cgen-asm.in cgen-dis.in cgen-ibld.in
|
|
|
|
CGEN_CPUS = cris epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
|
|
|
|
if CGEN_MAINT
|
|
BPF_DEPS = stamp-bpf
|
|
CRIS_DEPS = stamp-cris
|
|
EPIPHANY_DEPS = stamp-epiphany
|
|
FR30_DEPS = stamp-fr30
|
|
FRV_DEPS = stamp-frv
|
|
IP2K_DEPS = stamp-ip2k
|
|
IQ2000_DEPS = stamp-iq2000
|
|
LM32_DEPS = stamp-lm32
|
|
M32C_DEPS = stamp-m32c
|
|
M32R_DEPS = stamp-m32r
|
|
MEP_DEPS = stamp-mep
|
|
MT_DEPS = stamp-mt
|
|
OR1K_DEPS = stamp-or1k
|
|
XC16X_DEPS = stamp-xc16x
|
|
XSTORMY16_DEPS = stamp-xstormy16
|
|
else
|
|
BPF_DEPS =
|
|
CRIS_DEPS =
|
|
EPIPHANY_DEPS =
|
|
FR30_DEPS =
|
|
FRV_DEPS =
|
|
IP2K_DEPS =
|
|
IQ2000_DEPS =
|
|
LM32_DEPS =
|
|
M32C_DEPS =
|
|
M32R_DEPS =
|
|
MEP_DEPS =
|
|
MT_DEPS =
|
|
OR1K_DEPS =
|
|
XC16X_DEPS =
|
|
XSTORMY16_DEPS =
|
|
endif
|
|
|
|
run-cgen:
|
|
$(SHELL) $(srcdir)/cgen.sh opcodes $(srcdir) $(CGEN) \
|
|
$(CGENDIR) "$(CGENFLAGS)" $(arch) $(prefix) $(archfile) $(opcfile) \
|
|
"$(options)" "$(extrafiles)"
|
|
touch stamp-${prefix}
|
|
.PHONY: run-cgen
|
|
|
|
# Maintainer utility rule to regenerate all cgen files.
|
|
run-cgen-all:
|
|
for c in $(CGEN_CPUS) ; \
|
|
do \
|
|
$(MAKE) stamp-$$c || exit 1 ; \
|
|
done
|
|
.PHONY: run-cgen-all
|
|
|
|
# For now, require developers to configure with --enable-cgen-maint.
|
|
|
|
$(srcdir)/bpf-desc.h $(srcdir)/bpf-desc.c $(srcdir)/bpf-opc.h \
|
|
$(srcdir)/bpf-opc.c $(srcdir)/bpf-ibld.c \
|
|
$(srcdir)/bpf-asm.c $(srcdir)/bpf-dis.c: $(BPF_DEPS)
|
|
@true
|
|
|
|
stamp-bpf: $(CGENDEPS) $(CPUDIR)/bpf.cpu $(CPUDIR)/bpf.opc
|
|
$(MAKE) run-cgen arch=bpf prefix=bpf \
|
|
archfile=$(CPUDIR)/bpf.cpu opcfile=$(CPUDIR)/bpf.opc
|
|
|
|
$(srcdir)/cris-desc.h $(srcdir)/cris-desc.c $(srcdir)/cris-opc.h: $(CRIS_DEPS)
|
|
@true
|
|
|
|
stamp-cris: $(CGENDEPS) $(CPUDIR)/cris.cpu
|
|
$(SHELL) $(srcdir)/cgen.sh desc $(srcdir) $(CGEN) \
|
|
$(CGENDIR) "$(CGENFLAGS)" cris cris $(CPUDIR)/cris.cpu /dev/null \
|
|
"$(options)" "$(extrafiles)"
|
|
touch $@
|
|
|
|
$(srcdir)/epiphany-desc.h $(srcdir)/epiphany-desc.c $(srcdir)/epiphany-opc.h \
|
|
$(srcdir)/epiphany-opc.c $(srcdir)/epiphany-ibld.c \
|
|
$(srcdir)/epiphany-opinst.c $(srcdir)/epiphany-asm.c \
|
|
$(srcdir)/epiphany-dis.c: $(EPIPHANY_DEPS)
|
|
@true
|
|
|
|
stamp-epiphany: $(CGENDEPS) $(CPUDIR)/epiphany.cpu $(CPUDIR)/epiphany.opc
|
|
$(MAKE) run-cgen arch=epiphany prefix=epiphany options= \
|
|
archfile=$(CPUDIR)/epiphany.cpu opcfile=$(CPUDIR)/epiphany.opc extrafiles=
|
|
|
|
$(srcdir)/fr30-desc.h $(srcdir)/fr30-desc.c $(srcdir)/fr30-opc.h $(srcdir)/fr30-opc.c $(srcdir)/fr30-ibld.c $(srcdir)/fr30-asm.c $(srcdir)/fr30-dis.c: $(FR30_DEPS)
|
|
@true
|
|
stamp-fr30: $(CGENDEPS) $(CPUDIR)/fr30.cpu $(CPUDIR)/fr30.opc
|
|
$(MAKE) run-cgen arch=fr30 prefix=fr30 options= \
|
|
archfile=$(CPUDIR)/fr30.cpu opcfile=$(CPUDIR)/fr30.opc extrafiles=
|
|
|
|
$(srcdir)/frv-desc.h $(srcdir)/frv-desc.c $(srcdir)/frv-opc.h $(srcdir)/frv-opc.c $(srcdir)/frv-ibld.c $(srcdir)/frv-asm.c $(srcdir)/frv-dis.c: $(FRV_DEPS)
|
|
@true
|
|
stamp-frv: $(CGENDEPS) $(CPUDIR)/frv.cpu $(CPUDIR)/frv.opc
|
|
$(MAKE) run-cgen arch=frv prefix=frv options= \
|
|
archfile=$(CPUDIR)/frv.cpu opcfile=$(CPUDIR)/frv.opc extrafiles=
|
|
|
|
$(srcdir)/ip2k-desc.h $(srcdir)/ip2k-desc.c $(srcdir)/ip2k-opc.h $(srcdir)/ip2k-opc.c $(srcdir)/ip2k-ibld.c $(srcdir)/ip2k-asm.c $(srcdir)/ip2k-dis.c: $(IP2K_DEPS)
|
|
@true
|
|
stamp-ip2k: $(CGENDEPS) $(CPUDIR)/ip2k.cpu $(CPUDIR)/ip2k.opc
|
|
$(MAKE) run-cgen arch=ip2k prefix=ip2k options= \
|
|
archfile=$(CPUDIR)/ip2k.cpu opcfile=$(CPUDIR)/ip2k.opc extrafiles=
|
|
|
|
$(srcdir)/iq2000-desc.h $(srcdir)/iq2000-desc.c $(srcdir)/iq2000-opc.h $(srcdir)/iq2000-opc.c $(srcdir)/iq2000-ibld.c $(srcdir)/iq2000-asm.c $(srcdir)/iq2000-dis.c: $(IQ2000_DEPS)
|
|
@true
|
|
stamp-iq2000: $(CGENDEPS) $(CPUDIR)/iq2000.cpu \
|
|
$(CPUDIR)/iq2000.opc $(CPUDIR)/iq2000m.cpu \
|
|
$(CPUDIR)/iq10.cpu
|
|
$(MAKE) run-cgen arch=iq2000 prefix=iq2000 options= \
|
|
archfile=$(CPUDIR)/iq2000.cpu \
|
|
opcfile=$(CPUDIR)/iq2000.opc extrafiles=
|
|
|
|
$(srcdir)lm32-desc.h $(srcdir)/lm32-desc.c $(srcdir)/lm32-opc.h $(srcdir)/lm32-opc.c $(srcdir)/lm32-ibld.c $(srcdir)/lm32-opinst.c $(srcdir)/lm32-asm.c $(srcdir)/lm32-dis.c: $(LM32_DEPS)
|
|
@true
|
|
stamp-lm32: $(CGENDEPS) $(CPUDIR)/lm32.cpu $(CPUDIR)/lm32.opc
|
|
$(MAKE) run-cgen arch=lm32 prefix=lm32 options=opinst \
|
|
archfile=$(CPUDIR)/lm32.cpu \
|
|
opcfile=$(CPUDIR)/lm32.opc \
|
|
extrafiles=opinst
|
|
|
|
$(srcdir)/m32c-desc.h $(srcdir)/m32c-desc.c $(srcdir)/m32c-opc.h $(srcdir)/m32c-opc.c $(srcdir)/m32c-ibld.c $(srcdir)/m32c-asm.c $(srcdir)/m32c-dis.c: $(M32C_DEPS)
|
|
@true
|
|
stamp-m32c: $(CGENDEPS) $(CPUDIR)/m32c.cpu $(CPUDIR)/m32c.opc
|
|
$(MAKE) run-cgen arch=m32c prefix=m32c options= \
|
|
archfile=$(CPUDIR)/m32c.cpu \
|
|
opcfile=$(CPUDIR)/m32c.opc extrafiles=
|
|
|
|
$(srcdir)/m32r-desc.h $(srcdir)/m32r-desc.c $(srcdir)/m32r-opc.h $(srcdir)/m32r-opc.c $(srcdir)/m32r-ibld.c $(srcdir)/m32r-opinst.c $(srcdir)/m32r-asm.c $(srcdir)/m32r-dis.c: $(M32R_DEPS)
|
|
@true
|
|
stamp-m32r: $(CGENDEPS) $(CPUDIR)/m32r.cpu $(CPUDIR)/m32r.opc
|
|
$(MAKE) run-cgen arch=m32r prefix=m32r options=opinst \
|
|
archfile=$(CPUDIR)/m32r.cpu \
|
|
opcfile=$(CPUDIR)/m32r.opc extrafiles=opinst
|
|
|
|
$(srcdir)/mep-desc.h $(srcdir)/mep-desc.c $(srcdir)/mep-opc.h $(srcdir)/mep-opc.c $(srcdir)/mep-ibld.c $(srcdir)/mep-asm.c $(srcdir)/mep-dis.c: $(MEP_DEPS)
|
|
@true
|
|
stamp-mep: $(CGENDEPS) $(CPUDIR)/mep.cpu $(CPUDIR)/mep-default.cpu $(CPUDIR)/mep-core.cpu $(CPUDIR)/mep-h1.cpu $(CPUDIR)/mep-ext-cop.cpu $(CPUDIR)/mep-sample-ucidsp.cpu $(CPUDIR)/mep-rhcop.cpu $(CPUDIR)/mep-fmax.cpu $(CPUDIR)/mep.opc
|
|
$(MAKE) run-cgen arch=mep prefix=mep options= \
|
|
archfile=$(CPUDIR)/mep.cpu opcfile=$(CPUDIR)/mep.opc extrafiles=
|
|
|
|
$(srcdir)/mt-desc.h $(srcdir)/mt-desc.c $(srcdir)/mt-opc.h $(srcdir)/mt-opc.c $(srcdir)/mt-ibld.c $(srcdir)/mt-asm.c $(srcdir)/mt-dis.c: $(MT_DEPS)
|
|
@true
|
|
stamp-mt: $(CGENDEPS) $(CPUDIR)/mt.cpu $(CPUDIR)/mt.opc
|
|
$(MAKE) run-cgen arch=mt prefix=mt options= \
|
|
archfile=$(CPUDIR)/mt.cpu \
|
|
opcfile=$(CPUDIR)/mt.opc extrafiles=
|
|
|
|
$(srcdir)/or1k-desc.h $(srcdir)/or1k-desc.c $(srcdir)/or1k-opc.h $(srcdir)/or1k-opc.c $(srcdir)/or1k-ibld.c $(srcdir)/or1k-opinst.c $(srcdir)/or1k-asm.c $(srcdir)/or1k-dis.c: $(OR1K_DEPS)
|
|
@true
|
|
stamp-or1k: $(CGENDEPS) $(CPUDIR)/or1k.cpu $(CPUDIR)/or1k.opc $(CPUDIR)/or1kcommon.cpu $(CPUDIR)/or1korbis.cpu $(CPUDIR)/or1korfpx.cpu
|
|
$(MAKE) run-cgen arch=or1k prefix=or1k options=opinst \
|
|
archfile=$(CPUDIR)/or1k.cpu opcfile=$(CPUDIR)/or1k.opc extrafiles=opinst
|
|
|
|
$(srcdir)/xc16x-desc.h $(srcdir)/xc16x-desc.c $(srcdir)/xc16x-opc.h $(srcdir)/xc16x-opc.c $(srcdir)/xc16x-ibld.c $(srcdir)/xc16x-asm.c $(srcdir)/xc16x-dis.c: $(XC16X_DEPS)
|
|
@true
|
|
stamp-xc16x: $(CGENDEPS) $(CPUDIR)/xc16x.cpu $(CPUDIR)/xc16x.opc
|
|
$(MAKE) run-cgen arch=xc16x prefix=xc16x options= \
|
|
archfile=$(CPUDIR)/xc16x.cpu \
|
|
opcfile=$(CPUDIR)/xc16x.opc \
|
|
extrafiles=
|
|
|
|
$(srcdir)/xstormy16-desc.h $(srcdir)/xstormy16-desc.c $(srcdir)/xstormy16-opc.h $(srcdir)/xstormy16-opc.c $(srcdir)/xstormy16-ibld.c $(srcdir)/xstormy16-asm.c $(srcdir)/xstormy16-dis.c: $(XSTORMY16_DEPS)
|
|
@true
|
|
stamp-xstormy16: $(CGENDEPS) $(CPUDIR)/xstormy16.cpu $(CPUDIR)/xstormy16.opc
|
|
$(MAKE) run-cgen arch=xstormy16 prefix=xstormy16 options= \
|
|
archfile=$(CPUDIR)/xstormy16.cpu opcfile=$(CPUDIR)/xstormy16.opc extrafiles=
|
|
|
|
MOSTLYCLEANFILES = aarch64-gen$(EXEEXT_FOR_BUILD) i386-gen$(EXEEXT_FOR_BUILD) \
|
|
ia64-gen$(EXEEXT_FOR_BUILD) s390-mkopc$(EXEEXT_FOR_BUILD) s390-opc.tab \
|
|
z8kgen$(EXEEXT_FOR_BUILD) opc2c$(EXEEXT_FOR_BUILD)
|
|
|
|
MAINTAINERCLEANFILES = $(srcdir)/aarch64-asm-2.c $(srcdir)/aarch64-dis-2.c \
|
|
$(srcdir)/aarch64-opc-2.c $(srcdir)/i386-tbl.h $(srcdir)/i386-init.h \
|
|
$(srcdir)/ia64-asmtab.c $(srcdir)/z8k-opc.h \
|
|
$(srcdir)/msp430-decode.c \
|
|
$(srcdir)/rl78-decode.c \
|
|
$(srcdir)/rx-decode.c
|
|
|
|
aarch64-gen$(EXEEXT_FOR_BUILD): aarch64-gen.o $(BUILD_LIB_DEPS)
|
|
$(LINK_FOR_BUILD) aarch64-gen.o $(BUILD_LIBS)
|
|
|
|
aarch64-gen.o: aarch64-gen.c $(BFD_H) $(INCDIR)/getopt.h $(INCDIR)/libiberty.h\
|
|
$(INCDIR)/opcode/aarch64.h config.h aarch64-opc.h aarch64-tbl.h
|
|
$(COMPILE_FOR_BUILD) -c $(srcdir)/aarch64-gen.c
|
|
|
|
$(srcdir)/aarch64-asm-2.c: @MAINT@ aarch64-gen$(exeext_for_build)
|
|
./aarch64-gen$(exeext_for_build) --gen-asm > $@
|
|
$(srcdir)/aarch64-dis-2.c: @MAINT@ aarch64-gen$(exeext_for_build)
|
|
./aarch64-gen$(exeext_for_build) --gen-dis > $@
|
|
$(srcdir)/aarch64-opc-2.c: @MAINT@ aarch64-gen$(exeext_for_build)
|
|
./aarch64-gen$(exeext_for_build) --gen-opc > $@
|
|
|
|
i386-gen$(EXEEXT_FOR_BUILD): i386-gen.o $(BUILD_LIB_DEPS)
|
|
$(LINK_FOR_BUILD) i386-gen.o $(BUILD_LIBS)
|
|
|
|
i386-gen.o: i386-gen.c i386-opc.h $(srcdir)/../include/opcode/i386.h \
|
|
$(INCDIR)/ansidecl.h $(INCDIR)/getopt.h $(INCDIR)/hashtab.h \
|
|
$(INCDIR)/libiberty.h $(INCDIR)/opcode/i386.h $(INCDIR)/safe-ctype.h \
|
|
config.h i386-opc.h sysdep.h
|
|
$(COMPILE_FOR_BUILD) -c $(srcdir)/i386-gen.c
|
|
|
|
$(srcdir)/i386-tbl.h: $(srcdir)/i386-init.h
|
|
@echo $@
|
|
|
|
$(srcdir)/i386-init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) i386-opc.tbl i386-reg.tbl i386-opc.h
|
|
$(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - \
|
|
< $(srcdir)/i386-opc.tbl \
|
|
| ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir)
|
|
|
|
i386-opc.lo: $(srcdir)/i386-tbl.h
|
|
|
|
ia64-gen$(EXEEXT_FOR_BUILD): ia64-gen.o $(BUILD_LIB_DEPS)
|
|
$(LINK_FOR_BUILD) ia64-gen.o $(BUILD_LIBS)
|
|
|
|
ia64-gen.o: ia64-gen.c $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h \
|
|
$(INCDIR)/libiberty.h $(INCDIR)/opcode/ia64.h $(INCDIR)/safe-ctype.h \
|
|
$(INCDIR)/symcat.h config.h ia64-opc-a.c ia64-opc-b.c \
|
|
ia64-opc-d.c ia64-opc-f.c ia64-opc-i.c ia64-opc-m.c \
|
|
ia64-opc-x.c ia64-opc.h sysdep.h
|
|
$(COMPILE_FOR_BUILD) -c $(srcdir)/ia64-gen.c
|
|
|
|
# Use a helper variable for the dependencies to avoid 'make' issues
|
|
# with continuations in comments, as @MAINT@ can be expanded to '#'.
|
|
ia64_asmtab_deps = ia64-gen$(EXEEXT_FOR_BUILD) ia64-ic.tbl \
|
|
ia64-raw.tbl ia64-waw.tbl ia64-war.tbl
|
|
$(srcdir)/ia64-asmtab.c: @MAINT@ $(ia64_asmtab_deps)
|
|
./ia64-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir) > $@
|
|
|
|
ia64-opc.lo: $(srcdir)/ia64-asmtab.c
|
|
|
|
$(srcdir)/msp430-decode.c: @MAINT@ $(srcdir)/msp430-decode.opc opc2c$(EXEEXT_FOR_BUILD)
|
|
./opc2c$(EXEEXT_FOR_BUILD) $(srcdir)/msp430-decode.opc > $(srcdir)/msp430-decode.c
|
|
|
|
$(srcdir)/rl78-decode.c: @MAINT@ $(srcdir)/rl78-decode.opc opc2c$(EXEEXT_FOR_BUILD)
|
|
./opc2c$(EXEEXT_FOR_BUILD) $(srcdir)/rl78-decode.opc > $(srcdir)/rl78-decode.c
|
|
|
|
$(srcdir)/rx-decode.c: @MAINT@ $(srcdir)/rx-decode.opc opc2c$(EXEEXT_FOR_BUILD)
|
|
./opc2c$(EXEEXT_FOR_BUILD) $(srcdir)/rx-decode.opc > $(srcdir)/rx-decode.c
|
|
|
|
opc2c$(EXEEXT_FOR_BUILD): opc2c.o $(BUILD_LIBS_DEPS)
|
|
$(LINK_FOR_BUILD) opc2c.o $(BUILD_LIBS)
|
|
|
|
opc2c.o: opc2c.c $(INCDIR)/libiberty.h
|
|
$(COMPILE_FOR_BUILD) -c $(srcdir)/opc2c.c
|
|
|
|
s390-mkopc$(EXEEXT_FOR_BUILD): s390-mkopc.c
|
|
$(COMPILE_FOR_BUILD) -o s390-mkopc $(srcdir)/s390-mkopc.c
|
|
|
|
s390-opc.tab: s390-mkopc$(EXEEXT_FOR_BUILD) s390-opc.txt
|
|
./s390-mkopc$(EXEEXT_FOR_BUILD) < $(srcdir)/s390-opc.txt > s390-opc.tab
|
|
|
|
s390-opc.lo: s390-opc.tab
|
|
|
|
z8kgen$(EXEEXT_FOR_BUILD): z8kgen.o $(BUILD_LIB_DEPS)
|
|
$(LINK_FOR_BUILD) z8kgen.o $(BUILD_LIBS)
|
|
|
|
z8kgen.o: z8kgen.c
|
|
$(COMPILE_FOR_BUILD) -c $(srcdir)/z8kgen.c
|
|
|
|
$(srcdir)/z8k-opc.h: @MAINT@ z8kgen$(EXEEXT_FOR_BUILD)
|
|
./z8kgen$(EXEEXT_FOR_BUILD) -a > $@
|
|
|
|
z8k-dis.lo: $(srcdir)/z8k-opc.h
|
|
|
|
MIPS_DEFS=`case \`cat ../bfd/ofiles\` in *elfxx-mips*) echo "-DHAVE_BFD_MIPS_ELF_GET_ABIFLAGS=1";; esac`
|
|
mips-dis.lo: mips-dis.c
|
|
if am__fastdepCC
|
|
$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(MIPS_DEFS) $<
|
|
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
|
else
|
|
if AMDEP
|
|
source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
|
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
endif
|
|
$(LTCOMPILE) -c -o $@ $(MIPS_DEFS) $<
|
|
endif
|
|
|
|
sh-dis.lo: sh-dis.c
|
|
if am__fastdepCC
|
|
$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ @archdefs@ $(srcdir)/sh-dis.c
|
|
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
|
else
|
|
if AMDEP
|
|
source='sh-dis.c' object='$@' libtool=yes @AMDEPBACKSLASH@
|
|
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
endif
|
|
$(LTCOMPILE) -c -o $@ @archdefs@ $(srcdir)/sh-dis.c
|
|
endif
|