Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy rule to avoid matchin...
authorAlexandre Oliva <aoliva@redhat.com>
Wed, 26 Jan 2005 09:17:02 +0000 (09:17 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Wed, 26 Jan 2005 09:17:02 +0000 (09:17 +0000)
* Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
rule to avoid matching inappropriate suffix rule.

From-SVN: r94255

gcc/ChangeLog
gcc/Makefile.in

index 41af552bb6693e67955c2eaca6df92328e04105f..194966cbb5c8a598f453d18cd023ec929966a0a0 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
+       rule to avoid matching inappropriate suffix rule.
+
 2005-01-26  Jan Hubicka  <jh@suse.cz>
 
        PR tree-optimization/19421
index fb857cf2128dbed0986b25c7a68e5bf4eb8f21e0..c04e9bd71f6b5fcda75bc4b930ab8d66967adcf0 100644 (file)
@@ -2814,6 +2814,20 @@ s-macro_list : $(GCC_PASSES)
        $(SHELL) $(srcdir)/../move-if-change tmp-macro_list macro_list
        $(STAMP) s-macro_list
 
+# The line below is supposed to avoid accidentally matching the
+# built-in suffix rule `.o:' to build fixincl out of fixincl.o.  You'd
+# expect fixincl to be newer than fixincl.o, such that this situation
+# would never come up.  As it turns out, if you use ccache with
+# CCACHE_HARDLINK enabled, the compiler doesn't embed the current
+# working directory in object files (-g absent, or -fno-working-dir
+# present), and build and host are the same, fixincl for the host will
+# build after fixincl for the build machine, getting a cache hit,
+# thereby updating the timestamp of fixincl.o in the the host tree.
+# Because of CCACHE_HARDLINK, this will also update the timestamp in
+# the build tree, and so fixincl in the build tree will appear to be
+# out of date.  Yuck.
+../$(build_subdir)/fixincludes/fixincl: ; @ :
+
 # Build fixed copies of system files.
 stmp-fixinc: gsyslimits.h macro_list \
   ../$(build_subdir)/fixincludes/fixincl \