Re: Don't compile some opcodes files when bfd is 32-bit only
[binutils-gdb.git] / opcodes / Makefile.am
index 737e8e3d004e5b50228e32e6f949b56f09fd98ea..cf1be9003837e1060de7014eeb6ecd372496a698 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to generate Makefile.in
 #
-#   Copyright (C) 2012-2016 Free Software Foundation, Inc.
+#   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
@@ -17,7 +17,7 @@
 # <http://www.gnu.org/licenses/>.
 #
 
-AUTOMAKE_OPTIONS = 1.11 foreign no-dist
+AUTOMAKE_OPTIONS = foreign no-dist
 ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
 
 # Build '.' first so all generated files exist.
@@ -28,7 +28,6 @@ BFDDIR = $(srcdir)/../bfd
 
 WARN_CFLAGS = @WARN_CFLAGS@
 NO_WERROR = @NO_WERROR@
-NO_WMISSING_FIELD_INITIALIZERS = @NO_WMISSING_FIELD_INITIALIZERS@
 AM_CFLAGS = $(WARN_CFLAGS)
 
 COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -60,10 +59,11 @@ 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 \
-       h8500-opc.h \
        i386-init.h \
        i386-opc.h \
        i386-tbl.h \
@@ -81,16 +81,14 @@ HFILES = \
        mt-desc.h mt-opc.h \
        score-opc.h \
        sh-opc.h \
-       sh64-opc.h \
        sysdep.h \
-       w65-opc.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 = \
+TARGET64_LIBOPCODES_CFILES = \
        aarch64-asm.c \
        aarch64-asm-2.c \
        aarch64-dis.c \
@@ -99,22 +97,45 @@ TARGET_LIBOPCODES_CFILES = \
        aarch64-opc-2.c \
        alpha-dis.c \
        alpha-opc.c \
+       ia64-dis.c \
+       ia64-opc.c \
+       loongarch-opc.c \
+       loongarch-dis.c \
+       loongarch-coder.c \
+       mips-dis.c \
+       mips-opc.c \
+       mips16-opc.c \
+       micromips-opc.c \
+       mmix-dis.c \
+       mmix-opc.c \
+       nfp-dis.c \
+       riscv-dis.c \
+       riscv-opc.c
+
+TARGET32_LIBOPCODES_CFILES = \
        arc-dis.c \
        arc-ext.c \
        arc-opc.c \
        arm-dis.c \
        avr-dis.c \
        bfin-dis.c \
+       bpf-asm.c \
+       bpf-desc.c \
+       bpf-dis.c \
+       bpf-ibld.c \
+       bpf-opc.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 \
@@ -138,16 +159,9 @@ TARGET_LIBOPCODES_CFILES = \
        ft32-dis.c \
        ft32-opc.c \
        h8300-dis.c \
-       h8500-dis.c \
        hppa-dis.c \
-       i370-dis.c \
-       i370-opc.c \
        i386-dis.c \
        i386-opc.c \
-       i860-dis.c \
-       i960-dis.c \
-       ia64-dis.c \
-       ia64-opc.c \
        ip2k-asm.c \
        ip2k-desc.c \
        ip2k-dis.c \
@@ -183,7 +197,8 @@ TARGET_LIBOPCODES_CFILES = \
        m68hc11-opc.c \
        m68k-dis.c \
        m68k-opc.c \
-       m88k-dis.c \
+       s12z-dis.c \
+       s12z-opc.c \
        mcore-dis.c \
        mep-asm.c \
        mep-desc.c \
@@ -192,12 +207,6 @@ TARGET_LIBOPCODES_CFILES = \
        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 \
@@ -223,8 +232,8 @@ TARGET_LIBOPCODES_CFILES = \
        pj-opc.c \
        ppc-dis.c \
        ppc-opc.c \
-       riscv-dis.c \
-       riscv-opc.c \
+       pru-dis.c \
+       pru-opc.c \
        rl78-decode.c \
        rl78-dis.c \
        rx-decode.c \
@@ -234,8 +243,6 @@ TARGET_LIBOPCODES_CFILES = \
        score-dis.c \
        score7-dis.c \
        sh-dis.c \
-       sh64-dis.c \
-       sh64-opc.c \
        sparc-dis.c \
        sparc-opc.c \
        spu-dis.c \
@@ -245,8 +252,6 @@ TARGET_LIBOPCODES_CFILES = \
        tic54x-dis.c \
        tic54x-opc.c \
        tic6x-dis.c \
-       tic80-dis.c \
-       tic80-opc.c \
        tilegx-dis.c \
        tilegx-opc.c \
        tilepro-dis.c \
@@ -256,7 +261,7 @@ TARGET_LIBOPCODES_CFILES = \
        vax-dis.c \
        visium-dis.c \
        visium-opc.c \
-       w65-dis.c \
+       wasm32-dis.c \
        xc16x-asm.c \
        xc16x-desc.c \
        xc16x-dis.c \
@@ -275,7 +280,8 @@ TARGET_LIBOPCODES_CFILES = \
 
 # C source files that correspond to .o's ending up in libopcodes.
 LIBOPCODES_CFILES = \
-       $(TARGET_LIBOPCODES_CFILES) \
+       $(TARGET32_LIBOPCODES_CFILES) \
+       $(TARGET64_LIBOPCODES_CFILES) \
        dis-buf.c \
        dis-init.c \
        disassemble.c
@@ -296,7 +302,8 @@ CFILES = \
        s390-mkopc.c \
        z8kgen.c
 
-ALL_MACHINES = $(TARGET_LIBOPCODES_CFILES:.c=.lo)
+ALL32_MACHINES = $(TARGET32_LIBOPCODES_CFILES:.c=.lo)
+ALL64_MACHINES = $(TARGET64_LIBOPCODES_CFILES:.c=.lo)
 
 OFILES = @BFD_MACHINES@
 
@@ -318,12 +325,6 @@ endif
 endif
 
 libopcodes_la_SOURCES =  dis-buf.c disassemble.c dis-init.c
-# It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
-# Unfortunately this causes libtool to add -L$(libdir), referring to the
-# planned install directory of libbfd.  This can cause us to pick up an
-# old version of libbfd, or to pick up libbfd for the wrong architecture
-# if host != build. So for building with shared libraries we use a
-# hardcoded path to libbfd.so instead of relying on the entries in libbfd.la.
 libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@
 libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@
 libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@
@@ -363,7 +364,8 @@ CLEANFILES = \
 
 CGENDIR = @cgendir@
 CPUDIR = $(srcdir)/../cpu
-CGEN = "`if test -f ../guile/libguile/guile ; then echo ../guile/libguile/guile; else echo guile ; fi` -l ${cgendir}/guile.scm -s"
+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 = \
@@ -373,9 +375,11 @@ CGENDEPS = \
        $(CGENDIR)/opc-opinst.scm \
        cgen-asm.in cgen-dis.in cgen-ibld.in
 
-CGEN_CPUS = epiphany fr30 frv ip2k iq2000 lm32 m32c m32r mep mt or1k xc16x xstormy16
+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
@@ -390,6 +394,8 @@ OR1K_DEPS = stamp-or1k
 XC16X_DEPS = stamp-xc16x
 XSTORMY16_DEPS = stamp-xstormy16
 else
+BPF_DEPS =
+CRIS_DEPS =
 EPIPHANY_DEPS =
 FR30_DEPS =
 FRV_DEPS =
@@ -422,6 +428,24 @@ 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 \
@@ -468,7 +492,7 @@ stamp-lm32: $(CGENDEPS) $(CPUDIR)/lm32.cpu $(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
+       @true
 stamp-m32c: $(CGENDEPS) $(CPUDIR)/m32c.cpu $(CPUDIR)/m32c.opc
        $(MAKE) run-cgen arch=m32c prefix=m32c options= \
                archfile=$(CPUDIR)/m32c.cpu \
@@ -551,8 +575,10 @@ i386-gen.o: i386-gen.c i386-opc.h $(srcdir)/../include/opcode/i386.h \
 $(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-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir)
+$(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
 
@@ -609,6 +635,19 @@ $(srcdir)/z8k-opc.h: @MAINT@ z8kgen$(EXEEXT_FOR_BUILD)
 
 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