OSDN Git Service

* src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
[pf3gnuchains/gcc-fork.git] / gcc / Makefile.in
index 3623f4c..e59c8f5 100644 (file)
@@ -71,8 +71,11 @@ program_transform_name := @program_transform_name@
 
 # Directory where sources are, from where we are.
 srcdir = @srcdir@
-docobjdir = @docobjdir@
-docdir = $(srcdir)/doc
+docdir = @srcdir@/doc
+
+# Directory where sources are, absolute.
+abs_srcdir = @abs_srcdir@
+abs_docdir = @abs_srcdir@/doc
 
 # Top build directory, relative to here.
 top_builddir = ..
@@ -235,7 +238,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL@
 MAKEINFO = @MAKEINFO@
-MAKEINFOFLAGS =
+MAKEINFOFLAGS = --no-split
 TEXI2DVI = texi2dvi
 TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
 POD2MAN = pod2man --center="GNU" --release="gcc-$(version)"
@@ -248,6 +251,9 @@ STAMP = echo timestamp >
 @SET_MAKE@
 REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"
 
+# Locate mkinstalldirs.
+mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs
+
 # --------
 # UNSORTED
 # --------
@@ -682,16 +688,6 @@ PRETTY_PRINT_H = pretty-print.h input.h $(OBSTACK_H)
 DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
 C_PRETTY_PRINT_H = $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H)
 
-# target overrides
-ifneq ($(tmake_file),)
-include $(tmake_file)
-endif
-
-# host overrides
-ifneq ($(xmake_file),)
-include $(xmake_file)
-endif
-
 #\f
 # Now figure out from those variables how to compile and link.
 
@@ -714,7 +710,7 @@ LIBIBERTY = ../libiberty/libiberty.a
 BUILD_LIBIBERTY = @FORBUILD@/libiberty/libiberty.a
 
 # Dependencies on the intl and portability libraries.
-LIBDEPS= $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP)
+LIBDEPS= $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP) libcpp.a
 
 # Likewise, for use in the tools that must run on this machine
 # even if we are cross-building GCC.
@@ -722,7 +718,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
 
 # How to link with both our special library facilities
 # and the system's installed libraries.
-LIBS = @LIBS@ $(LIBIBERTY) $(LIBINTL) $(LIBICONV)
+LIBS = @LIBS@ libcpp.a $(LIBIBERTY) $(LIBINTL) $(LIBICONV)
 
 # Any system libraries needed just for GNAT.
 SYSLIBS = @GNAT_LIBEXC@
@@ -839,7 +835,7 @@ CXX_TARGET_OBJS=@cxx_target_objs@
 C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
   c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \
   c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \
-  c-objc-common.o c-dump.o c-pch.o libcpp.a $(C_TARGET_OBJS)
+  c-objc-common.o c-dump.o c-pch.o $(C_TARGET_OBJS)
 
 # Language-specific object files for C.
 C_OBJS = c-parse.o c-lang.o c-pretty-print.o stub-objc.o $(C_AND_OBJC_OBJS)
@@ -859,7 +855,7 @@ OBJS-common = \
  insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o      \
  integrate.o intl.o jump.o  langhooks.o lcm.o lists.o local-alloc.o       \
  loop.o optabs.o options.o opts.o params.o postreload.o predict.o         \
- print-rtl.o print-tree.o value-prof.o                                    \
+ print-rtl.o print-tree.o value-prof.o var-tracking.o                     \
  profile.o ra.o ra-build.o ra-colorize.o ra-debug.o ra-rewrite.o          \
  real.o recog.o reg-stack.o regclass.o regmove.o regrename.o              \
  reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o        \
@@ -885,7 +881,7 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
  insn-attr.h insn-attrtab.c insn-opinit.c insn-constants.h tm-preds.h \
  tree-check.h insn-conditions.c min-insn-modes.c insn-modes.c insn-modes.h \
  s-flags s-config s-codes s-mlib s-genrtl s-modes s-gtype gtyp-gen.h \
- s-output s-recog s-emit s-extract s-peep s-check s-conditions \
+ s-gtyp-gen s-output s-recog s-emit s-extract s-peep s-check s-conditions \
  s-attr s-attrtab s-opinit s-preds s-constants s-crt0 \
  genemit$(build_exeext) genoutput$(build_exeext) genrecog$(build_exeext) \
  genextract$(build_exeext) genflags$(build_exeext) gencodes$(build_exeext) \
@@ -951,6 +947,19 @@ ifneq ($(LANG_MAKEFRAGS),)
 include $(LANG_MAKEFRAGS)
 endif
 
+# target and host overrides must follow the per-language makefile fragments
+# so they can override or augment language-specific variables
+
+# target overrides
+ifneq ($(tmake_file),)
+include $(tmake_file)
+endif
+
+# host overrides
+ifneq ($(xmake_file),)
+include $(xmake_file)
+endif
+
 #\f
 
 # -----------------------------
@@ -1055,7 +1064,7 @@ all.cross: native gcc-cross cpp$(exeext) specs \
        $(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc
 # This is what must be made before installing GCC and converting libraries.
 start.encap: native xgcc$(exeext) cpp$(exeext) specs \
-       xlimits.h lang.start.encap @GENINSRC@ srcextra lang.srcextra
+       xlimits.h lang.start.encap @GENINSRC@ srcextra
 # These can't be made until after GCC can run.
 rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
 # This is what is made with the host's compiler
@@ -1156,7 +1165,7 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
        SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
        SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
        MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \
-       mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
+       mkinstalldirs='$(mkinstalldirs)' \
          $(SHELL) mklibgcc > tmp-libgcc.mk
        mv tmp-libgcc.mk libgcc.mk
 
@@ -1269,9 +1278,11 @@ c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     $(C_TREE_H) flags.h $(DIAGNOSTIC_H) $(TM_P_H)
 c-parse.o : c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     $(GGC_H) intl.h $(C_TREE_H) input.h flags.h toplev.h output.h $(CPPLIB_H) \
-    varray.h gt-c-parse.h
+    varray.h gt-c-parse.h langhooks.h
 
-srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
+srcextra: gcc.srcextra lang.srcextra
+
+gcc.srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
        -cp -p $^ $(srcdir)
 
 c-parse.c: c-parse.y
@@ -1292,7 +1303,8 @@ c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     opts.h c-pragma.h gt-c-decl.h cgraph.h $(HASHTAB_H) libfuncs.h except.h \
     $(LANGHOOKS_DEF_H)
 c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
-    $(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H)
+    $(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H) \
+    langhooks.h
 c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     $(C_TREE_H) $(C_PRETTY_PRINT_H) $(DIAGNOSTIC_H) \
     $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h
@@ -1342,7 +1354,7 @@ c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
        $(OBSTACK_H) $(C_COMMON_H) flags.h toplev.h output.h c-pragma.h intl.h \
        $(GGC_H) $(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def \
        $(DIAGNOSTIC_H) gt-c-common.h langhooks.h varray.h $(RTL_H) \
-       $(TARGET_H) $(C_TREE_H)
+       $(TARGET_H) $(C_TREE_H) langhooks.h
 c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \
        $(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h
 
@@ -1440,12 +1452,14 @@ s-specs : Makefile
        $(SHELL) $(srcdir)/move-if-change tmp-specs.h specs.h
        $(STAMP) s-specs
 
-options.c: $(lang_opt_files) $(srcdir)/opts.sh options.h intl.h
-
-options.h: $(lang_opt_files) $(srcdir)/opts.sh Makefile
+options.c options.h: s-options ; @true
+s-options: $(lang_opt_files) $(srcdir)/opts.sh Makefile
        AWK=$(AWK) $(SHELL) $(srcdir)/opts.sh \
                '$(SHELL) $(srcdir)/move-if-change' \
                options.c options.h $(lang_opt_files)
+       $(STAMP) s-options
+
+options.o: options.c options.h opts.h intl.h
 
 dumpvers: dumpvers.c
 
@@ -1520,7 +1534,7 @@ toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_
    graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
    $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
    langhooks.h insn-flags.h cfglayout.h real.h cfgloop.h \
-   hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H)
+   hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H) alloc-pool.h
        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
          -DTARGET_NAME=\"$(target_noncanonical)\" \
          -c $(srcdir)/toplev.c $(OUTPUT_OPTION)
@@ -1540,7 +1554,7 @@ print-rtl.o : print-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) real.h $(TM_P_H)
 rtlanal.o : rtlanal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
    $(RTL_H) hard-reg-set.h $(TM_P_H) insn-config.h $(RECOG_H) real.h flags.h \
-   $(BASIC_BLOCK_H)
+   $(BASIC_BLOCK_H) $(REGS_H)
 
 errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h
        $(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
@@ -1600,7 +1614,7 @@ dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    output.h $(DIAGNOSTIC_H) real.h hard-reg-set.h $(REGS_H) $(EXPR_H) \
    libfuncs.h toplev.h dwarf2out.h varray.h $(GGC_H) except.h dwarf2asm.h \
    $(TM_P_H) langhooks.h $(HASHTAB_H) gt-dwarf2out.h $(TARGET_H) cgraph.h \
-   $(MD5_H)
+   $(MD5_H) input.h
 dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) flags.h $(RTL_H) \
    $(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) gt-dwarf2asm.h
 vmsdbgout.o : vmsdbgout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -1635,7 +1649,8 @@ coverage.o : coverage.c gcov-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    gt-coverage.h $(HASHTAB_H)
 cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
    hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
-   output.h function.h cselib.h $(GGC_H) $(TM_P_H) gt-cselib.h $(PARAMS_H)
+   output.h function.h cselib.h $(GGC_H) $(TM_P_H) gt-cselib.h $(PARAMS_H) \
+   alloc-pool.h
 cse.o : cse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
    hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
    output.h function.h $(BASIC_BLOCK_H) $(GGC_H) $(TM_P_H) $(TIMEVAR_H) \
@@ -1657,6 +1672,9 @@ lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
 df.o : df.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    insn-config.h $(RECOG_H) function.h $(REGS_H) alloc-pool.h hard-reg-set.h \
    $(BASIC_BLOCK_H) df.h $(FIBHEAP_H)
+var-tracking.o : var-tracking.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+   $(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h flags.h \
+   $(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H)
 conflict.o : conflict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(OBSTACK_H) \
    $(HASHTAB_H) $(RTL_H) hard-reg-set.h $(BASIC_BLOCK_H)
 profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
@@ -1668,7 +1686,7 @@ value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H)
 loop.o : loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h $(LOOP_H) \
    insn-config.h $(REGS_H) hard-reg-set.h $(RECOG_H) $(EXPR_H) \
    real.h $(PREDICT_H) $(BASIC_BLOCK_H) function.h cfgloop.h \
-   toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H)
+   toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H) $(GGC_H)
 doloop.o : doloop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
    $(LOOP_H) $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) toplev.h \
    cfgloop.h
@@ -1676,7 +1694,7 @@ unroll.o : unroll.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-co
    function.h $(INTEGRATE_H) $(REGS_H) $(RECOG_H) flags.h $(EXPR_H) $(LOOP_H) toplev.h \
    hard-reg-set.h varray.h $(BASIC_BLOCK_H) $(TM_P_H) $(PREDICT_H) $(PARAMS_H) \
    cfgloop.h
-alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h
+alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h $(HASHTAB_H)
 flow.o : flow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
    flags.h insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
    $(RECOG_H) function.h except.h $(EXPR_H) $(GGC_H) $(TM_P_H)
@@ -1684,7 +1702,7 @@ cfg.o : cfg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h insn-
    $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
    function.h except.h $(GGC_H) $(TM_P_H) alloc-pool.h
 cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-   $(BASIC_BLOCK_H) cfglayout.h
+   $(BASIC_BLOCK_H) cfglayout.h $(TIMEVAR_H) toplev.h
 cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
    insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
    function.h except.h $(GGC_H) $(TM_P_H) insn-config.h $(EXPR_H)
@@ -1696,7 +1714,7 @@ cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) fla
 cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(TIMEVAR_H) $(BASIC_BLOCK_H) hard-reg-set.h output.h flags.h \
    $(RECOG_H) toplev.h $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) \
-   $(PARAMS_H)
+   $(PARAMS_H) $(REGS_H)
 cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) coretypes.h $(TM_H) \
    $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h flags.h
 cfgloopanal.o : cfgloopanal.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
@@ -1730,7 +1748,8 @@ bitmap.o : bitmap.c $(CONFIG_H) $(SYSTEM_H)  coretypes.h $(GTM_H) $(RTL_H) flags
 global.o : global.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
    reload.h function.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h output.h \
    toplev.h $(TM_P_H)
-varray.o : varray.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) varray.h $(GGC_H) errors.h
+varray.o : varray.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) varray.h $(GGC_H) errors.h \
+   $(HASHTAB_H)
 ra.o : ra.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TM_P_H) insn-config.h \
    $(RECOG_H) $(INTEGRATE_H) function.h $(REGS_H) $(OBSTACK_H) hard-reg-set.h \
    $(BASIC_BLOCK_H) df.h $(EXPR_H) output.h toplev.h flags.h reload.h ra.h
@@ -1741,7 +1760,7 @@ ra-colorize.o : ra-colorize.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_
     $(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h ra.h
 ra-debug.o : ra-debug.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    insn-config.h $(RECOG_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h \
-   ra.h $(TM_P_H)
+   ra.h $(TM_P_H) $(REGS_H)
 ra-rewrite.o : ra-rewrite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h $(EXPR_H) \
    output.h except.h ra.h reload.h insn-config.h
@@ -1759,7 +1778,7 @@ postreload.o : postreload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H)
 caller-save.o : caller-save.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    flags.h $(REGS_H) hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) function.h \
    $(RECOG_H) reload.h $(EXPR_H) toplev.h $(TM_P_H)
-bt-load.o : bt-load.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+bt-load.o : bt-load.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) except.h \
    $(BASIC_BLOCK_H) $(RTL_H) hard-reg-set.h $(REGS_H) $(OBSTACK_H) $(TM_P_H) \
    $(FIBHEAP_H) output.h $(TARGET_H) $(EXPR_H) flags.h $(INSN_ATTR_H)
 reorg.o : reorg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) conditions.h \
@@ -1824,7 +1843,7 @@ ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    cfgloop.h
 params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) toplev.h
 hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H)
-pretty-print.o: pretty-print.c $(PRETTY_PRINT_H)
+pretty-print.o: $(CONFIG_H) $(SYSTEM_H) pretty-print.c $(PRETTY_PRINT_H)
 
 $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) $(GGC_H) \
    $(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
@@ -2075,7 +2094,8 @@ gt-dbxout.h gt-c-common.h gt-c-decl.h gt-c-parse.h \
 gt-c-pragma.h gtype-c.h gt-input.h gt-cfglayout.h \
 gt-stringpool.h gt-langhooks.h : s-gtype ; @true
 
-gtyp-gen.h: Makefile
+gtyp-gen.h: s-gtyp-gen ; @true
+s-gtyp-gen: Makefile
        echo "/* This file is machine generated.  Do not edit.  */" > tmp-gtyp.h
        echo "static const char *const srcdir = "  >> tmp-gtyp.h
        echo "\"$(GTFILES_SRCDIR)\"" >> tmp-gtyp.h
@@ -2101,6 +2121,7 @@ gtyp-gen.h: Makefile
        echo "\"$$l\", "; done >> tmp-gtyp.h
        echo "NULL};" >> tmp-gtyp.h
        $(SHELL) $(srcdir)/move-if-change tmp-gtyp.h gtyp-gen.h 
+       $(STAMP) s-gtyp-gen
 
 s-gtype: gengtype$(build_exeext) $(GTFILES)
        $(RUN_GEN) ./gengtype
@@ -2262,8 +2283,8 @@ $(BUILD_PREFIX_1)rtl.o: $(srcdir)/rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYST
        sed -e 's/config[.]h/bconfig.h/' $(srcdir)/rtl.c > $(BUILD_PREFIX)rtl.c
        $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(BUILD_PREFIX)rtl.c $(OUTPUT_OPTION)
 
-print-rtl1.o: $(srcdir)/print-rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) \
-  $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H)
+print-rtl1.o: $(srcdir)/print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
+  $(GTM_H) $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H)
        rm -f print-rtl1.c
        sed -e 's/config[.]h/bconfig.h/' $(srcdir)/print-rtl.c > print-rtl1.c
        $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) print-rtl1.c $(OUTPUT_OPTION)
@@ -2303,10 +2324,6 @@ intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile
          -DLOCALEDIR=\"$(localedir)\" \
          -c $(srcdir)/intl.c $(OUTPUT_OPTION)
 
-# Make-lang.in should add dependencies of po-generated on any generated
-# files which need to be scanned by gettext (usually Yacc-generated parsers).
-po-generated: c-parse.c options.c
-
 #\f
 # Remake cpp and protoize.
 
@@ -2506,7 +2523,7 @@ fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
 
 .PHONY: install-gcc-tooldir
 install-gcc-tooldir:
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
+       $(mkinstalldirs) $(DESTDIR)$(gcc_tooldir)
 
 # Build fixed copies of system files.
 stmp-fixinc: fixinc.sh gsyslimits.h
@@ -2571,7 +2588,7 @@ xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h gen-protos$(build_
 fix-header$(build_exeext): fix-header.o scan-decls.o scan.o xsys-protos.h \
            c-incpath.o cppdefault.o prefix.o $(LIBDEPS) libcpp.a
        $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ fix-header.o \
-       c-incpath.o cppdefault.o scan-decls.o prefix.o scan.o libcpp.a $(LIBS)
+       c-incpath.o cppdefault.o scan-decls.o prefix.o scan.o $(LIBS)
 
 fix-header.o: fix-header.c $(OBSTACK_H) scan.h \
        xsys-protos.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(CPPLIB_H)
@@ -2597,7 +2614,7 @@ stmp-fixproto: fixhdr.ready fixproto stmp-int-hdrs
        else \
          : This line works around a 'make' bug in BSDI 1.1.; \
          FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"; export FIXPROTO_DEFINES; \
-         mkinstalldirs="$(SHELL) $(srcdir)/mkinstalldirs"; \
+         mkinstalldirs="$(mkinstalldirs)"; \
            export mkinstalldirs; \
          if [ -d "$(SYSTEM_HEADER_DIR)" ]; then \
            $(SHELL) ${srcdir}/fixproto include include $(SYSTEM_HEADER_DIR); \
@@ -2609,13 +2626,15 @@ stmp-fixproto: fixhdr.ready fixproto stmp-int-hdrs
 #\f
 # Remake the info files.
 
-stmp-docobjdir:
-       -test -d $(docobjdir) || mkdir $(docobjdir)
-       $(STAMP) stmp-docobjdir
-
 doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug
-info:: $(docobjdir)/cpp.info $(docobjdir)/gcc.info $(docobjdir)/gccint.info \
-        $(docobjdir)/gccinstall.info $(docobjdir)/cppinternals.info
+
+INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
+            doc/gccinstall.info doc/cppinternals.info
+
+info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
+
+srcinfo: $(INFOFILES)
+       -cp -p $^ $(srcdir)/doc
 
 TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi
 
@@ -2639,51 +2658,55 @@ TEXI_CPPINT_FILES = cppinternals.texi
 # patterns.   To use them, put each of the specific target with with their 
 # specific dependencies but no build commands.
 
-$(docobjdir)/cpp.info: $(TEXI_CPP_FILES)
-$(docobjdir)/gcc.info: $(TEXI_GCC_FILES)
-$(docobjdir)/gccint.info: $(TEXI_GCCINT_FILES)
-$(docobjdir)/cppinternals.info: $(TEXI_CPPINT_FILES)
+doc/cpp.info: $(TEXI_CPP_FILES)
+doc/gcc.info: $(TEXI_GCC_FILES)
+doc/gccint.info: $(TEXI_GCCINT_FILES)
+doc/cppinternals.info: $(TEXI_CPPINT_FILES)
 
-$(docobjdir)/%.info: %.texi stmp-docobjdir
+doc/%.info: %.texi
        if [ x$(BUILD_INFO) = xinfo ]; then \
                $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
                        -I $(docdir)/include -o $@ $<; \
        fi
 
 # Duplicate entry to handle renaming of gccinstall.info
-$(docobjdir)/gccinstall.info: $(TEXI_GCCINSTALL_FILES) stmp-docobjdir
+doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
        if [ x$(BUILD_INFO) = xinfo ]; then \
                $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
                        -I $(docdir)/include -o $@ $<; \
        fi
 
-$(docobjdir)/cpp.dvi: $(TEXI_CPP_FILES)
-$(docobjdir)/gcc.dvi: $(TEXI_GCC_FILES)
-$(docobjdir)/gccint.dvi: $(TEXI_GCCINT_FILES)
-$(docobjdir)/cppinternals.dvi: $(TEXI_CPPINT_FILES)
+doc/cpp.dvi: $(TEXI_CPP_FILES)
+doc/gcc.dvi: $(TEXI_GCC_FILES)
+doc/gccint.dvi: $(TEXI_GCCINT_FILES)
+doc/cppinternals.dvi: $(TEXI_CPPINT_FILES)
 
-dvi:: $(docobjdir)/gcc.dvi $(docobjdir)/gccint.dvi \
-      $(docobjdir)/gccinstall.dvi $(docobjdir)/cpp.dvi \
-      $(docobjdir)/cppinternals.dvi
+dvi:: doc/gcc.dvi doc/gccint.dvi doc/gccinstall.dvi doc/cpp.dvi \
+      doc/cppinternals.dvi
 
-$(docobjdir)/%.dvi: %.texi stmp-docobjdir
-       $(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+doc/%.dvi: %.texi
+       $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
 
 # Duplicate entry to handle renaming of gccinstall.dvi
-$(docobjdir)/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES) stmp-docobjdir
-       $(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
+       $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+
+MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 doc/fsf-funding.7
+
+generated-manpages: man 
 
-generated-manpages:: $(docobjdir)/gcov.1 $(docobjdir)/cpp.1 \
-       $(docobjdir)/gcc.1 $(docobjdir)/gfdl.7 $(docobjdir)/gpl.7 \
-       $(docobjdir)/fsf-funding.7
+man: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman
 
-$(docobjdir)/%.1: %.pod stmp-docobjdir
+srcman: $(MANFILES)
+       -cp -p $^ $(srcdir)/doc
+
+doc/%.1: %.pod
        $(STAMP) $@
        -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
                mv -f $(@).T$$$$ $@) || \
                (rm -f $(@).T$$$$ && exit 1)
 
-$(docobjdir)/%.7: %.pod stmp-docobjdir
+doc/%.7: %.pod
        $(STAMP) $@
        -($(POD2MAN) --section=7 $< > $(@).T$$$$ && \
                mv -f $(@).T$$$$ $@) || \
@@ -2771,8 +2794,7 @@ clean: mostlyclean lang.clean
        -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
        -rm -f cs-*
        -rm -rf libgcc
-       -rm -f *.dvi
-       -rm -f */*.dvi
+       -rm -f doc/*.dvi
 # Delete the include directory.
        -rm -rf include
 # Delete files used by the "multilib" facility (including libgcc subdirs).
@@ -2822,10 +2844,7 @@ maintainer-clean:
        -rm -f $(srcdir)/c-parse.y $(srcdir)/c-parse.c
        -rm -f cpp.??s cpp.*aux
        -rm -f gcc.??s gcc.*aux
-       -rm -f $(docobjdir)/cpp.info* $(docobjdir)/gcc.info* $(docobjdir)/gccint.info*
-       -rm -f $(docobjdir)/cppinternals.info*
-       -rm -f $(docobjdir)/gcov.1 $(docobjdir)/cpp.1 $(docobjdir)/gcc.1
-       -rm -f $(docobjdir)/fsf-funding.7 $(docobjdir)/gfdl.7 $(docobjdir)/gpl.7
+       -rm -f $(docdir)/*.info $(docdir)/*.1 $(docdir)/*.7 $(docdir)/*.dvi
 #\f
 # Entry points `install' and `uninstall'.
 # Also use `install-collect2' to install collect2 when the config files don't.
@@ -2849,14 +2868,14 @@ install-cpp: cpp$(exeext)
 # Create the installation directories.
 # $(libdir)/gcc/include isn't currently searched by cpp.
 installdirs:
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libsubdir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libexecsubdir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(includedir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(infodir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(slibdir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man1dir)
-       $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man7dir)
+       $(mkinstalldirs) $(DESTDIR)$(libsubdir)
+       $(mkinstalldirs) $(DESTDIR)$(libexecsubdir)
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       $(mkinstalldirs) $(DESTDIR)$(includedir)
+       $(mkinstalldirs) $(DESTDIR)$(infodir)
+       $(mkinstalldirs) $(DESTDIR)$(slibdir)
+       $(mkinstalldirs) $(DESTDIR)$(man1dir)
+       $(mkinstalldirs) $(DESTDIR)$(man7dir)
 
 # Install the compiler executables built during cross compilation.
 install-common: native $(EXTRA_PARTS) lang.install-common installdirs
@@ -2935,7 +2954,7 @@ install-info:: doc installdirs \
        $(DESTDIR)$(infodir)/gccinstall.info \
        $(DESTDIR)$(infodir)/gccint.info
 
-$(DESTDIR)$(infodir)/%.info: $(docobjdir)/%.info installdirs
+$(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
        rm -f $@
        if [ -f $< ]; then \
          for f in $(<)*; do \
@@ -2953,25 +2972,28 @@ $(DESTDIR)$(infodir)/%.info: $(docobjdir)/%.info installdirs
        else true; fi;
 
 # Install the man pages.
-install-man: installdirs $(GENERATED_MANPAGES) lang.install-man
-       -rm -f $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
-       -$(INSTALL_DATA) $(docobjdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
-       -chmod a-x $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
-       -rm -f $(DESTDIR)$(man1dir)/cpp$(man1ext)
-       -$(INSTALL_DATA) $(docobjdir)/cpp.1 $(DESTDIR)$(man1dir)/cpp$(man1ext)
-       -chmod a-x $(DESTDIR)$(man1dir)/cpp$(man1ext)
-       -rm -f $(DESTDIR)$(man1dir)/gcov$(man1ext)
-       -$(INSTALL_DATA) $(docobjdir)/gcov.1 $(DESTDIR)$(man1dir)/gcov$(man1ext)
-       -chmod a-x $(DESTDIR)$(man1dir)/gcov$(man1ext)
-       -rm -f $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
-       -$(INSTALL_DATA) $(docobjdir)/fsf-funding.7 $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
-       -chmod a-x $(DESTDIR)$(man7dir)/fsf-funding$(man7ext)
-       -rm -f $(DESTDIR)$(man7dir)/gfdl$(man7ext)
-       -$(INSTALL_DATA) $(docobjdir)/gfdl.7 $(DESTDIR)$(man7dir)/gfdl$(man7ext)
-       -chmod a-x $(DESTDIR)$(man7dir)/gfdl$(man7ext)
-       -rm -f $(DESTDIR)$(man7dir)/gpl$(man7ext)
-       -$(INSTALL_DATA) $(docobjdir)/gpl.7 $(DESTDIR)$(man7dir)/gpl$(man7ext)
-       -chmod a-x $(DESTDIR)$(man7dir)/gpl$(man7ext)
+install-man: installdirs lang.install-man \
+       $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
+       $(DESTDIR)$(man1dir)/cpp$(man1ext) \
+       $(DESTDIR)$(man1dir)/gcov$(man1ext) \
+       $(DESTDIR)$(man7dir)/fsf-funding$(man7ext) \
+       $(DESTDIR)$(man7dir)/gfdl$(man7ext) \
+       $(DESTDIR)$(man7dir)/gpl$(man7ext)
+
+$(DESTDIR)$(man1dir)/%$(man1ext): doc/%.1
+       -rm -f $@
+       -$(INSTALL_DATA) $< $@
+       -chmod a-x $@
+
+$(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7
+       -rm -f $@
+       -$(INSTALL_DATA) $< $@
+       -chmod a-x $@
+
+$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1
+       -rm -f $@
+       -$(INSTALL_DATA) $< $@ 
+       -chmod a-x $@
 
 # Install the library.
 install-libgcc: libgcc.mk libgcc.a libgcov.a installdirs
@@ -3041,8 +3063,8 @@ itoolsdatadir = $(libsubdir)/install-tools
 install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
     mkheaders xlimits.h
        -rm -rf $(DESTDIR)$(itoolsdir) $(DESTDIR)$(itoolsdatadir)
-       $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdatadir)/include
-       $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdir)
+       $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
+       $(mkinstalldirs) $(DESTDIR)$(itoolsdir)
        for file in $(USER_H); do \
          realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
          $(INSTALL_DATA) $$file \
@@ -3058,7 +3080,7 @@ install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
            $(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
        else :; fi
        if [ x$(STMP_FIXPROTO) != x ] ; then \
-         $(INSTALL_SCRIPT) $(srcdir)/mkinstalldirs \
+         $(INSTALL_SCRIPT) $(mkinstalldirs) \
                $(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
          $(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
          $(INSTALL_PROGRAM) fix-header$(build_exeext) \
@@ -3820,7 +3842,7 @@ update-po: $(CATALOGS:.gmo=.pox)
 # for each language, in case they weren't built or included
 # with the distribution.
 install-po:
-       $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(datadir)
+       $(mkinstalldirs) $(DESTDIR)$(datadir)
        cats="$(CATALOGS)"; for cat in $$cats; do \
          lang=`basename $$cat | sed 's/\.gmo$$//'`; \
          if [ -f $$cat ]; then :; \
@@ -3828,8 +3850,8 @@ install-po:
          else continue; \
          fi; \
          dir=$(localedir)/$$lang/LC_MESSAGES; \
-         echo $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir; \
-         $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir || exit 1; \
+         echo $(mkinstalldirs) $(DESTDIR)$$dir; \
+         $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
          echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
          $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
        done
@@ -3842,8 +3864,8 @@ install-po:
 # fairly modern (POSIX-compliant) awk.
 # The .pot file is left in the build directory.
 $(PACKAGE).pot: po/$(PACKAGE).pot
-po/$(PACKAGE).pot: force
+po/$(PACKAGE).pot: force options.c
        -test -d po || mkdir po
-       $(MAKE) po-generated
+       $(MAKE) srcextra
        AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
                $(XGETTEXT) $(PACKAGE) $(srcdir)