This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Makefile] PR bootstrap/12744 Allow release tarballs to build withoutbison/flex/makeinfo


This patch resolves PR 12744 which was the result of changing the sources to built in a read-only directory.

In summary, it does four things:


1) Removes the cleverly crafted $(parsedir) since it really wasn't necessary as the pre-existing VPATH already took care of the searching in both locations. Although the variables seemed a like a good idea, make has problems resolving variables in target names -- especially in the presence of implicit rules.


2) Deletes the error prone stmp-docobjdir dependency and now always creates the gcc/doc/ directory right before creating the gcc Makefile. In addition, if there are any pre-generated document files present in the source directory, it copies them into our newly created build doc/ directory. This allowed us to also eliminate $(docdir), which is a good thing since previously it too was being used for targets.

3) Since parsedir and docobjdir are now longer being used, it changes what --enable-generated-files-in-srcdir actually does. After this patch it defines insrcdir to be "#" if it was *not* specified. This follows the example set for --enable-maintainer-mode.

4) Finally, for all the document files and flex/bison generated files, it adds in a rule to copy the newly built files back into source directory prefaced by $(INSRCDIR) which will cleverly be the comment sharpie unless --enable-generated-files-in-srcdir was specified.

Tested by a bootstrap (all languages) under i686-pc-cygwin three times under the following conditions.

a) --enable-generated-files-in-srcdir not specified emulating a standard developer build.

No new files were placed in source directory

b) --enable-generated-files-in-srcdir specified emulating the generation of the release tarball. As expected the following new files appeared in the source tree:

./gcc/ada/gnat_ug_unx.texi ./gcc/ada/gnat_ug_vms.texi ./gcc/ada/gnat_ug_vxw.texi ./gcc/ada/gnat_ug_wnt.texi ./gcc/c-parse.c ./gcc/c-parse.y ./gcc/doc/cpp.1 ./gcc/doc/cpp.info ./gcc/doc/cppinternals.info ./gcc/doc/fsf-funding.7 ./gcc/doc/g77.1 ./gcc/doc/gcc.1 ./gcc/doc/gcc.info ./gcc/doc/gccinstall.info ./gcc/doc/gccint.info ./gcc/doc/gcj.1 ./gcc/doc/gcj.info ./gcc/doc/gcjh.1 ./gcc/doc/gcov.1 ./gcc/doc/gfdl.7 ./gcc/doc/gij.1 ./gcc/doc/gnat-style.info ./gcc/doc/gnat_rm.info ./gcc/doc/gnat_ug_unx.info ./gcc/doc/gnat_ug_vms.info ./gcc/doc/gnat_ug_vxw.info ./gcc/doc/gnat_ug_wnt.info ./gcc/doc/gpl.7 ./gcc/doc/jcf-dump.1 ./gcc/doc/jv-convert.1 ./gcc/doc/jv-scan.1 ./gcc/doc/rmic.1 ./gcc/doc/rmiregistry.1 ./gcc/f/g77.info ./gcc/f/intdoc.texi ./gcc/gengtype-lex.c ./gcc/gengtype-yacc.c ./gcc/gengtype-yacc.h ./gcc/java/parse-scan.c ./gcc/java/parse.c ./gcc/objc/objc-parse.c ./gcc/objc/objc-parse.y ./gcc/treelang/lex.c ./gcc/treelang/parse.c

c) Finally, to emulate the use of that release tarball, I uninstalled flex, bison, and texinfo from my computer. Then I rebooststrapped gcc with the newly modified source directory from test B. This too works, so the PR is resolved!

OK?

Kelley Cook
2003-11-04  Kelley Cook  <kcook@gcc.gnu.org>
	PR bootstrap/12744
	* configure.in: Revamp enable-generated-files-in-srcdir rule to define
	insrcdir and not parsedir and docdir.  Create doc/ directory and 
	copy over any files from the source directory.
	* configure: Regenerate.
	* Makefile.in: Suppress default .l.c rule.  Don't substitute docdir or 
	parsedir and delete all references throughout.  Define INSRCDIR.
	(stmp-docobjdir): Delete.
	(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
	(c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c): Copy back to 
	source directory if requested.
	(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): Likewise.
	(doc/gccinstall.info, doc/gccinstall.dvi): Likewise.
	(clean): Update dvi directory)
	(maintainer-clean): Delete all document files in source directory.
	(distclean): Delete generated files.
	objc/Make-lang.in (objc-parse.o): Use implicit build rule.
	(objc-parse.y, objc-parse.y): Don't use parsedir.  Copy back to
	source directory if requested.
	(po-generated): Don't use parsedir.
	(objc.maintainer-clean): Delete above files from source directory.

ada/
2003-11-04  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (ada/doctools/xgnatug): Add $(exeext).
	(ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
	ada/gnat_ug_wnt.texi): Always build in doc directory.  Copy back
	to source directory if requested.
	(doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
	doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Likewise.
	(doc/gnat_ug_unx.dvi, doc/gnat_ug_vwx.dvi, doc/gnat_ug_vms.dvi
	doc/gnat_ug_wnt.dvi, doc/gnat_rm.dvi, doc/gnat-style.dvi): Likewise.
	(info, dvi): Update to look in doc directory.

f/
2003-11-04  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (TEXI_G77_FILES): Define.
	(doc/g77.info, doc/g77.dvi): Depend on TEXI_G77_FILES.  Always build in
	doc directory.  Copy back to source directory if requested.
	(info, dvi, generated_manpages): Update to look in doc directory.
	(f/intdoc.texi, f/BUGS, f/news): Generate in build directory.  Copy
	back to source directory if requested.
	(f77.maintainer-clean): Delete above files from source directory.

java/
2003-11-04  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
	Copy back to source directory if requested.
	(po-generated): Delete reference to $(parsedir).
	(info, dvi, generated_manpages): Update to look in doc directory.
	(java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
	Use implicit rule.
	(doc/gcj.info, doc/gcj.dvi): Always build in doc directory.  Copy back
	to source directory if requested.

treelang/
2003-11-04  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (TREE_GENERATED): Delete reference to $(parsedir).
	(treelang/parse.o, treelang/lex.o): Look for sources in build 
	directory.  Use implicit rule.
	(treelang/parse.c, treelang/parse.h treelang/lex.c): Always build in
	doc directory.  Copy back to source directory if requested.
	(info, dvi): Update to look in doc directory.
	(doc/treelang.info, doc/treelang.dvi): Always build in doc directory.
	Copy back to source directory if requested.

diff -upr gcc-dvi/gcc/Makefile.in gcc-snapshot/gcc/Makefile.in
--- gcc-dvi/gcc/Makefile.in	2003-11-03 10:38:15.087540800 -0500
+++ gcc-snapshot/gcc/Makefile.in	2003-10-31 10:11:13.821428200 -0500
@@ -41,8 +41,9 @@ force:
 # to recursive makes.
 MAKEOVERRIDES =
 
-# Suppress smart makes who think they know how to automake Yacc files
+# Suppress smart makes who think they know how to automake yacc and flex file
 .y.c:
+.l.c:
 
 # The only suffixes we want for implicit rules are .c and .o, so clear
 # the list and add them.  This speeds up GNU Make, and allows -r to work.
@@ -71,12 +72,6 @@ program_transform_cross_name = @program_
 
 # Directory where sources are, from where we are.
 srcdir = @srcdir@
-
-# These directories contain files that are provided as part of a FSF tarball,
-# but not provided in CVS.  Unless --enable-generated-files-in-srcdir is
-# specified these files will be put in the object directory.
-parsedir = @parsedir@
-docobjdir = @docobjdir@
 docdir = $(srcdir)/doc
 
 # Top build directory, relative to here.
@@ -120,6 +115,7 @@ T_ADAFLAGS =
 
 # List of language subdirectories.
 SUBDIRS =@subdirs@
+INSRCDIR = @insrcdir@
 
 # Selection of languages to be made.
 CONFIG_LANGUAGES = @all_languages@
@@ -1269,28 +1265,26 @@ s-crt0:	$(CRT0_S) $(MCRT0_S) $(GCC_PASSE
 
 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 : $(parsedir)/c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_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
-	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	       -c $(parsedir)/c-parse.c $(OUTPUT_OPTION)
 
-$(parsedir)/c-parse.c: $(parsedir)/c-parse.y
-	cd $(parsedir) && \
-	if $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y; then \
+c-parse.c: c-parse.y
+	if $(BISON) $(BISONFLAGS) -o c-p$$$$.c $<; then \
 	  test -f c-p$$$$.output && mv -f c-p$$$$.output c-parse.output ; \
-	  mv -f c-p$$$$.c c-parse.c ; \
+	  mv -f c-p$$$$.c $@; \
 	else \
 	  rm -f c-p$$$$.* ; \
 	  false ; \
 	fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)
 
-$(parsedir)/c-parse.y: c-parse.in
+c-parse.y: c-parse.in
 	echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
 	sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
-	  -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" \
-	  $(srcdir)/c-parse.in >>tmp-c-parse.y
-	$(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $(parsedir)/c-parse.y
+	    -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y
+	$(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $@
+	-$(INSRCDIR)cp -p $@ $(srcdir)
 
 c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
 		intl.h prefix.h coretypes.h $(TM_H) cppdefault.h
@@ -2244,32 +2238,35 @@ gengtype$(build_exeext) : gengtype.o gen
 gengtype.o : gengtype.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
   real.h $(RTL_BASE_H) gtyp-gen.h
 
-gengtype-lex.o : $(parsedir)/gengtype-lex.c gengtype.h $(parsedir)/gengtype-yacc.c \
+gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \
   $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H)
 	$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-	  $(parsedir)/gengtype-lex.c $(OUTPUT_OPTION)
+	 $< $(OUTPUT_OPTION)
 
-gengtype-yacc.o : $(parsedir)/gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
+gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
   coretypes.h $(GTM_H)
 	$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-	  $(parsedir)/gengtype-yacc.c $(OUTPUT_OPTION)
+	 $< $(OUTPUT_OPTION)
 
-$(parsedir)/gengtype-lex.c : $(srcdir)/gengtype-lex.l
-	if $(FLEX) $(FLEXFLAGS) -og-$$$$ $(srcdir)/gengtype-lex.l; then \
-	  mv -f g-$$$$ $(parsedir)/gengtype-lex.c ; \
+gengtype-lex.c : gengtype-lex.l
+	if $(FLEX) $(FLEXFLAGS) -og-$$$$ $<; then \
+	  mv -f g-$$$$ $@ ; \
 	else \
 	  rm -f g-$$$$ ; \
 	  false ; \
 	fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)
 
-$(parsedir)/gengtype-yacc.c: $(srcdir)/gengtype-yacc.y
-	if $(BISON) $(BISONFLAGS) -d -o g-yacc.$$$$.c $(srcdir)/gengtype-yacc.y; then \
-	  mv -f g-yacc.$$$$.h $(parsedir)/gengtype-yacc.h; \
-	  mv -f g-yacc.$$$$.c $(parsedir)/gengtype-yacc.c; \
+gengtype-yacc.c gengtype-yacc.h: gengtype-yacc.y
+	if $(BISON) $(BISONFLAGS) -d -o g-yacc.$$$$.c $<; then \
+	  mv -f g-yacc.$$$$.h gengtype-yacc.h; \
+	  mv -f g-yacc.$$$$.c gengtype-yacc.c; \
 	else \
 	  rm -f g-yacc.$$$$.*; \
 	  false; \
 	fi
+	-$(INSRCDIR)cp -p gengtype-yacc.c $(srcdir)
+	-$(INSRCDIR)cp -p gengtype-yacc.h $(srcdir)
 
 genconditions$(build_exeext) : genconditions.o $(BUILD_EARLY_SUPPORT) \
   $(BUILD_RTL) $(BUILD_ERRORS) $(BUILD_LIBDEPS)
@@ -2334,7 +2331,7 @@ intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) c
 
 # 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: $(parsedir)/c-parse.c options.c
+po-generated: c-parse.c options.c
 
 #
 # Remake cpp and protoize.
@@ -2638,13 +2635,9 @@ stmp-fixproto: fixhdr.ready fixproto stm
 #
 # 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
+info:: doc/cpp.info doc/gcc.info doc/gccint.info \
+	 doc/gccinstall.info doc/cppinternals.info
 
 TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi
 
@@ -2668,55 +2661,60 @@ 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
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
 # 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
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
 
-$(docobjdir)/cpp.dvi: $(TEXI_CPP_FILES)
-$(docobjdir)/gcc.dvi: $(TEXI_GCC_FILES)
-$(docobjdir)/gccint.dvi: $(TEXI_GCCINT_FILES)
-$(docobjdir)/cppinternals.dvi: $(TEXI_CPPINT_FILES)
-
-dvi:: $(docobjdir)/gcc.dvi $(docobjdir)/gccint.dvi \
-      $(docobjdir)/gccinstall.dvi $(docobjdir)/cpp.dvi \
-      $(docobjdir)/cppinternals.dvi
+doc/cpp.dvi: $(TEXI_CPP_FILES)
+doc/gcc.dvi: $(TEXI_GCC_FILES)
+doc/gccint.dvi: $(TEXI_GCCINT_FILES)
+doc/cppinternals.dvi: $(TEXI_CPPINT_FILES)
 
-$(docobjdir)/%.dvi: %.texi stmp-docobjdir
+dvi:: doc/gcc.dvi doc/gccint.dvi doc/gccinstall.dvi doc/cpp.dvi \
+      doc/cppinternals.dvi
+
+doc/%.dvi: %.texi
 	$(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
 # Duplicate entry to handle renaming of gccinstall.dvi
-$(docobjdir)/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES) stmp-docobjdir
+doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
 	$(TEXI2DVI) -I $(docdir) -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-generated-manpages:: $(docobjdir)/gcov.1 $(docobjdir)/cpp.1 \
-	$(docobjdir)/gcc.1 $(docobjdir)/gfdl.7 $(docobjdir)/gpl.7 \
-	$(docobjdir)/fsf-funding.7
+generated-manpages:: doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 \
+	doc/fsf-funding.7
 
-$(docobjdir)/%.1: %.pod stmp-docobjdir
+doc/%.1: %.pod
 	$(STAMP) $@
 	-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
 		mv -f $(@).T$$$$ $@) || \
 		(rm -f $(@).T$$$$ && exit 1)
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/%.7: %.pod stmp-docobjdir
+doc/%.7: %.pod
 	$(STAMP) $@
 	-($(POD2MAN) --section=7 $< > $(@).T$$$$ && \
 		mv -f $(@).T$$$$ $@) || \
 		(rm -f $(@).T$$$$ && exit 1)
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
 %.pod: %.texi
 	$(STAMP) $@
@@ -2800,8 +2798,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).
@@ -2827,7 +2824,7 @@ distclean: clean lang.distclean
 	-rm -f Makefile *.oaux
 	-rm -f gthr-default.h
 	-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
-	-rm -f c-parse.output
+	-rm -f c-parse.y c-parse.c c-parse.output TAGS
 	-rm -f *.asm
 	-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
 	-rm -f testsuite/*.log testsuite/*.sum
@@ -2866,13 +2863,10 @@ maintainer-clean:
 	@echo 'This command is intended for maintainers to use; it'
 	@echo 'deletes files that may need special tools to rebuild.'
 	$(MAKE) lang.maintainer-clean distclean
-	-rm -f c-parse.y c-parse.c c-parse.output TAGS
+	-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
 #
 # Entry points `install' and `uninstall'.
 # Also use `install-collect2' to install collect2 when the config files don't.
@@ -3003,7 +2997,7 @@ install-info:: doc installdirs \
 	$(DESTDIR)$(infodir)/cppinternals.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 \
@@ -3024,27 +3018,27 @@ $(DESTDIR)$(infodir)/%.info: $(docobjdir
 install-man: installdirs $(GENERATED_MANPAGES) lang.install-man
 	-if [ -f gcc-cross$(exeext) ] ; then \
 	  rm -f $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
-	  $(INSTALL_DATA) $(docobjdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
+	  $(INSTALL_DATA) doc/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
 	  chmod a-x $(DESTDIR)$(man1dir)/$(GCC_CROSS_NAME)$(man1ext); \
 	else \
 	  rm -f $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
-	  $(INSTALL_DATA) $(docobjdir)/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
+	  $(INSTALL_DATA) doc/gcc.1 $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
 	  chmod a-x $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext); \
 	fi
 	-rm -f $(DESTDIR)$(man1dir)/cpp$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/cpp.1 $(DESTDIR)$(man1dir)/cpp$(man1ext)
+	-$(INSTALL_DATA) doc/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)
+	-$(INSTALL_DATA) doc/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)
+	-$(INSTALL_DATA) doc/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)
+	-$(INSTALL_DATA) doc/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)
+	-$(INSTALL_DATA) doc/gpl.7 $(DESTDIR)$(man7dir)/gpl$(man7ext)
 	-chmod a-x $(DESTDIR)$(man7dir)/gpl$(man7ext)
 
 # Install the library.
diff -upr gcc-dvi/gcc/ada/Make-lang.in gcc-snapshot/gcc/ada/Make-lang.in
--- gcc-dvi/gcc/ada/Make-lang.in	2003-11-03 10:37:50.452116800 -0500
+++ gcc-snapshot/gcc/ada/Make-lang.in	2003-11-03 14:28:46.158296000 -0500
@@ -442,62 +442,90 @@ ada.generated-manpages:
 # Generate documentation.
 #
 # The generated Texinfo files for the User Guide are stored in
-# $(srcdir), like the Info files.
+# $(srcdir), if --generated-files-in-srcdir was specified.
 
-ada/doctools/xgnatug : ada/xgnatug.adb
+ada/doctools/xgnatug$(exeext): ada/xgnatug.adb
 	-$(MKDIR) ada/doctools
 	cp $^ ada/doctools
 	cd ada/doctools && gnatmake -q xgnatug
 
-$(srcdir)/ada/gnat_ug_unx.texi : ada/doctools/xgnatug \
-	$(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
-	ada/doctools/xgnatug unx $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words $(srcdir)/ada/gnat_ug_unx.texi
-
-$(srcdir)/ada/gnat_ug_vms.texi : ada/doctools/xgnatug \
-	$(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
-	ada/doctools/xgnatug vms $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words $(srcdir)/ada/gnat_ug_vms.texi
-
-$(srcdir)/ada/gnat_ug_vxw.texi : ada/doctools/xgnatug \
-	$(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
-	ada/doctools/xgnatug vxworks $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words $(srcdir)/ada/gnat_ug_vxw.texi
-
-$(srcdir)/ada/gnat_ug_wnt.texi : ada/doctools/xgnatug \
-	$(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
-	ada/doctools/xgnatug wnt $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words $(srcdir)/ada/gnat_ug_wnt.texi
-
-$(docobjdir)/gnat_ug_unx.info : $(srcdir)/ada/gnat_ug_unx.texi \
-	$(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-$(docobjdir)/gnat_ug_vms.info : $(srcdir)/ada/gnat_ug_vms.texi \
-	$(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-$(docobjdir)/gnat_ug_vxw.info : $(srcdir)/ada/gnat_ug_vxw.texi \
-	$(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-$(docobjdir)/gnat_ug_wnt.info : $(srcdir)/ada/gnat_ug_wnt.texi \
-	$(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-$(docobjdir)/gnat_rm.info : $(srcdir)/ada/gnat_rm.texi \
-	$(srcdir)/doc/include/fdl.texi $(srcdir)/doc/include/gcc-common.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-$(docobjdir)/gnat-style.info : $(srcdir)/ada/gnat-style.texi \
-	$(srcdir)/doc/include/fdl.texi \
-	stmp-docobjdir
-	$(MAKEINFO) -I $(docdir)/include -I $(srcdir)/ada -o $@ $<
-
-info:: $(docobjdir)/gnat_ug_vms.info $(docobjdir)/gnat_ug_wnt.info \
-	$(docobjdir)/gnat_ug_unx.info $(docobjdir)/gnat_ug_vxw.info \
-	$(docobjdir)/gnat_rm.info $(docobjdir)/gnat-style.info
+ada/gnat_ug_unx.texi: ada/doctools/xgnatug$(exeext) \
+		      $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
+	ada/doctools/xgnatug unx $(srcdir)/ada/gnat_ug.texi \
+	  $(srcdir)/ada/ug_words \
+	  ada/gnat_ug_unx.texi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/ada
+
+ada/gnat_ug_vms.texi: ada/doctools/xgnatug$(exeext) \
+		      $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
+	ada/doctools/xgnatug vms $(srcdir)/ada/gnat_ug.texi \
+ 	  $(srcdir)/ada/ug_words \
+	  ada/gnat_ug_vms.texi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/ada
+
+ada/gnat_ug_vxw.texi: ada/doctools/xgnatug$(exeext) \
+		      $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
+	ada/doctools/xgnatug vxworks $(srcdir)/ada/gnat_ug.texi \
+ 	  $(srcdir)/ada/ug_words \
+	  ada/gnat_ug_vxw.texi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/ada
+
+ada/gnat_ug_wnt.texi: ada/doctools/xgnatug$(exeext) \
+		      $(srcdir)/ada/gnat_ug.texi $(srcdir)/ada/ug_words
+	ada/doctools/xgnatug wnt $(srcdir)/ada/gnat_ug.texi \
+	  $(srcdir)/ada/ug_words \
+	  ada/gnat_ug_wnt.texi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/ada
+
+doc/gnat_ug_unx.info: ada/gnat_ug_unx.texi $(docdir)/include/fdl.texi \
+		      $(docdir)/include/gcc-common.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+	
+doc/gnat_ug_vms.info: ada/gnat_ug_vms.texi $(docdir)/include/fdl.texi \
+		      $(docdir)/include/gcc-common.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
+doc/gnat_ug_vxw.info: ada/gnat_ug_vxw.texi $(docdir)/include/fdl.texi \
+		      $(docdir)/include/gcc-common.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
+doc/gnat_ug_wnt.info: ada/gnat_ug_wnt.texi $(docdir)/include/fdl.texi \
+		      $(docdir)/include/gcc-common.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
+doc/gnat_rm.info: ada/gnat_rm.texi $(docdir)/include/fdl.texi \
+		  $(docdir)/include/gcc-common.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
+doc/gnat-style.info: ada/gnat-style.texi $(docdir)/include/fdl.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/ada -o $@ $<; \
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
+
+info:: doc/gnat_ug_vms.info doc/gnat_ug_wnt.info doc/gnat_ug_unx.info \
+       doc/gnat_ug_vxw.info doc/gnat_rm.info doc/gnat-style.info
 
 install-info:: $(DESTDIR)$(infodir)/gnat_ug_vms.info \
 	$(DESTDIR)$(infodir)/gnat_ug_wnt.info \
@@ -506,38 +534,37 @@ install-info:: $(DESTDIR)$(infodir)/gnat
 	$(DESTDIR)$(infodir)/gnat_rm.info \
 	$(DESTDIR)$(infodir)/gnat-style.info
 
-dvi:: $(docobjdir)/gnat_ug_vms.dvi $(docobjdir)/gnat_ug_wnt.dvi \
-	$(docobjdir)/gnat_ug_unx.dvi $(docobjdir)/gnat_ug_vxw.dvi \
-	$(docobjdir)/gnat_rm.dvi $(docobjdir)/gnat-style.dvi
-
-$(docobjdir)/gnat_ug_unx.dvi: ada/gnat_ug_unx.texi \
-	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
-	stmp-docobjdir
+dvi:: doc/gnat_ug_vms.dvi doc/gnat_ug_wnt.dvi doc/gnat_ug_unx.dvi \
+      doc/gnat_ug_vxw.dvi doc/gnat_rm.dvi doc/gnat-style.dvi
+
+doc/gnat_ug_unx.dvi: ada/gnat_ug_unx.texi \
+	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gnat_ug_vms.dvi: ada/gnat_ug_vms.texi \
-	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
-	stmp-docobjdir
+doc/gnat_ug_vms.dvi: ada/gnat_ug_vms.texi \
+	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gnat_ug_vxw.dvi: ada/gnat_ug_vxw.texi \
-	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
-	stmp-docobjdir
+doc/gnat_ug_vxw.dvi: ada/gnat_ug_vxw.texi \
+	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gnat_ug_wnt.dvi: ada/gnat_ug_wnt.texi \
-	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
-	stmp-docobjdir
+doc/gnat_ug_wnt.dvi: ada/gnat_ug_wnt.texi \
+	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gnat_rm.dvi: ada/gnat_rm.texi \
-	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
-	stmp-docobjdir
+doc/gnat_rm.dvi: ada/gnat_rm.texi \
+	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gnat-style.dvi: ada/gnat-style.texi $(docdir)/include/fdl.texi \
-	stmp-docobjdir
+doc/gnat-style.dvi: ada/gnat-style.texi $(docdir)/include/fdl.texi
 	$(TEXI2DVI) -c -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
 
 # Install hooks:
diff -upr gcc-dvi/gcc/configure.in gcc-snapshot/gcc/configure.in
--- gcc-dvi/gcc/configure.in	2003-10-31 04:58:46.000000000 -0500
+++ gcc-snapshot/gcc/configure.in	2003-10-31 10:03:13.385805200 -0500
@@ -154,13 +154,24 @@ fi])
 # sources.  Therefore we have --enable-generated-files-in-srcdir to do 
 # just that.
 
-AC_ARG_ENABLE(generated-files-in-srcdir, 
-[  --enable-generated-files-in-srcdir  Put generated files in source dir],
-[case ${enableval} in
-  no)    parsedir='$(objdir)'; docobjdir='$(objdir)/doc';;
-  *)     parsedir='$(srcdir)'; docobjdir='$(srcdir)/doc';;
-esac],
-[parsedir='$(objdir)'; docobjdir='$(objdir)/doc';])
+AC_MSG_CHECKING([whether to place generated files in the source directory])
+  dnl generated-files-in-srcdir is disabled by default
+  AC_ARG_ENABLE(generated-files-in-srcdir, 
+[  --enable-generated-files-in-srcdir
+                          put copies of generated files in source dir
+                          intended for creating source tarballs for users
+                          without texinfo bison or flex.],
+      generated_files_in_srcdir=$enableval,
+      generated_files_in_srcdir=no)
+
+AC_MSG_RESULT($generated_files_in_srcdir)
+
+if test "$generated_files_in_srcdir" = "yes"; then
+  insrcdir=""
+else
+  insrcdir="\#"
+fi
+AC_SUBST(insrcdir)
 
 # -------------------
 # Find default linker
@@ -2958,8 +2969,6 @@ AC_SUBST(objdir)
 # Substitute configuration variables
 AC_SUBST(subdirs)
 AC_SUBST(srcdir)
-AC_SUBST(docobjdir)
-AC_SUBST(parsedir)
 AC_SUBST(all_boot_languages)
 AC_SUBST(all_compilers)
 AC_SUBST(all_gtfiles)
@@ -3044,6 +3053,20 @@ else
   fi
 fi
 
+# If it doesn't already exist, create document directory
+# and copy over any man, info, or dvi files that were included with
+# the source tree into our build tree.
+echo "checking for the document directory." 1>&2
+if test -d doc ; then
+  true
+else
+  mkdir doc 
+  cp -p $srcdir/doc/*.info* doc 2>/dev/null
+  cp -p $srcdir/doc/*.1 doc 2>/dev/null
+  cp -p $srcdir/doc/*.7 doc 2>/dev/null
+  cp -p $srcdir/doc/*.dvi doc 2>/dev/null
+fi
+
 # Configure the subdirectories
 # AC_CONFIG_SUBDIRS($subdirs)
 
diff -upr gcc-dvi/gcc/f/Make-lang.in gcc-snapshot/gcc/f/Make-lang.in
--- gcc-dvi/gcc/f/Make-lang.in	2003-11-03 10:37:51.443542400 -0500
+++ gcc-snapshot/gcc/f/Make-lang.in	2003-11-03 14:47:31.095876800 -0500
@@ -148,36 +148,28 @@ f77.rest.encap:
 f77.tags: force
 	cd $(srcdir)/f; etags *.c *.h
 
-info:: $(docobjdir)/g77.info
-dvi:: $(docobjdir)/g77.dvi
-generated-manpages:: $(docobjdir)/g77.1
+info:: doc/g77.info
+dvi:: doc/g77.dvi
+generated-manpages:: doc/g77.1
 
 # g77 documentation.
-$(docobjdir)/g77.info: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
-		$(srcdir)/f/ffe.texi $(srcdir)/f/invoke.texi \
-		$(srcdir)/f/news.texi  $(srcdir)/f/intdoc.texi \
-		$(srcdir)/f/root.texi $(docdir)/include/fdl.texi \
-		$(docdir)/include/gpl.texi \
-		$(docdir)/include/funding.texi \
-		$(docdir)/include/gcc-common.texi \
-		stmp-docobjdir
+TEXI_G77_FILES = f/g77.texi f/bugs.texi f/ffe.texi f/invoke.texi f/intdoc.texi \
+		 f/news.texi f/root.texi $(docdir)/include/fdl.texi \
+		 $(docdir)/include/gpl.texi $(docdir)/include/funding.texi \
+		 $(docdir)/include/gcc-common.texi
+
+doc/g77.info: $(TEXI_G77_FILES)
 	if [ x$(BUILD_INFO) = xinfo ]; then \
 	  rm -f $(@)*; \
-	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/f -o $@ $<; \
+	  $(MAKEINFO) -I$(docdir)/include -I$(srcdir)/f -I$(objdir)/f -o$@ $<; \
 	else true; fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/f
 
-$(docobjdir)/g77.dvi: $(srcdir)/f/g77.texi $(srcdir)/f/bugs.texi \
-		$(srcdir)/f/ffe.texi $(srcdir)/f/invoke.texi \
-		$(srcdir)/f/news.texi  $(srcdir)/f/intdoc.texi \
-		$(srcdir)/f/root.texi $(docdir)/include/fdl.texi \
-		$(docdir)/include/gpl.texi \
-		$(docdir)/include/funding.texi \
-		$(docdir)/include/gcc-common.texi \
-		stmp-docobjdir
-	$(TEXI2DVI) -I $(srcdir)/f -I $(docdir)/include -o $@ $<
+doc/g77.dvi: $(TEXI_G77_FILES)
+	$(TEXI2DVI) -I $(srcdir)/f -I $(docdir)/include -I $(objdir)/f -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(srcdir)/f
 
 .INTERMEDIATE: g77.pod
-
 g77.pod: f/invoke.texi
 	-$(TEXI2POD) < $< > $@
 
@@ -209,35 +201,42 @@ g77.pod: f/invoke.texi
 # But then, we have to build the executables explicitly in their build
 # rules.
 
-INTDOC_DEPS = $(srcdir)/f/intdoc.c $(srcdir)/f/intrin.h $(srcdir)/f/intrin.def
+INTDOC_DEPS = f/intdoc.c f/intrin.h f/intrin.def
 
-$(srcdir)/f/intdoc.texi: $(INTDOC_DEPS) $(srcdir)/f/intdoc.in
+f/intdoc.texi: $(INTDOC_DEPS) $(srcdir)/f/intdoc.in
 	$(MAKE) f/intdoc$(build_exeext)
-	f/intdoc$(build_exeext) > $(srcdir)/f/intdoc.texi
+	f/intdoc$(build_exeext) > f/intdoc.texi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/f
 
 f/intdoc$(build_exeext): $(INTDOC_DEPS) f/intdoc.h0 bconfig.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(BUILD_LIBDEPS)
-	  $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) \
-		  $(srcdir)/f/intdoc.c $(BUILD_LIBS) -o f/intdoc$(build_exeext)
+	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) $< \
+	  $(BUILD_LIBS) -o $@
 
 f/intdoc.h0: f/intdoc.in f/ansify$(build_exeext)
-	f/ansify$(build_exeext) $(srcdir)/f/intdoc.in \
-		< $(srcdir)/f/intdoc.in > f/intdoc.h0
+	f/ansify$(build_exeext) $< < $< > $@
 
 f/ansify$(build_exeext): f/ansify.c bconfig.h $(SYSTEM_H) coretypes.h $(TM_H)
-	  $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) \
-	  	$(srcdir)/f/ansify.c -o f/ansify$(build_exeext)
+	  $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(INCLUDES) $< \
+	  -o $@
 
-$(srcdir)/f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
-	cd $(srcdir)/f; $(MAKEINFO) -D BUGSONLY --no-header --no-split \
-	  --no-validate -I../doc/include -o BUGS bugs0.texi
-
-$(srcdir)/f/NEWS: f/news0.texi f/news.texi f/root.texi
-	cd $(srcdir)/f; $(MAKEINFO) -D NEWSONLY --no-header --no-split \
-	  --no-validate -I../doc/include -o NEWS news0.texi
+f/BUGS: f/bugs0.texi f/bugs.texi f/root.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -D BUGSONLY --no-header --no-split --no-validate \
+	    -I$(docdir)/include -I$(srcdir)/f -o $@ bugs0.texi
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/f
+
+f/NEWS: f/news0.texi f/news.texi f/root.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(@)*; \
+	  $(MAKEINFO) -D NEWSONLY --no-header --no-split --no-validate \
+	    -I$(docdir)/include -I$(srcdir)/f -o $@ news0.texi
+	else true; fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/f
 
-f77.rebuilt: f/g77.info $(srcdir)/f/BUGS \
-  $(srcdir)/f/NEWS 
+f77.rebuilt: f/g77.info f/BUGS f/NEWS 
 
 #
 # Install hooks:
@@ -275,11 +274,11 @@ f77.install-man: $(GENERATED_MANPAGES) i
 	-if [ -f f771$(exeext) ] ; then \
 	  if [ -f g77-cross$(exeext) ] ; then \
 	    rm -f $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
-	    $(INSTALL_DATA) $(docobjdir)/g77.1 $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
+	    $(INSTALL_DATA) doc/g77.1 $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
 	    chmod a-x $(DESTDIR)$(man1dir)/$(G77_CROSS_NAME)$(man1ext); \
 	  else \
 	    rm -f $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
-	    $(INSTALL_DATA) $(docobjdir)/g77.1 $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
+	    $(INSTALL_DATA) doc/g77.1 $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
 	    chmod a-x $(DESTDIR)$(man1dir)/$(G77_INSTALL_NAME)$(man1ext); \
 	  fi; \
 	else true; fi
@@ -312,7 +311,7 @@ f77.distclean:
 	-rm -f f/Makefile
 f77.extraclean:
 f77.maintainer-clean:
-	-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/NEWS f/intdoc.texi
+	-rm -f $(srcdir)/f/BUGS $(srcdir)/f/NEWS $(srcdirc)/f/intdoc.texi
 #
 # Stage hooks:
 # The main makefile has already created stage?/f.
diff -upr gcc-dvi/gcc/java/Make-lang.in gcc-snapshot/gcc/java/Make-lang.in
--- gcc-dvi/gcc/java/Make-lang.in	2003-11-03 10:37:51.513643200 -0500
+++ gcc-snapshot/gcc/java/Make-lang.in	2003-11-03 12:51:14.904606400 -0500
@@ -78,16 +78,18 @@ $(GCJ)-cross$(exeext): $(GCJ)$(exeext)
 	-rm -f $(GCJ)-cross$(exeext)
 	cp $(GCJ)$(exeext) $(GCJ)-cross$(exeext)
 
-po-generated: $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c
+po-generated: java/parse.c java/parse-scan.c
 
-$(parsedir)/java/parse.c: $(srcdir)/java/parse.y
+java/parse.c: java/parse.y
 	$(BISON) -t --name-prefix=java_ $(BISONFLAGS) \
-	    -o p$$$$.c $(srcdir)/java/parse.y && \
-	mv -f p$$$$.c $(parsedir)/java/parse.c
-
-$(parsedir)/java/parse-scan.c:  $(srcdir)/java/parse-scan.y
-	$(BISON) -t $(BISONFLAGS) -o ps$$$$.c $(srcdir)/java/parse-scan.y && \
-	mv -f ps$$$$.c $(parsedir)/java/parse-scan.c
+	    -o p$$$$.c $< && \
+	mv -f p$$$$.c $@
+	-$(INSRCDIR)cp -p $@ $(srcdir)/java
+
+java/parse-scan.c: java/parse-scan.y
+	$(BISON) -t $(BISONFLAGS) -o ps$$$$.c $< && \
+	mv -f ps$$$$.c $@
+	-$(INSRCDIR)cp -p $@ $(srcdir)/java
 
 $(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf
 	(cd $(srcdir)/java || exit 1; \
@@ -160,12 +162,10 @@ java.rest.encap:
 java.tags: force
 	cd $(srcdir)/java; etags *.y *.c *.h --language=none --regex='/DEFTREECODE [(]\([A-Z_]+\)/\1/' java-tree.def
 
-info:: $(docobjdir)/gcj.info
-dvi:: $(docobjdir)/gcj.dvi
-generated-manpages:: $(docobjdir)/gcj.1 $(docobjdir)/gcjh.1 \
-	$(docobjdir)/jv-scan.1 $(docobjdir)/jcf-dump.1 \
-	$(docobjdir)/gij.1 $(docobjdir)/jv-convert.1 \
-	$(docobjdir)/rmic.1 $(docobjdir)/rmiregistry.1
+info:: doc/gcj.info
+dvi:: doc/gcj.dvi
+generated-manpages:: doc/gcj.1 doc/gcjh.1 doc/jv-scan.1 doc/jcf-dump.1 \
+		     doc/gij.1 doc/jv-convert.1 doc/rmic.1 doc/rmiregistry.1
 
 # Install hooks:
 # jc1, gcj, jvgenmain, and gcjh are installed elsewhere as part
@@ -221,20 +221,15 @@ install-info:: $(DESTDIR)$(infodir)/gcj.
 java.mostlyclean:
 	-rm -f java/*$(objext) $(DEMANGLER_PROG)
 	-rm -f java/*$(coverageexts)
+	-rm -f java/parse.c java/parse-scan.c java/parse.output java/y.tab.c
 	-rm -f jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext) s-java
 java.clean:
 java.distclean:
 	-rm -f java/config.status java/Makefile
-	-rm -f java/parse.output
 java.extraclean:
 java.maintainer-clean:
-	-rm -f $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c java/parse.output java/y.tab.c
-	-rm -f $(docobjdir)/gcj.1 $(docobjdir)/gcjh.1
-	-rm -f $(docobjdir)/jv-scan.1 $(docobjdir)/jcf-dump.1
-	-rm -f $(docobjdir)/gij.1
-	-rm -f $(docobjdir)/jv-convert.1
-	-rm -f $(docobjdir)/rmic.1
-	-rm -f $(docobjdir)/rmiregistry.1
+	-rm -f $(srcdir)/java/parse.c $(srcdir)/java/parse-scan.c
+
 #
 # Stage hooks:
 # The main makefile has already created stage?/java.
@@ -317,18 +312,11 @@ java/xref.o: java/xref.c java/xref.h $(C
   $(SYSTEM_H) coretypes.h $(TM_H)
 java/zextract.o: java/zextract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   java/zipfile.h
-
-# parse-scan.o and parse.o compiled from $(parsedir)/java
-java/parse-scan.o: $(parsedir)/java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \
+java/parse-scan.o: java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_H) toplev.h $(JAVA_LEX_C) java/parse.h java/lex.h input.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(parsedir)/java/parse-scan.c $(OUTPUT_OPTION)
-
-java/parse.o: $(parsedir)/java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \
+java/parse.o: java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_H) function.h $(JAVA_TREE_H) $(JAVA_LEX_C) java/parse.h \
   java/lex.h input.h $(GGC_H) debug.h gt-java-parse.h gtype-java.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(parsedir)/java/parse.c $(OUTPUT_OPTION)
 
 # jcf-io.o needs $(ZLIBINC) added to cflags.
 java/jcf-io.o: java/jcf-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
@@ -354,17 +342,18 @@ java/java-tree-inline.o: tree-inline.c $
 	$(srcdir)/tree-inline.c -o $@
 
 # Documentation
-$(docobjdir)/gcj.info: java/gcj.texi $(docdir)/include/fdl.texi \
-  $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi stmp-docobjdir
+doc/gcj.info: java/gcj.texi $(docdir)/include/fdl.texi \
+  $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi
 	if test "x$(BUILD_INFO)" = xinfo; then \
 	  rm -f doc/gcj.info*; \
 	  $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir)/include -o $@ $<; \
 	else true; fi
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
-$(docobjdir)/gcj.dvi: java/gcj.texi $(docdir)/include/fdl.texi \
-	 $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi \
-	 stmp-docobjdir
+doc/gcj.dvi: java/gcj.texi $(docdir)/include/fdl.texi \
+	 $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi
 	$(TEXI2DVI) -I $(docdir)/include -o $@ $<
+	-$(INSRCDIR)cp -p $@ $(docdir)
 
 .INTERMEDIATE: gcj.pod gcjh.pod jv-scan.pod jcf-dump.pod gij.pod \
   jv-convert.pod rmic.pod rmiregistry.pod
@@ -391,32 +380,32 @@ java.install-man: installdirs $(GENERATE
 	-if [ -f $(GCJ)$(exeext) ]; then \
 	  if [ -f $(GCJ)-cross$(exeext) ]; then \
 	    rm -f $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
-	    $(INSTALL_DATA) $(docobjdir)/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+	    $(INSTALL_DATA) doc/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
 	    chmod a-x $(DESTDIR)$(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
 	  else \
 	    rm -f $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
-	    $(INSTALL_DATA) $(docobjdir)/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+	    $(INSTALL_DATA) doc/gcj.1 $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
 	    chmod a-x $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
 	  fi ; \
 	fi
 	-rm -f $(DESTDIR)$(man1dir)/gcjh$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/gcjh.1 $(DESTDIR)$(man1dir)/gcjh$(man1ext)
+	-$(INSTALL_DATA) doc/gcjh.1 $(DESTDIR)$(man1dir)/gcjh$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/gcjh$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/jv-scan.1 $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
+	-$(INSTALL_DATA) doc/jv-scan.1 $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/jcf-dump.1 $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
+	-$(INSTALL_DATA) doc/jcf-dump.1 $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/gij$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/gij.1 $(DESTDIR)$(man1dir)/gij$(man1ext)
+	-$(INSTALL_DATA) doc/gij.1 $(DESTDIR)$(man1dir)/gij$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/gij$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/jv-convert.1 $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
+	-$(INSTALL_DATA) doc/jv-convert.1 $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/rmic$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/rmic.1 $(DESTDIR)$(man1dir)/rmic$(man1ext)
+	-$(INSTALL_DATA) doc/rmic.1 $(DESTDIR)$(man1dir)/rmic$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/rmic$(man1ext)
 	-rm -f $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
-	-$(INSTALL_DATA) $(docobjdir)/rmiregistry.1 $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
+	-$(INSTALL_DATA) doc/rmiregistry.1 $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
 	-chmod a-x $(DESTDIR)$(man1dir)/rmiregistry$(man1ext)
diff -upr gcc-dvi/gcc/objc/Make-lang.in gcc-snapshot/gcc/objc/Make-lang.in
--- gcc-dvi/gcc/objc/Make-lang.in	2003-10-20 16:58:25.000000000 -0400
+++ gcc-snapshot/gcc/objc/Make-lang.in	2003-10-31 10:14:20.942360700 -0500
@@ -62,11 +62,9 @@ objc/objc-lang.o : objc/objc-lang.c \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) c-tree.h \
    c-common.h toplev.h objc/objc-act.h langhooks.h $(LANGHOOKS_DEF_H)
 
-objc/objc-parse.o : $(parsedir)/objc/objc-parse.c \
+objc/objc-parse.o : objc/objc-parse.c \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
    toplev.h $(GGC_H) c-pragma.h input.h flags.h output.h objc/objc-act.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(parsedir)/objc/objc-parse.c $(OUTPUT_OPTION)
 
 objc/objc-act.o : objc/objc-act.c \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \
@@ -74,23 +72,23 @@ objc/objc-act.o : objc/objc-act.c \
    objc/objc-act.h input.h function.h output.h debug.h langhooks.h \
    $(LANGHOOKS_DEF_H) gt-objc-objc-act.h gtype-objc.h
 
-po-generated: $(parsedir)/objc/objc-parse.c
-$(parsedir)/objc/objc-parse.c : $(parsedir)/objc/objc-parse.y
-	cd $(parsedir)/objc; \
-	if $(BISON) $(BISONFLAGS) -o op$$$$.c objc-parse.y ; then \
+po-generated: objc/objc-parse.c
+objc/objc-parse.c : objc/objc-parse.y
+	if $(BISON) $(BISONFLAGS) -o op$$$$.c $< ; then \
 	  test -f op$$$$.output && mv -f op$$$$.output objc-parse.output ; \
-	  mv -f op$$$$.c objc-parse.c ; \
+	  mv -f op$$$$.c $@ ; \
 	else \
 	  rm -f op$$$$.* ; \
 	  false ; \
 	fi
+	-$(INSRCDIR)cp -p $@ $(srcdir)/objc
 
-$(parsedir)/objc/objc-parse.y: $(srcdir)/c-parse.in
+objc/objc-parse.y: c-parse.in
 	echo '/*WARNING: This file is automatically generated!*/' >tmp-objc-prs.y
 	sed -e "/^@@ifc.*/,/^@@end_ifc.*/d" \
-	  -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" \
-	  $(srcdir)/c-parse.in >>tmp-objc-prs.y
-	$(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $(parsedir)/objc/objc-parse.y
+	    -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" < $< >>tmp-objc-prs.y
+	$(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $@
+	-$(INSRCDIR)cp -p $@ $(srcdir)/objc
 
 gtype-objc.h : s-gtype ; @true
 gt-objc-objc-act.h : s-gtype ; @true
@@ -124,6 +122,7 @@ objc.uninstall:
 objc.mostlyclean:
 	-rm -f tmp-objc-prs.y
 	-rm -f objc/*$(objext) objc/xforward objc/fflags
+	-rm -f objc/objc-parse.y objc/objc-parse.c objc/objc-parse.output
 	-rm -f objc/*$(coverageexts)
 objc.clean: objc.mostlyclean
 	-rm -rf objc-headers
@@ -133,8 +132,7 @@ objc.distclean:
 	-rm -f objc-parse.output
 objc.extraclean:
 objc.maintainer-clean:
-	-rm -f $(parsedir)/objc/objc-parse.y
-	-rm -f $(parsedir)/objc/objc-parse.c $(parsedir)/objc/objc-parse.output
+	-rm -f $(srcdir)/objc/objc-parse.y $(srcdir)/objc/objc-parse.c 
 
 #
 # Stage hooks:
diff -upr gcc-dvi/gcc/treelang/Make-lang.in gcc-snapshot/gcc/treelang/Make-lang.in
--- gcc-dvi/gcc/treelang/Make-lang.in	2003-11-03 10:37:51.553700800 -0500
+++ gcc-snapshot/gcc/treelang/Make-lang.in	2003-10-31 10:14:40.680940200 -0500
@@ -57,9 +57,7 @@ GCC_EXTRAS = -B./ -B$(build_tooldir)/bin
 
 # GCC_FOR_TREELANG = ./xgcc $(GCC_EXTRAS)
 
-TREE_GENERATED = $(parsedir)/treelang/lex.c $(parsedir)/treelang/parse.c \
-  $(parsedir)/treelang/parse.h $(parsedir)/treelang/parse.output \
-  $(parsedir)/treelang/TAGS
+TREE_GENERATED = lex.c parse.c parse.h parse.output TAGS
 
 TREE_EXES = tree1
 
@@ -104,33 +102,30 @@ treelang/tree1.o: treelang/tree1.c $(CON
 treelang/treetree.o: treelang/treetree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h output.h $(RTL_H) $(GGC_H) toplev.h \
   varray.h $(LANGHOOKS_DEF_H) langhooks.h treelang/treelang.h input.h \
-  treelang/treetree.h $(parsedir)/treelang/parse.h
+  treelang/treetree.h treelang/parse.h
 
 treelang/tree-convert.o: treelang/tree-convert.c $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h diagnostic.h $(TREE_H) flags.h toplev.h langhooks.h $(TM_H)
 
-treelang/parse.o: $(parsedir)/treelang/parse.c $(CONFIG_H) $(SYSTEM_H) \
-   coretypes.h $(TM_H) diagnostic.h treelang/treelang.h input.h \
-   treelang/treetree.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(parsedir)/treelang/parse.c $(OUTPUT_OPTION)
+treelang/parse.o: treelang/parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+  $(TM_H) diagnostic.h treelang/treelang.h input.h treelang/treetree.h
 
-treelang/lex.o: $(parsedir)/treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+treelang/lex.o: treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) diagnostic.h $(TREE_H) treelang/treelang.h input.h \
-  $(parsedir)/treelang/parse.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(parsedir)/treelang/lex.c $(OUTPUT_OPTION)
+  treelang/parse.h
 
 # generated files the files from lex and yacc are put into the source
 # directory in case someone wants to build but does not have
 # lex/yacc
 
-$(parsedir)/treelang/lex.c: $(srcdir)/treelang/lex.l
-	$(LEX) $(LEXFLAGS) -o$(parsedir)/treelang/lex.c $(srcdir)/treelang/lex.l
-
-$(parsedir)/treelang/parse.c $(parsedir)/treelang/parse.h: $(srcdir)/treelang/parse.y
-	$(BISON) $(BISONFLAGS) -v --defines \
-	--output=$(parsedir)/treelang/parse.c $(srcdir)/treelang/parse.y
+treelang/lex.c: treelang/lex.l
+	$(LEX) $(LEXFLAGS) -o$@ $<
+	-$(INSRCDIR)cp -p $@ $(srcdir)/treelang
+
+treelang/parse.c treelang/parse.h treelang/parse.output: treelang/parse.y
+	$(BISON) $(BISONFLAGS) -v --defines --output=treelang/parse.c $<
+	-$(INSRCDIR)cp -p treelang/parse.c $(srcdir)/treelang
+	-$(INSRCDIR)cp -p treelang/parse.h $(srcdir)/treelang
 
 # -v
 
@@ -149,24 +144,20 @@ treelang.rest.encap:
 treelang.tags: force
 	cd $(srcdir)/treelang; etags *.y *.l *.c *.h
 
-info:: $(docobjdir)/treelang.info
-dvi:: $(docobjdir)/treelang.dvi
+info:: doc/treelang.info
+dvi:: doc/treelang.dvi
 
-$(docobjdir)/treelang.info: treelang/treelang.texi \
-	 $(docdir)/include/gcc-common.texi \
-	 $(docdir)/include/gpl.texi \
-	 $(docdir)/include/fdl.texi \
-	 $(docdir)/include/funding.texi \
-	 stmp-docobjdir
+doc/treelang.info: treelang/treelang.texi $(docdir)/include/gcc-common.texi \
+	 $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
+	 $(docdir)/include/funding.texi
 	$(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include -o $@ $<
+	-@INSRCDIR@ cp -p $@ $(docdir)
 
-$(docobjdir)/treelang.dvi: treelang/treelang.texi \
-	 $(docdir)/include/gcc-common.texi \
-	 $(docdir)/include/gpl.texi \
-	 $(docdir)/include/fdl.texi \
-	 $(docdir)/include/funding.texi \
-	 stmp-docobjdir
+doc/treelang.dvi: treelang/treelang.texi $(docdir)/include/gcc-common.texi \
+	 $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
+	 $(docdir)/include/funding.texi
 	$(TEXI2DVI) -I $(docdir)/include -o $@ $<
+	-@INSRCDIR@ cp -p $@ $(docdir)
 
 #
 # Install hooks:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]