# Makefile for GNU Assembler
-# Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 1996
+# Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 1997
# Free Software Foundation, Inc.
# This file is part of GNU GAS.
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with GNU GAS; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with GNU GAS; see the file COPYING. If not, write to the Free
+# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
# The targets for external use include:
# all, doc, proto, install, uninstall, includes, TAGS,
INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
INSTALL_XFORM1= $(INSTALL_XFORM) -b=.1
-DISTSTUFF= make-gas.com m68k-parse.c itbl-parse.y itbl-lex.l itbl-ops.c
+DISTSTUFF= make-gas.com m68k-parse.c itbl-parse.c itbl-lex.c
AR = ar
AR_FLAGS = qv
BISON = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo bison -y ; fi`
BISONFLAGS =
+LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi`
+LEXFLAGS =
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
RANLIB = ranlib
fi`
RUNTESTFLAGS=
+
# use @target_cpu_type@ for refering to configured target name
-IT_HDRS=itbl-parse.h $(srcdir)/itbl-ops.h itbl-cpu.h
+IT_HDRS=itbl-parse.h $(srcdir)/itbl-ops.h
IT_SRCS=itbl-parse.c itbl-lex.c $(srcdir)/itbl-ops.c
IT_DEPS=$(srcdir)/itbl-parse.y $(srcdir)/itbl-lex.l $(srcdir)/config/itbl-@
[email protected]
IT_OBJS=itbl-parse.o itbl-lex.o itbl-ops.o
# Lists of files for various purposes.
-REAL_SOURCES = \
+SOURCES = \
$(srcdir)/app.c \
$(srcdir)/as.c \
$(srcdir)/atof-generic.c \
$(srcdir)/ecoff.c \
$(srcdir)/stabs.c
-# in an expedient order
-LINKED_SOURCES = \
- targ-cpu.c \
- obj-format.c \
- atof-targ.c
-
-SOURCES = $(LINKED_SOURCES) $(REAL_SOURCES)
-
-REAL_HEADERS = \
+HEADERS = \
$(srcdir)/as.h \
$(srcdir)/bignum.h \
$(srcdir)/expr.h \
$(srcdir)/write.h \
$(srcdir)/ecoff.h
-LINKED_HEADERS = \
- targ-env.h \
- targ-cpu.h \
- obj-format.h \
- atof-targ.h \
- itbl-cpu.h
-
-HEADERS = $(LINKED_HEADERS) $(REAL_HEADERS)
-
TE_OBJS=
# @target_frag@
OBJS = \
- targ-cpu.o \
- obj-format.o \
- atof-targ.o \
+ $(TARG_CPU_O) \
+ $(OBJ_FORMAT_O) \
+ $(ATOF_TARG_O) \
app.o \
as.o \
atof-generic.o \
as.new: $(OBJS) $(LIBDEPS)
$(HLDENV) $(CC) $(HLDFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS) $(LOADLIBES)
-$(OBJS): config.h as.h targ-env.h obj-format.h targ-cpu.h flonum.h expr.h \
- struc-symbol.h write.h frags.h hash.h read.h symbols.h tc.h obj.h \
- listing.h bignum.h $(IT_HDRS) $(srcdir)/../include/libiberty.h
+$(OBJS): config.h as.h $(TARG_ENV_H) $(OBJ_FORMAT_H) $(TARG_CPU_H) flonum.h \
+ expr.h struc-symbol.h write.h frags.h hash.h read.h symbols.h tc.h \
+ obj.h listing.h bignum.h $(srcdir)/../include/libiberty.h
gasp.new: $(GASPOBJS) ../libiberty/libiberty.a
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o gasp.new $(GASPOBJS) ../libiberty/libiberty.a $(LOADLIBES)
# Compiling object files from source files.
TARG_CPU_DEP_a29k =
-TARG_CPU_DEP_alpha = $(srcdir)/../include/opcode/alpha.h subsegs.h
+TARG_CPU_DEP_alpha = $(srcdir)/../include/opcode/alpha.h subsegs.h \
+ $(srcdir)/../include/obstack.h
# start-sanitize-arc
-TARG_CPU_DEP_arc = $(srcdir)/../include/opcode/arc.h subsegs.h
+TARG_CPU_DEP_arc = $(srcdir)/../include/opcode/arc.h subsegs.h \
+ $(srcdir)/../include/obstack.h
# end-sanitize-arc
-TARG_CPU_DEP_arm = subsegs.h
+TARG_CPU_DEP_arm = subsegs.h $(srcdir)/../include/obstack.h
TARG_CPU_DEP_generic =
TARG_CPU_DEP_h8300 = $(srcdir)/../include/opcode/h8300.h
-TARG_CPU_DEP_h8500 = $(srcdir)/../opcodes/h8500-opc.h subsegs.h
-TARG_CPU_DEP_hppa = subsegs.h
-TARG_CPU_DEP_i386 = $(srcdir)/../include/opcode/i386.h subsegs.h
+TARG_CPU_DEP_h8500 = $(srcdir)/../opcodes/h8500-opc.h subsegs.h \
+ $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_hppa = subsegs.h $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_i386 = $(srcdir)/../include/opcode/i386.h subsegs.h \
+ $(srcdir)/../include/obstack.h
TARG_CPU_DEP_i860 =
TARG_CPU_DEP_i960 =
TARG_CPU_DEP_m68k = $(srcdir)/../include/opcode/m68k.h \
- $(srcdir)/config/m68k-parse.h subsegs.h
-TARG_CPU_DEP_m88k = $(srcdir)/config/m88k-opcode.h subsegs.h
-TARG_CPU_DEP_mips = $(srcdir)/../include/opcode/mips.h subsegs.h \
- $(srcdir)/config/itbl-mips.h
+ $(srcdir)/config/m68k-parse.h subsegs.h \
+ $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_m88k = $(srcdir)/config/m88k-opcode.h subsegs.h \
+ $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_mips = $(srcdir)/../include/opcode/mips.h subsegs.h \
+ $(srcdir)/../include/obstack.h \
+ $(srcdir)/config/itbl-mips.h $(srcdir)/itbl-ops.h
TARG_CPU_DEP_ns32k =
-TARG_CPU_DEP_ppc = subsegs.h
-TARG_CPU_DEP_sh = $(srcdir)/../opcodes/sh-opc.h subsegs.h
-TARG_CPU_DEP_sparc = subsegs.h
+TARG_CPU_DEP_ppc = subsegs.h $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_sh = $(srcdir)/../opcodes/sh-opc.h subsegs.h \
+ $(srcdir)/../include/obstack.h
+TARG_CPU_DEP_sparc = subsegs.h $(srcdir)/../include/opcode/sparc.h \
+ $(srcdir)/../include/obstack.h
TARG_CPU_DEP_tahoe =
TARG_CPU_DEP_vax =
-TARG_CPU_DEP_w65 = $(srcdir)/../opcodes/w65-opc.h subsegs.h
+TARG_CPU_DEP_w65 = $(srcdir)/../opcodes/w65-opc.h subsegs.h \
+ $(srcdir)/../include/obstack.h
TARG_CPU_DEP_z8k = $(srcdir)/../opcodes/z8k-opc.h
+# The implicit .c.o rule doesn't work here, perhaps because of the
+# variables, or perhaps because the sources are not on vpath.
+$(TARG_CPU_O): $(TARG_CPU_C) $(TARG_CPU_DEP_@target_cpu_type@)
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(TARG_CPU_C)
+$(OBJ_FORMAT_O): $(OBJ_FORMAT_C)
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(OBJ_FORMAT_C)
+$(ATOF_TARG_O): $(ATOF_TARG_C)
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(ATOF_TARG_C)
+
gasp.o : gasp.c sb.h macro.h config.h
sb.o : sb.c sb.h config.h
macro.o : macro.c macro.h sb.h hash.h config.h
app.o : app.c write.h
-as.o : as.c output-file.h write.h subsegs.h sb.h macro.h
+as.o : as.c output-file.h write.h subsegs.h sb.h macro.h \
+ $(srcdir)/../include/obstack.h
atof-generic.o : atof-generic.c
bignum-copy.o : bignum-copy.c
-cond.o : cond.c
-debug.o : debug.c subsegs.h
-expr.o : expr.c
+cond.o : cond.c $(srcdir)/../include/obstack.h
+debug.o : debug.c subsegs.h $(srcdir)/../include/obstack.h
+expr.o : expr.c $(srcdir)/../include/obstack.h
flonum-konst.o : flonum-konst.c
flonum-copy.o : flonum-copy.c
flonum-mult.o : flonum-mult.c
-frags.o : frags.c subsegs.h
+frags.o : frags.c subsegs.h $(srcdir)/../include/obstack.h
hash.o : hash.c
input-file.o : input-file.c input-file.h
input-scrub.o : input-scrub.c input-file.h sb.h
-listing.o : listing.c input-file.h subsegs.h
-literal.o : literal.c subsegs.h
+listing.o : listing.c input-file.h subsegs.h $(srcdir)/../include/obstack.h
+literal.o : literal.c subsegs.h $(srcdir)/../include/obstack.h
messages.o : messages.c
output-file.o : output-file.c output-file.h
-read.o : read.c sb.h macro.h
-subsegs.o : subsegs.c subsegs.h
-symbols.o : symbols.c subsegs.h
-write.o : write.c subsegs.h output-file.h
+read.o : read.c sb.h macro.h $(srcdir)/../include/obstack.h
+subsegs.o : subsegs.c subsegs.h $(srcdir)/../include/obstack.h
+symbols.o : symbols.c subsegs.h $(srcdir)/../include/obstack.h
+write.o : write.c subsegs.h output-file.h $(srcdir)/../include/obstack.h
ecoff.o : ecoff.c ecoff.h \
$(srcdir)/../include/coff/internal.h $(srcdir)/../include/coff/sym.h \
$(srcdir)/../include/coff/ecoff.h \
$(srcdir)/../include/coff/symconst.h \
$(srcdir)/../include/aout/stab_gnu.h
-stabs.o : stabs.c subsegs.h $(srcdir)/../include/aout/stab_gnu.h
-atof-targ.o : atof-targ.c
-obj-format.o : obj-format.c
-targ-cpu.o : targ-cpu.c $(TARG_CPU_DEP_@target_cpu_type@) $(IT_HDRS)
+stabs.o : stabs.c subsegs.h $(srcdir)/../include/aout/stab_gnu.h \
+ $(srcdir)/../include/obstack.h
obj-elf.o : $(srcdir)/config/obj-elf.c
$(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/obj-elf.c
obj-ecoff.o : $(srcdir)/config/obj-ecoff.c
$(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/obj-ecoff.c
+obj-coff.o: $(srcdir)/config/obj-coff.c
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/obj-coff.c
e-mipself.o : $(srcdir)/config/e-mipself.c
$(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-mipself.c
e-mipsecoff.o : $(srcdir)/config/e-mipsecoff.c
$(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-mipsecoff.c
+e-i386coff.o: $(srcdir)/config/e-i386coff.c
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-i386coff.c
+e-i386elf.o: $(srcdir)/config/e-i386elf.c
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-i386elf.c
# The m68k operand parser.
-m68k-parse.c: $(srcdir)/config/m68k-parse.y
+# Depend upon itbl-parse.c to serialize a parallel make.
+m68k-parse.c: $(srcdir)/config/m68k-parse.y itbl-parse.c
$(BISON) $(BISONFLAGS) $(srcdir)/config/m68k-parse.y
mv -f y.tab.c m68k-parse.c
m68k-parse.o: m68k-parse.c $(srcdir)/config/m68k-parse.h
-
# The instruction table specification lexical analyzer and parser.
itbl-parse.h : $(srcdir)/itbl-parse.y
itbl-parse.c : $(srcdir)/itbl-parse.y
itbl-lex.c : $(srcdir)/itbl-lex.l
$(LEX) $(LEXFLAGS) $(srcdir)/itbl-lex.l
mv -f lex.yy.c itbl-lex.c
-itbl-lex.o: itbl-lex.c
- $(CC) -Wall -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) itbl-lex.c
+itbl-lex.o: itbl-lex.c itbl-parse.h
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) itbl-lex.c
-itbl-parse.c itbl-parse.h: $(srcdir)/itbl-parse.y
- $(YACC) -d $(YACCFLAGS) $(srcdir)/itbl-parse.y
+itbl-parse.c: $(srcdir)/itbl-parse.y
+ $(BISON) -d $(BISONFLAGS) $(srcdir)/itbl-parse.y
mv -f y.tab.c itbl-parse.c
mv -f y.tab.h itbl-parse.h
-itbl-parse.o: itbl-parse.c itbl-parse.h $(srcdir)/itbl-ops.h itbl-cpu.h
- $(CC) -Wall -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) itbl-parse.c
+itbl-parse.h: itbl-parse.c
+
+itbl-parse.o: itbl-parse.c itbl-parse.h $(srcdir)/itbl-ops.h
+ $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) itbl-parse.c
-itbl-ops.o: $(srcdir)/itbl-ops.c \
- $(srcdir)/itbl-ops.h itbl-cpu.h itbl-parse.h
+itbl-ops.o: $(srcdir)/itbl-ops.c $(srcdir)/itbl-ops.h itbl-parse.h
$(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/itbl-ops.c
-# stand-alone assembler & disassembler
+# stand-alone itbl assembler & disassembler
itbl-test-ops.o: $(srcdir)/itbl-ops.c \
- $(srcdir)/itbl-ops.h itbl-cpu.h itbl-parse.h
+ $(srcdir)/itbl-ops.h itbl-parse.h
$(CC) -o itbl-test-ops.o -DSTAND_ALONE -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/itbl-ops.c
-itbl-test.o: $(srcdir)/itbl-test.c $(srcdir)/itbl-ops.h itbl-cpu.h
- $(CC) -c -DSTAND_ALONE $(ALL_CFLAGS) $(INCLUDES) $(srcdir)/itbl-test.c
+itbl-test.o: $(srcdir)/testsuite/gas/all/itbl-test.c $(srcdir)/itbl-ops.h
+ $(CC) -c -DSTAND_ALONE $(ALL_CFLAGS) $(INCLUDES)\
+ $(srcdir)/testsuite/gas/all/itbl-test.c
IT_TEST_OBJS= itbl-parse.o itbl-lex.o itbl-test-ops.o
itbl-test: $(IT_TEST_OBJS) itbl-test.o $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o itbl-test itbl-test.o $(IT_TEST_OBJS) $(LIBS)
-# target itbl definitions for configuring coprocessor itbl support.
-# configure should have taken care of this for us...
-
-
# Remake the info files.
doc: $(srcdir)/as.info
# Like clean but also delete the links made to configure gas.
-DISTCLEAN_HERE = config.status Makefile targ-env.h targ-cpu.h \
- targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \
- atof-targ.h itbl-cpu.h \
+DISTCLEAN_HERE = config.status Makefile targ-env.h targ-cpu.h obj-format.h \
+ TAGS itbl-cpu.h \
config-stamp config.h conf config.log config.cache .gdbinit \
testsuite/Makefile testsuite/config.status