(dwarf2out.o): Includes expr.h.
[gcc.git] / gcc / Makefile.in
index aa12fc013b32a6c1dc3969d2c45bf26412470e6f..c7520c061e3bd146d4496592c8d7938f279ef815 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for GNU C compiler.
-#   Copyright (C) 1987, 88, 90-95, 1996 Free Software Foundation, Inc.
+#   Copyright (C) 1987, 88, 90-96, 1997 Free Software Foundation, Inc.
 
 #This file is part of GNU CC.
 
@@ -35,7 +35,7 @@ SUBDIRS =
 
 # Selection of languages to be made.
 # This is overridden by configure.
-LANGUAGES = c objective-c proto
+LANGUAGES = c objective-c proto gcov
 
 # Selection of languages to be made during stage1 build.
 # This is overridden by configure.
@@ -115,11 +115,13 @@ USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \
     $(srcdir)/ginclude/varargs.h $(srcdir)/ginclude/va-alpha.h \
     $(srcdir)/ginclude/va-h8300.h $(srcdir)/ginclude/va-i860.h \
     $(srcdir)/ginclude/va-i960.h $(srcdir)/ginclude/va-mips.h \
-    $(srcdir)/ginclude/va-m88k.h $(srcdir)/ginclude/va-pa.h \
+    $(srcdir)/ginclude/va-m88k.h $(srcdir)/ginclude/va-mn10300.h \
+    $(srcdir)/ginclude/va-pa.h \
     $(srcdir)/ginclude/va-pyr.h $(srcdir)/ginclude/va-sparc.h \
     $(srcdir)/ginclude/va-clipper.h $(srcdir)/ginclude/va-spur.h \
+    $(srcdir)/ginclude/va-m32r.h $(srcdir)/ginclude/va-sh.h \
     $(srcdir)/ginclude/iso646.h $(srcdir)/ginclude/va-ppc.h \
-    $(srcdir)/ginclude/proto.h $(srcdir)/ginclude/va-sh.h $(EXTRA_HEADERS) \
+    $(srcdir)/ginclude/proto.h $(EXTRA_HEADERS) \
     $(LANG_EXTRA_HEADERS)
 
 # Target to use whe installing assert.h.  Some systems may
@@ -257,7 +259,8 @@ LIBGCC2 = libgcc2.a
 # -g1 causes output of debug info only for file-scope entities.
 # we use this here because that should be enough, and also
 # so that -g1 will be tested.
-LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
+LIBGCC2_DEBUG_CFLAGS = -g1
+LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
 
 # Additional options to use when compiling libgcc2.a.
 # Some targets override this to -Iinclude
@@ -339,6 +342,10 @@ FIXINCLUDES=fixincludes
 # On most systems, this is empty.
 OTHER_FIXINCLUDES_DIRS=
 
+# A list of all the language-specific executables.
+# This is overridden by configure.
+COMPILERS = cc1$(exeext) cc1obj$(exeext)
+
 # List of things which should already be built whenever we try to use xgcc
 # to compile anything (without linking).
 GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES)
@@ -502,6 +509,7 @@ FLAGS_TO_PASS = \
        "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
        "RANLIB_TEST_FOR_TARGET=$(RANLIB_TEST_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
+       "STAGE_PREFIX=set-by-configure" \
        "exeext=$(exeext)" \
        "objext=$(objext)" \
        "exec_prefix=$(exec_prefix)" \
@@ -512,10 +520,6 @@ FLAGS_TO_PASS = \
 \f
 # Lists of files for various purposes.
 
-# A list of all the language-specific executables.
-# This is overridden by configure.
-COMPILERS = cc1$(exeext) cc1obj$(exeext)
-
 # Language-specific object files for C.
 C_OBJS = c-parse.o c-lang.o c-lex.o c-pragma.o \
    c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o
@@ -539,6 +543,7 @@ OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \
  regclass.o local-alloc.o global.o reload.o reload1.o caller-save.o \
  insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o \
  insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o \
+ profile.o \
  insn-attrtab.o $(out_object_file) getpwd.o convert.o $(EXTRA_OBJS)
 
 # GEN files are listed separately, so they can be built before doing parallel
@@ -567,6 +572,7 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
  $(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \
  protoize$(exeext) unprotoize$(exeext) \
  specs collect2$(exeext) $(USE_COLLECT2) underscore.c \
+ gcov$(exeext) *.bp \
  *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop \
  *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack \
  *.[si] \
@@ -1011,6 +1017,7 @@ stmp-multilib-sub:
        if [ -d $(dir) ]; then \
          cd $(dir); \
          rm -f libgcc.a $(EXTRA_MULTILIB_PARTS); \
+       else true; \
        fi
        $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
          AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
@@ -1046,6 +1053,7 @@ stmp-multilib-sub:
            HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
            MULTILIB_CFLAGS="$(MULTILIB_CFLAGS)" T="t" t$${f}; \
          mv t$${f} $(dir)/$${f}; \
+       else true; \
        fi; done
 
 objc-runtime: libobjc.a
@@ -1275,7 +1283,7 @@ sdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h except.h \
 dwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \
    insn-config.h reload.h output.h defaults.h
 dwarf2out.o : dwarf2out.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf2.h flags.h \
-   insn-config.h reload.h output.h defaults.h hard-reg-set.h regs.h
+   insn-config.h reload.h output.h defaults.h hard-reg-set.h regs.h expr.h
 xcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoffout.h flags.h
 emit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \
    function.h regs.h insn-config.h insn-codes.h real.h expr.h bytecode.h \
@@ -1293,6 +1301,8 @@ stupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
 
 cse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h real.h \
    insn-config.h recog.h
+profile.o : profile.c $(CONFIG_H) $(RTL_H) flags.h insn-flags.h gcov-io.h \
+   tree.h output.h
 loop.o : loop.c $(CONFIG_H) $(RTL_H) flags.h loop.h insn-config.h \
    insn-flags.h insn-codes.h regs.h hard-reg-set.h recog.h expr.h real.h
 unroll.o : unroll.c $(CONFIG_H) $(RTL_H) insn-config.h insn-codes.h \
@@ -1309,7 +1319,7 @@ local-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) flags.h basic-block.h \
 global.o : global.c $(CONFIG_H) $(RTL_H) flags.h  \
    basic-block.h regs.h hard-reg-set.h insn-config.h output.h
 
-reload.o : reload.c $(CONFIG_H) $(RTL_H) flags.h output.h \
+reload.o : reload.c $(CONFIG_H) $(RTL_H) flags.h output.h expr.h\
    reload.h recog.h hard-reg-set.h insn-config.h insn-codes.h regs.h real.h
 reload1.o : reload1.c $(CONFIG_H) $(RTL_H) real.h flags.h expr.h \
    reload.h regs.h hard-reg-set.h insn-config.h insn-flags.h insn-codes.h \
@@ -1814,6 +1824,11 @@ test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES)
        @echo Expect zero differences.
        diff $(srcdir)/protoize.c tmp-proto.c | cat
        -rm -f tmp-proto.[cs] tmp-proto$(objext)
+
+gcov.o: gcov.c gcov-io.h
+
+gcov: gcov.o $(LIBDEPS)
+       $(CC) $(ALL_CFLAGS) $(LDFLAGS) gcov.o $(LIBS) -o $@
 \f
 # Build the include directory.  The stamp files are stmp-* rather than
 # stamp-* so that mostlyclean does not force the include directory to
@@ -1880,10 +1895,12 @@ objc-headers: stmp-fixinc
        thisdir1=`pwd`; \
        srcdir1=`cd $(srcdir); pwd`; \
        cd objc; \
-       $(MAKE) -f $${srcdir1}/objc/Makefile copy-headers \
-       srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
-       GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
-       GCC_CFLAGS="$(GCC_CFLAGS)" incinstalldir=$${thisdir1}/include
+       if [ -f $${srcdir1}/objc/Makefile ]; then \
+         $(MAKE) -f $${srcdir1}/objc/Makefile copy-headers \
+         srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
+         GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
+         GCC_CFLAGS="$(GCC_CFLAGS)" incinstalldir=$${thisdir1}/include; \
+       fi
        touch objc-headers
 
 # Files related to the fixproto script.
@@ -1960,14 +1977,14 @@ $(srcdir)/cpp.info: cpp.texi
        cd $(srcdir); $(MAKEINFO) $(MAKEINFOFLAGS) cpp.texi
 
 $(srcdir)/gcc.info: gcc.texi extend.texi install.texi invoke.texi \
-               md.texi rtl.texi tm.texi 
+               md.texi rtl.texi tm.texi gcov.texi
        cd $(srcdir); $(MAKEINFO) $(MAKEINFOFLAGS) gcc.texi
 
 dvi: $(srcdir)/gcc.dvi $(srcdir)/cpp.dvi lang.dvi
 
 # This works with GNU Make's default rule.
 $(srcdir)/gcc.dvi: gcc.texi extend.texi install.texi invoke.texi \
-               md.texi rtl.texi tm.texi 
+               md.texi rtl.texi tm.texi gcov.texi 
        $(TEXI2DVI) $<
 
 # This works with GNU Make's default rule.
@@ -2034,6 +2051,7 @@ mostlyclean: bytecode.mostlyclean lang.mostlyclean
        -rm -f gcc.vrs gcc.kys gcc.tps gcc.pgs gcc.fns
 # Delete core dumps.
        -rm -f core */core
+       -rm -f *.bp */*.bp
 
 # Delete all files made by compilation
 # that don't exist in the distribution.
@@ -2197,6 +2215,13 @@ install-common: native installdirs $(EXTRA_PARTS) lang.install-common
        fi
        -rm -f $(libsubdir)/cpp$(exeext)
        $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
+# Install gcov if it was compiled.
+       -if [ -f gcov$(exeext) ]; \
+       then \
+           rm -f $(bindir)/gcov$(exeext); \
+           $(INSTALL_PROGRAM) gcov$(exeext) $(bindir)/gcov$(exeext); \
+           chmod a+x $(bindir)/gcov$(exeext); \
+       fi
 
 # Install the driver program as $(target_alias)-gcc
 # and also as either gcc (if native) or $(tooldir)/bin/gcc.