old-cross-binutils/gas/Makefile.am
Joel Brobecker 270c993744 Make it easy to make --disable-werror the default for both binutils and gdb
The goal of this patch is to provide an easy way to make
--disable-werror the default when building binutils, or the parts
of binutils that need to get built when building GDB. In development
mode, we want to continue making -Werror the default with GCC.
But, when making releases, I think we want to make it as easy as
possible for regular users to successfully build from sources.

GDB already has this kind of feature to turn -Werror as well as
the use of the libmcheck library. As GDB Release Manager, I take
advantage of it to turn those off after having cut the branch.
I'd like to be able to do the same for the binutils bits. And
perhaps Tristan will want to do the same for his releases too
(not sure, binutils builders might be a little savvier than GDB
builders).

This patch introduces a new file, called development.sh, which
just sets a variable called $development. In our development branches
(Eg. "master"), it's set to true. But setting it to false would allow
us to change the default behavior of various development-related
features to be turned off; in this case, it turns off the use of
-Werror by default (use --enable-werror to turn it back on).

bfd/ChangeLog:

        * development.sh: New file.
        * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
        Make -Werror the default with GCC only if DEVELOPMENT is true.
        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
        $(srcdir)/development.sh.
        * Makefile.in, configure: Regenerate.

binutils/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
        bfd's development.sh.
        * Makefile.in, configure: Regenerate.

gas/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
        bfd's development.sh.
        * Makefile.in, configure: Regenerate.

gold/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): New.
        * Makefile.in, configure: Regenerate.

gprof/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
        bfd's development.sh.
        * Makefile.in, configure: Regenerate.

ld/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
        bfd's development.sh.
        * Makefile.in, configure: Regenerate.

opcodes/ChangeLog:

        * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
        bfd's development.sh.
        * Makefile.in, configure: Regenerate.

gdb/ChangeLog:

        * development.sh: Delete.
        * Makefile.in (config.status): Adjust dependency on development.sh.
        * configure.ac: Adjust development.sh source call.
        * configure: Regenerate.

gdb/gdbserver/ChangeLog:

        * configure.ac: Adjust development.sh source call.
        * Makefile.in (config.status): Adjust dependency on development.sh.
        * configure: Regenerate.

Tested on x86_64-linux by building two ways: One with DEVELOPMENT
set to true, and one with DEVELOPMENT set to false. In the first
case, I could see the use of -Werror, while it disappeared in
the second case.
2014-06-05 05:47:29 -07:00

698 lines
20 KiB
Makefile

## Process this file with automake to generate Makefile.in
#
# Copyright (C) 2012-2014 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 = 1.11 dejagnu foreign no-dist
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
SUBDIRS = doc po
tooldir = $(exec_prefix)/$(target_alias)
YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo @YACC@ ; fi`
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 =
WARN_CFLAGS = @WARN_CFLAGS@
NO_WERROR = @NO_WERROR@
AM_CFLAGS = $(WARN_CFLAGS)
TARG_CPU = @target_cpu_type@
TARG_CPU_C = $(srcdir)/config/tc-@target_cpu_type@.c
TARG_CPU_O = tc-@target_cpu_type@.@OBJEXT@
TARG_CPU_H = $(srcdir)/config/tc-@target_cpu_type@.h
OBJ_FORMAT_C = $(srcdir)/config/obj-@obj_format@.c
OBJ_FORMAT_O = obj-@obj_format@.@OBJEXT@
OBJ_FORMAT_H = $(srcdir)/config/obj-@obj_format@.h
TARG_ENV_H = $(srcdir)/config/te-@te_file@.h
ATOF_TARG_C = $(srcdir)/config/atof-@atof@.c
ATOF_TARG_O = atof-@atof@.@OBJEXT@
# use @target_cpu_type@ for refering to configured target name
IT_HDRS=itbl-parse.h $(srcdir)/itbl-ops.h
IT_SRCS=itbl-parse.c itbl-lex-wrapper.c $(srcdir)/itbl-ops.c
IT_DEPS=$(srcdir)/itbl-parse.y $(srcdir)/itbl-lex.l $(srcdir)/config/itbl-@target_cpu_type@.h
IT_OBJS=itbl-parse.@OBJEXT@ itbl-lex.@OBJEXT@ itbl-ops.@OBJEXT@
# Regular source files.
GAS_CFILES = \
app.c \
as.c \
atof-generic.c \
compress-debug.c \
cond.c \
depend.c \
dwarf2dbg.c \
dw2gencfi.c \
ecoff.c \
ehopt.c \
expr.c \
flonum-copy.c \
flonum-konst.c \
flonum-mult.c \
frags.c \
hash.c \
input-file.c \
input-scrub.c \
listing.c \
literal.c \
macro.c \
messages.c \
output-file.c \
read.c \
remap.c \
sb.c \
stabs.c \
subsegs.c \
symbols.c \
write.c
CFILES = $(GAS_CFILES) itbl-ops.c cgen.c
HFILES = \
as.h \
asintl.h \
bignum.h \
bit_fix.h \
cgen.h \
compress-debug.h \
dwarf2dbg.h \
dw2gencfi.h \
ecoff.h \
emul-target.h \
emul.h \
expr.h \
flonum.h \
frags.h \
hash.h \
input-file.h \
itbl-lex.h \
itbl-ops.h \
listing.h \
macro.h \
obj.h \
output-file.h \
read.h \
sb.h \
struc-symbol.h \
subsegs.h \
symbols.h \
tc.h \
write.h
# CPU files in config.
TARGET_CPU_CFILES = \
config/tc-aarch64.c \
config/tc-alpha.c \
config/tc-arc.c \
config/tc-arm.c \
config/tc-avr.c \
config/tc-bfin.c \
config/tc-cr16.c \
config/tc-cris.c \
config/tc-crx.c \
config/tc-d10v.c \
config/tc-d30v.c \
config/tc-dlx.c \
config/tc-epiphany.c \
config/tc-fr30.c \
config/tc-frv.c \
config/tc-h8300.c \
config/tc-hppa.c \
config/tc-ia64.c \
config/tc-i370.c \
config/tc-i386.c \
config/tc-i860.c \
config/tc-i960.c \
config/tc-ip2k.c \
config/tc-iq2000.c \
config/tc-lm32.c \
config/tc-m32c.c \
config/tc-m32r.c \
config/tc-m68hc11.c \
config/tc-m68k.c \
config/tc-mcore.c \
config/tc-mep.c \
config/tc-metag.c \
config/tc-microblaze.c \
config/tc-mips.c \
config/tc-mmix.c \
config/tc-mn10200.c \
config/tc-mn10300.c \
config/tc-moxie.c \
config/tc-msp430.c \
config/tc-mt.c \
config/tc-nds32.c \
config/tc-nios2.c \
config/tc-ns32k.c \
config/tc-or1k.c \
config/tc-pdp11.c \
config/tc-pj.c \
config/tc-ppc.c \
config/tc-rl78.c \
config/tc-rx.c \
config/tc-s390.c \
config/tc-score.c \
config/tc-sh.c \
config/tc-sh64.c \
config/tc-sparc.c \
config/tc-spu.c \
config/tc-tic30.c \
config/tc-tic4x.c \
config/tc-tic54x.c \
config/tc-tic6x.c \
config/tc-tilegx.c \
config/tc-tilepro.c \
config/tc-vax.c \
config/tc-v850.c \
config/tc-xstormy16.c \
config/tc-xc16x.c \
config/tc-xgate.c \
config/tc-xtensa.c \
config/tc-z80.c \
config/tc-z8k.c \
config/xtensa-relax.c
TARGET_CPU_HFILES = \
config/tc-aarch64.h \
config/tc-alpha.h \
config/tc-arc.h \
config/tc-arm.h \
config/tc-avr.h \
config/tc-bfin.h \
config/tc-cr16.h \
config/tc-cris.h \
config/tc-crx.h \
config/tc-d10v.h \
config/tc-d30v.h \
config/tc-dlx.h \
config/tc-epiphany.h \
config/tc-fr30.h \
config/tc-frv.h \
config/tc-h8300.h \
config/tc-hppa.h \
config/tc-ia64.h \
config/tc-i370.h \
config/tc-i386.h \
config/tc-i860.h \
config/tc-i960.h \
config/tc-ip2k.h \
config/tc-iq2000.h \
config/tc-lm32.h \
config/tc-m32c.h \
config/tc-m32r.h \
config/tc-m68hc11.h \
config/tc-m68k.h \
config/tc-mcore.h \
config/tc-mep.h \
config/tc-metag.h \
config/tc-microblaze.h \
config/tc-mips.h \
config/tc-mmix.h \
config/tc-mn10200.h \
config/tc-mn10300.h \
config/tc-msp430.h \
config/tc-mt.h \
config/tc-nds32.h \
config/tc-nios2.h \
config/tc-ns32k.h \
config/tc-or1k.h \
config/tc-pdp11.h \
config/tc-pj.h \
config/tc-ppc.h \
config/tc-rl78.h \
config/tc-rx.h \
config/tc-s390.h \
config/tc-score.h \
config/tc-sh.h \
config/tc-sh64.h \
config/tc-sparc.h \
config/tc-spu.h \
config/tc-tic30.h \
config/tc-tic4x.h \
config/tc-tic54x.h \
config/tc-tic6x.h \
config/tc-tilegx.h \
config/tc-tilepro.h \
config/tc-vax.h \
config/tc-v850.h \
config/tc-xstormy16.h \
config/tc-xc16x.h \
config/tc-xgate.h \
config/tc-xtensa.h \
config/tc-z80.h \
config/tc-z8k.h \
config/xtensa-relax.h
# OBJ files in config
OBJ_FORMAT_CFILES = \
config/obj-aout.c \
config/obj-coff.c \
config/obj-ecoff.c \
config/obj-elf.c \
config/obj-evax.c \
config/obj-fdpicelf.c \
config/obj-macho.c \
config/obj-multi.c \
config/obj-som.c
OBJ_FORMAT_HFILES = \
config/obj-aout.h \
config/obj-coff.h \
config/obj-ecoff.h \
config/obj-elf.h \
config/obj-evax.h \
config/obj-fdpicelf.h \
config/obj-macho.h \
config/obj-multi.h \
config/obj-som.h
# Emulation header files in config
TARG_ENV_HFILES = \
config/te-386bsd.h \
config/te-aix5.h \
config/te-armeabi.h \
config/te-armlinuxeabi.h \
config/te-dynix.h \
config/te-epoc-pe.h \
config/te-freebsd.h \
config/te-generic.h \
config/te-gnu.h \
config/te-go32.h \
config/te-hppa.h \
config/te-hppa64.h \
config/te-hppalinux64.h \
config/te-i386aix.h \
config/te-ia64aix.h \
config/te-interix.h \
config/te-lynx.h \
config/te-mach.h \
config/te-macos.h \
config/te-nbsd.h \
config/te-nbsd532.h \
config/te-netware.h \
config/te-pc532mach.h \
config/te-pe.h \
config/te-psos.h \
config/te-riscix.h \
config/te-solaris.h \
config/te-sparcaout.h \
config/te-sun3.h \
config/te-svr4.h \
config/te-symbian.h \
config/te-tmips.h \
config/te-vxworks.h \
config/te-wince-pe.h
TARG_ENV_CFILES = \
config/te-vms.c
# Multi files in config
MULTI_CFILES = \
config/e-crisaout.c \
config/e-criself.c \
config/e-i386aout.c \
config/e-i386coff.c \
config/e-i386elf.c \
config/e-mipself.c
CONFIG_ATOF_CFILES = \
config/atof-ieee.c \
config/atof-vax.c
POTFILES = $(MULTI_CFILES) $(CONFIG_ATOF_CFILES) \
$(TARG_ENV_HFILES) $(TARG_ENV_CFILES) $(OBJ_FORMAT_HFILES) \
$(OBJ_FORMAT_CFILES) $(TARGET_CPU_HFILES) $(TARGET_CPU_CFILES) \
$(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
# Note: GASP is now deprecated and has been removed. It is still
# available in the CVS archive or older binutils releases if it is needed.
noinst_PROGRAMS = as-new
noinst_SCRIPTS = $(GDBINIT)
EXTRA_SCRIPTS = .gdbinit
EXTRA_DIST = m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c \
bfin-parse.c bfin-parse.h bfin-lex.c \
rl78-parse.c rl78-parse.h \
rx-parse.c rx-parse.h
diststuff: $(EXTRA_DIST) info
DISTCLEANFILES = targ-cpu.h obj-format.h targ-env.h itbl-cpu.h cgen-desc.h
# Now figure out from those variables how to compile and link.
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
# This is the variable actually used when we compile.
# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that tm.h and config.h will be found in the compilation
# subdirectory rather than in the source directory.
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(srcdir)/config \
-I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ \
-DLOCALEDIR="\"$(datadir)/locale\""
# How to link with both our special library facilities
# and the system's installed libraries.
GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libiberty/libiberty.a
# Files to be copied away after each stage in building.
STAGESTUFF = *.@OBJEXT@ $(noinst_PROGRAMS)
as_new_SOURCES = $(GAS_CFILES)
as_new_LDADD = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \
$(extra_objects) $(GASLIBS) $(LIBINTL) $(LIBM)
as_new_DEPENDENCIES = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \
$(extra_objects) $(GASLIBS) $(LIBINTL_DEP)
EXTRA_as_new_SOURCES = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \
$(TARGET_CPU_HFILES) $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES) \
$(TARG_ENV_CFILES) $(CONFIG_ATOF_CFILES) $(MULTI_CFILES)
EXPECT = expect
RUNTEST = runtest
RUNTESTFLAGS=
check-DEJAGNU: site.exp
if [ -d testsuite ]; then \
true; \
else \
mkdir testsuite; \
fi
rm -f testsuite/site.exp
cp site.exp testsuite/site.exp
rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
LC_ALL=C; export LC_ALL; \
EXPECT=${EXPECT} ; export EXPECT ; \
runtest=$(RUNTEST); \
cd testsuite; \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \
$(RUNTESTFLAGS); \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi
# The m68k operand parser.
EXTRA_as_new_SOURCES += config/m68k-parse.y config/bfin-parse.y
# If m68k-parse.y is in a different directory, then ylwrap will use an
# absolute path when it invokes yacc, which will cause yacc to put the
# absolute path into the generated file. That's a pain when it comes
# to generating snapshots, because it introduces spurious diffs.
# Since when we make the snapshots $(srcdir) = ".", we check for that
# case and handle it differently. This means that anybody who
# configures with $(srcdir) = "." will have to set their path in the
# debugger if they want to debug m68k-parse.y. This is bad, but on
# the other hand it's good that people who use the prebuilt
# m68k-parse.c don't get a spurious absolute path.
m68k-parse.c: $(srcdir)/config/m68k-parse.y
f=$(srcdir)/config/m68k-parse.y; \
if [ $$f = "./config/m68k-parse.y" ]; then \
ln -s config/m68k-parse.y . > /dev/null 2>/dev/null || \
ln config/m68k-parse.y . > /dev/null 2>/dev/null || \
cp config/m68k-parse.y . >/dev/null 2>/dev/null; \
f=m68k-parse.y; \
else true; fi; \
$(SHELL) $(YLWRAP) $$f y.tab.c m68k-parse.c -- $(YACCCOMPILE); \
if [ $$f = "m68k-parse.y" ]; then \
rm -f m68k-parse.y; \
else true; fi
# Disable -Werror, if it has been enabled, since old versions of bison/
# yacc will produce working code which contain compile time warnings.
m68k-parse.@OBJEXT@: m68k-parse.c
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f m68k-parse.c || echo $(srcdir)/`m68k-parse.c $(NO_WERROR)
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='m68k-parse.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -c `test -f m68k-parse.c || echo $(srcdir)/`m68k-parse.c $(NO_WERROR)
endif
# Don't let the .y.h rule clobber m68k-parse.h.
m68k-parse.h: ; @true
$(srcdir)/config/m68k-parse.h: ; @true
bfin-parse.c: $(srcdir)/config/bfin-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/config/bfin-parse.y y.tab.c bfin-parse.c y.tab.h bfin-parse.h -- $(YACCCOMPILE) -d ;
bfin-parse.h: bfin-parse.c
bfin-parse.@OBJEXT@: bfin-parse.c \
$(srcdir)/config/bfin-aux.h $(srcdir)/config/bfin-defs.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h
bfin-parse.h: ; @true
$(srcdir)/config/bfin-parse.h: ; @true
bfin-lex.c: $(srcdir)/config/bfin-lex.l
$(SHELL) $(YLWRAP) $(srcdir)/config/bfin-lex.l lex.yy.c bfin-lex.c -- $(LEXCOMPILE)
bfin-lex-wrapper.@OBJEXT@: $(srcdir)/config/bfin-lex-wrapper.c bfin-lex.c bfin-parse.h $(srcdir)/config/bfin-defs.h
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/config/bfin-lex-wrapper.c $(NO_WERROR)
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='bfin-lex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -c $(srcdir)/config/bfin-lex-wrapper.c $(NO_WERROR)
endif
rl78-parse.c: $(srcdir)/config/rl78-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/config/rl78-parse.y y.tab.c rl78-parse.c y.tab.h rl78-parse.h -- $(YACCCOMPILE) -d ;
rl78-parse.h: rl78-parse.c
rl78-parse.@OBJEXT@: rl78-parse.c rl78-parse.h $(srcdir)/config/rl78-defs.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/rl78.h $(BFDDIR)/libbfd.h
rl78-defs.h: ; @true
rx-parse.c: $(srcdir)/config/rx-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/config/rx-parse.y y.tab.c rx-parse.c y.tab.h rx-parse.h -- $(YACCCOMPILE) -d ;
rx-parse.h: rx-parse.c
rx-parse.@OBJEXT@: rx-parse.c rx-parse.h $(srcdir)/config/rx-defs.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/rx.h $(BFDDIR)/libbfd.h
rx-defs.h: ; @true
$(srcdir)/config/rx-defs.h: ; @true
# The instruction table specification lexical analyzer and parser.
# Disable -Werror, if it has been enabled, since old versions of bison/
# yacc will produce working code which contain compile time warnings.
itbl-lex-wrapper.@OBJEXT@: itbl-lex-wrapper.c itbl-lex.c itbl-parse.h
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/itbl-lex-wrapper.c $(NO_WERROR)
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='itbl-lex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -c $(srcdir)/itbl-lex-wrapper.c $(NO_WERROR)
endif
# Disable -Werror, if it has been enabled, since old versions of bison/
# yacc will produce working code which contain compile time warnings.
itbl-parse.@OBJEXT@: itbl-parse.c
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f itbl-parse.c || echo $(srcdir)/`itbl-parse.c $(NO_WERROR)
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='itbl-parse.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -c `test -f itbl-parse.c || echo $(srcdir)/`itbl-parse.c $(NO_WERROR)
endif
itbl-parse.c: $(srcdir)/itbl-parse.y
$(SHELL) $(YLWRAP) $(srcdir)/itbl-parse.y y.tab.c itbl-parse.c y.tab.h itbl-parse.h -- $(YACCCOMPILE) -d
itbl-parse.h: itbl-parse.c ; @true
itbl-ops.@OBJEXT@: itbl-parse.h
# stand-alone itbl assembler & disassembler
EXTRA_PROGRAMS = itbl-test
itbl_test_SOURCES = itbl-parse.y itbl-lex.l
itbl_test_LDADD = itbl-tops.@OBJEXT@ itbl-test.@OBJEXT@ $(GASLIBS) @LEXLIB@
itbl-tops.@OBJEXT@: itbl-ops.c itbl-parse.h
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -o $@ -c -DSTAND_ALONE $(srcdir)/itbl-ops.c
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='itbl-ops.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -o $@ -DSTAND_ALONE -c $(srcdir)/itbl-ops.c
endif
itbl-test.@OBJEXT@: $(srcdir)/testsuite/gas/all/itbl-test.c
if am__fastdepCC
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ -DSTAND_ALONE $(srcdir)/testsuite/gas/all/itbl-test.c
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
source='itbl-test.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
$(COMPILE) -c -DSTAND_ALONE $(srcdir)/testsuite/gas/all/itbl-test.c
endif
# CGEN interface.
CGEN_CPU_PREFIX = @cgen_cpu_prefix@
cgen.@OBJEXT@: cgen.c cgen.h cgen-desc.h subsegs.h \
$(INCDIR)/obstack.h $(INCDIR)/opcode/cgen.h \
$(srcdir)/../opcodes/$(CGEN_CPU_PREFIX)-desc.h \
$(srcdir)/../opcodes/$(CGEN_CPU_PREFIX)-opc.h
# Remake the info files.
MOSTLYCLEANFILES = $(STAGESTUFF) core \
testsuite/*.@OBJEXT@ testsuite/*.out testsuite/gas.log testsuite/gas.sum \
testsuite/site.exp site.bak site.exp stage stage1 stage2
.PHONY: install-exec-local install-data-local
.PHONY: install-exec-bindir install-exec-tooldir
install-exec-local: install-exec-bindir @install_tooldir@
install-exec-bindir: $(noinst_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
install-exec-tooldir: install-exec-bindir $(noinst_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
n=`echo as | sed '$(transform)'`; \
if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/as$(EXEEXT)" ]; then \
rm -f $(DESTDIR)$(tooldir)/bin/as$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/as$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) as-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/as$(EXEEXT); \
else \
true ; \
fi
# These exist for maintenance purposes.
.PHONY: bootstrap bootstrap2 bootstrap3 stage1 stage2 stage3 comparison
bootstrap: as-new$(EXEEXT)
$(MAKE) stage1
rm -f stage && ln -s stage1 stage
$(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS)
$(MAKE) stage2
rm -f stage && ln -s stage2 stage
$(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS)
$(MAKE) comparison against=stage2
bootstrap2:
rm -f stage && ln -s stage1 stage
$(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS)
$(MAKE) stage2
rm -f stage && ln -s stage2 stage
$(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS)
$(MAKE) comparison against=stage2
bootstrap3:
rm -f stage && ln -s stage2 stage
$(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS)
$(MAKE) comparison against=stage2
# Copy the object files from a particular stage into a subdirectory.
stage1:
-mkdir stage1
-mv $(STAGESTUFF) stage1
if [ -f stage1/as-new$(EXEEXT) -a ! -f stage1/as$(EXEEXT) ] ; then (cd stage1 ; ln -s as-new$(EXEEXT) as$(EXEEXT)) ; fi
stage2:
-mkdir stage2
-mv $(STAGESTUFF) stage2
if [ -f stage2/as-new$(EXEEXT) -a ! -f stage2/as$(EXEEXT) ] ; then (cd stage2 ; ln -s as-new$(EXEEXT) as$(EXEEXT)) ; fi
stage3:
-mkdir stage3
-mv $(STAGESTUFF) stage3
if [ -f stage3/as-new$(EXEEXT) -a ! -f stage3/as$(EXEEXT) ] ; then (cd stage3 ; ln -s as-new as$(EXEEXT)) ; fi
against=stage2
# This rule is derived from corresponding code in the Makefile.in for gcc.
# The "tail +16c" is to bypass headers which may include timestamps or
# temporary assembly file names.
comparison:
x=0 ; \
for file in *.@OBJEXT@ ; do \
tail +16c ./$$file > tmp-foo1; \
if tail +16c ${against}/$$file > tmp-foo2 2>/dev/null ; then \
if cmp tmp-foo1 tmp-foo2 ; then \
true ; \
else \
echo $$file differs ; \
x=1 ; \
fi ; \
else true; fi ; \
done ; \
exit $$x
-rm -f tmp-foo*
.PHONY: de-stage1 de-stage2 de-stage3
de-stage1:
- (cd stage1 ; rm -f as$(EXEEXT) ; mv -f * ..)
- rmdir stage1
de-stage2:
- (cd stage2 ; rm -f as$(EXEEXT) ; mv -f * ..)
- rmdir stage2
de-stage3:
- (cd stage3 ; rm -f as$(EXEEXT) ; mv -f * ..)
- rmdir stage3
CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in \
$(srcdir)/configure.tgt \
$(BFDDIR)/development.sh