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]

PATCH: Avoid `touch' in Makefiles



This patch systematically removes uses of `touch' in the Makefiles.

Gerald, would you mind updating our copy of the coding standards to
reflect that `touch' should never be used in GCC Makefiles?  Instead
of `touch foo' use `$(STAMP) foo'.

As discussed earlier, this works around a bug in Solaris 2.8.  This
patch eliminates the 600 or so Fortran failures I was seeing on
Solaris due to mishmashes introduced by recompiling little bits of GCC
with the already installed GCC and then jamming the result into the
allegedly bootstrapped executable.

I still question whether this stamp-file complexity is in any way
worthwhile, given the speed of current machines, but we can leave that
for another day.

Tested on sparc-sun-solaris2.8 and i686-pc-linux-gnu, installed on the
mainline and on the branch.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

2001-05-13  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.in (STAMP): New macro.
	Replace all uses of `touch' with $(STAMP).
	* fixinc/Makefile.in: Likewise.

Sun May 13 12:25:06 2001  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in: Replace all uses of `touch' with $(STAMP).

2001-05-13  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.in.in (STAMP): New macro.
	Replace all uses of `touch' with $(STAMP).

Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.602.2.19
diff -c -p -r1.602.2.19 Makefile.in
*** Makefile.in	2001/05/13 07:09:50	1.602.2.19
--- Makefile.in	2001/05/13 19:19:22
*************** MAKEOVERRIDES =
*** 141,146 ****
--- 141,151 ----
  # In stage2 and beyond, we force this to "-o $@" since we know we're using gcc.
  OUTPUT_OPTION = @OUTPUT_OPTION@
  
+ # Some versions of `touch' (such as the version on Solaris 2.8) 
+ # do not correctly set the timestamp due to buggy versions of `utime'
+ # in the kernel.  So, we use `echo' instead. 
+ STAMP = echo timestamp >
+ 
  # This is where we get zlib from.  zlibdir is -L../zlib and zlibinc is
  # -I../zlib, unless we were configured with --with-system-zlib, in which
  # case both are empty.
*************** s-mlib: $(srcdir)/genmultilib Makefile
*** 1128,1134 ****
  	  "`test @enable_multilib@ = yes && echo $(MULTILIB_EXCLUSIONS)`" \
  		> tmp-mlib.h
  	$(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
! 	touch s-mlib
  
  # Build multiple copies of libgcc.a, one for each target switch.
  stmp-multilib: $(LIBGCC_DEPS)
--- 1133,1139 ----
  	  "`test @enable_multilib@ = yes && echo $(MULTILIB_EXCLUSIONS)`" \
  		> tmp-mlib.h
  	$(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
! 	$(STAMP) s-mlib
  
  # Build multiple copies of libgcc.a, one for each target switch.
  stmp-multilib: $(LIBGCC_DEPS)
*************** stmp-multilib: $(LIBGCC_DEPS)
*** 1148,1154 ****
  	  LIB1ASMSRC='$(LIB1ASMSRC)' \
  	  MAKEOVERRIDES= \
  	  -f libgcc.mk all
! 	touch stmp-multilib
  
  # Compile two additional files that are linked with every program
  # linked using GCC on systems using COFF or ELF, for the sake of C++
--- 1153,1159 ----
  	  LIB1ASMSRC='$(LIB1ASMSRC)' \
  	  MAKEOVERRIDES= \
  	  -f libgcc.mk all
! 	$(STAMP) stmp-multilib
  
  # Compile two additional files that are linked with every program
  # linked using GCC on systems using COFF or ELF, for the sake of C++
*************** s-crt0:	$(CRT0_S) $(MCRT0_S) $(GCC_PASSE
*** 1194,1200 ****
  	  -o crt0.o -c $(CRT0_S)
  	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
  	  -o mcrt0.o -c $(MCRT0_S)
! 	touch s-crt0
  #
  # Compiling object files from source files.
  
--- 1199,1205 ----
  	  -o crt0.o -c $(CRT0_S)
  	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
  	  -o mcrt0.o -c $(MCRT0_S)
! 	$(STAMP) s-crt0
  #
  # Compiling object files from source files.
  
*************** s-under: $(GCC_PASSES)
*** 1293,1299 ****
  	fi
  	$(SHELL) $(srcdir)/move-if-change tmp-under.c underscore.c
  	-rm -f tmp-dum.c tmp-dum.s
! 	touch s-under
  
  # A file used by all variants of C.
  
--- 1298,1304 ----
  	fi
  	$(SHELL) $(srcdir)/move-if-change tmp-under.c underscore.c
  	-rm -f tmp-dum.c tmp-dum.s
! 	$(STAMP) s-under
  
  # A file used by all variants of C.
  
*************** tree-check.h: s-check ; @true
*** 1339,1345 ****
  s-check : gencheck$(build_exeext) $(srcdir)/move-if-change
  	./gencheck$(build_exeext) > tmp-check.h
  	$(SHELL) $(srcdir)/move-if-change tmp-check.h tree-check.h
! 	touch s-check
  
  gencheck$(build_exeext) : gencheck.o $(HOST_LIBDEPS)
  	$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
--- 1344,1350 ----
  s-check : gencheck$(build_exeext) $(srcdir)/move-if-change
  	./gencheck$(build_exeext) > tmp-check.h
  	$(SHELL) $(srcdir)/move-if-change tmp-check.h tree-check.h
! 	$(STAMP) s-check
  
  gencheck$(build_exeext) : gencheck.o $(HOST_LIBDEPS)
  	$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
*************** insn-config.h: s-config ; @true
*** 1652,1670 ****
  s-config : $(md_file) genconfig$(build_exeext) $(srcdir)/move-if-change
  	./genconfig$(build_exeext) $(md_file) > tmp-config.h
  	$(SHELL) $(srcdir)/move-if-change tmp-config.h insn-config.h
! 	touch s-config
  
  insn-flags.h: s-flags ; @true
  s-flags : $(md_file) genflags$(build_exeext) $(srcdir)/move-if-change
  	./genflags$(build_exeext) $(md_file) > tmp-flags.h
  	$(SHELL) $(srcdir)/move-if-change tmp-flags.h insn-flags.h
! 	touch s-flags
  
  insn-codes.h: s-codes ; @true
  s-codes : $(md_file) gencodes$(build_exeext) $(srcdir)/move-if-change
  	./gencodes$(build_exeext) $(md_file) > tmp-codes.h
  	$(SHELL) $(srcdir)/move-if-change tmp-codes.h insn-codes.h
! 	touch s-codes
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) $(EXPR_H) real.h output.h \
    insn-config.h system.h reload.h $(RECOG_H) \
--- 1657,1675 ----
  s-config : $(md_file) genconfig$(build_exeext) $(srcdir)/move-if-change
  	./genconfig$(build_exeext) $(md_file) > tmp-config.h
  	$(SHELL) $(srcdir)/move-if-change tmp-config.h insn-config.h
! 	$(STAMP) s-config
  
  insn-flags.h: s-flags ; @true
  s-flags : $(md_file) genflags$(build_exeext) $(srcdir)/move-if-change
  	./genflags$(build_exeext) $(md_file) > tmp-flags.h
  	$(SHELL) $(srcdir)/move-if-change tmp-flags.h insn-flags.h
! 	$(STAMP) s-flags
  
  insn-codes.h: s-codes ; @true
  s-codes : $(md_file) gencodes$(build_exeext) $(srcdir)/move-if-change
  	./gencodes$(build_exeext) $(md_file) > tmp-codes.h
  	$(SHELL) $(srcdir)/move-if-change tmp-codes.h insn-codes.h
! 	$(STAMP) s-codes
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) $(EXPR_H) real.h output.h \
    insn-config.h system.h reload.h $(RECOG_H) \
*************** insn-emit.c: s-emit ; @true
*** 1675,1681 ****
  s-emit : $(md_file) genemit$(build_exeext) $(srcdir)/move-if-change
  	./genemit$(build_exeext) $(md_file) > tmp-emit.c
  	$(SHELL) $(srcdir)/move-if-change tmp-emit.c insn-emit.c
! 	touch s-emit
  
  insn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h $(RECOG_H) \
    real.h output.h flags.h system.h function.h hard-reg-set.h resource.h \
--- 1680,1686 ----
  s-emit : $(md_file) genemit$(build_exeext) $(srcdir)/move-if-change
  	./genemit$(build_exeext) $(md_file) > tmp-emit.c
  	$(SHELL) $(srcdir)/move-if-change tmp-emit.c insn-emit.c
! 	$(STAMP) s-emit
  
  insn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h $(RECOG_H) \
    real.h output.h flags.h system.h function.h hard-reg-set.h resource.h \
*************** insn-recog.c: s-recog ; @true
*** 1686,1692 ****
  s-recog : $(md_file) genrecog$(build_exeext) $(srcdir)/move-if-change
  	./genrecog$(build_exeext) $(md_file) > tmp-recog.c
  	$(SHELL) $(srcdir)/move-if-change tmp-recog.c insn-recog.c
! 	touch s-recog
  
  insn-opinit.o : insn-opinit.c $(CONFIG_H) $(RTL_H) \
    insn-config.h flags.h $(RECOG_H) $(EXPR_H) reload.h system.h
--- 1691,1697 ----
  s-recog : $(md_file) genrecog$(build_exeext) $(srcdir)/move-if-change
  	./genrecog$(build_exeext) $(md_file) > tmp-recog.c
  	$(SHELL) $(srcdir)/move-if-change tmp-recog.c insn-recog.c
! 	$(STAMP) s-recog
  
  insn-opinit.o : insn-opinit.c $(CONFIG_H) $(RTL_H) \
    insn-config.h flags.h $(RECOG_H) $(EXPR_H) reload.h system.h
*************** insn-opinit.c: s-opinit ; @true
*** 1696,1702 ****
  s-opinit : $(md_file) genopinit$(build_exeext) $(srcdir)/move-if-change
  	./genopinit$(build_exeext) $(md_file) > tmp-opinit.c
  	$(SHELL) $(srcdir)/move-if-change tmp-opinit.c insn-opinit.c
! 	touch s-opinit
  
  insn-extract.o : insn-extract.c $(CONFIG_H) $(RTL_H) system.h toplev.h \
    insn-config.h $(RECOG_H)
--- 1701,1707 ----
  s-opinit : $(md_file) genopinit$(build_exeext) $(srcdir)/move-if-change
  	./genopinit$(build_exeext) $(md_file) > tmp-opinit.c
  	$(SHELL) $(srcdir)/move-if-change tmp-opinit.c insn-opinit.c
! 	$(STAMP) s-opinit
  
  insn-extract.o : insn-extract.c $(CONFIG_H) $(RTL_H) system.h toplev.h \
    insn-config.h $(RECOG_H)
*************** insn-extract.c: s-extract ; @true
*** 1706,1712 ****
  s-extract : $(md_file) genextract$(build_exeext) $(srcdir)/move-if-change
  	./genextract$(build_exeext) $(md_file) > tmp-extract.c
  	$(SHELL) $(srcdir)/move-if-change tmp-extract.c insn-extract.c
! 	touch s-extract
  
  insn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) $(REGS_H) output.h real.h \
  	system.h insn-config.h $(RECOG_H) except.h function.h $(TM_P_H)
--- 1711,1717 ----
  s-extract : $(md_file) genextract$(build_exeext) $(srcdir)/move-if-change
  	./genextract$(build_exeext) $(md_file) > tmp-extract.c
  	$(SHELL) $(srcdir)/move-if-change tmp-extract.c insn-extract.c
! 	$(STAMP) s-extract
  
  insn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) $(REGS_H) output.h real.h \
  	system.h insn-config.h $(RECOG_H) except.h function.h $(TM_P_H)
*************** insn-peep.c: s-peep ; @true
*** 1716,1722 ****
  s-peep : $(md_file) genpeep$(build_exeext) $(srcdir)/move-if-change
  	./genpeep$(build_exeext) $(md_file) > tmp-peep.c
  	$(SHELL) $(srcdir)/move-if-change tmp-peep.c insn-peep.c
! 	touch s-peep
  
  insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(RTL_H) $(REGS_H) real.h \
      output.h $(INSN_ATTR_H) insn-config.h system.h toplev.h $(RECOG_H) $(TM_P_H)
--- 1721,1727 ----
  s-peep : $(md_file) genpeep$(build_exeext) $(srcdir)/move-if-change
  	./genpeep$(build_exeext) $(md_file) > tmp-peep.c
  	$(SHELL) $(srcdir)/move-if-change tmp-peep.c insn-peep.c
! 	$(STAMP) s-peep
  
  insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(RTL_H) $(REGS_H) real.h \
      output.h $(INSN_ATTR_H) insn-config.h system.h toplev.h $(RECOG_H) $(TM_P_H)
*************** insn-attr.h: s-attr ; @true
*** 1726,1738 ****
  s-attr : $(md_file) genattr$(build_exeext) $(srcdir)/move-if-change
  	./genattr$(build_exeext) $(md_file) > tmp-attr.h
  	$(SHELL) $(srcdir)/move-if-change tmp-attr.h insn-attr.h
! 	touch s-attr
  
  insn-attrtab.c: s-attrtab ; @true
  s-attrtab : $(md_file) genattrtab$(build_exeext) $(srcdir)/move-if-change
  	./genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
  	$(SHELL) $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
! 	touch s-attrtab
  
  insn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) $(GGC_H) $(REGS_H) real.h \
      conditions.h hard-reg-set.h insn-config.h $(INSN_ATTR_H) \
--- 1731,1743 ----
  s-attr : $(md_file) genattr$(build_exeext) $(srcdir)/move-if-change
  	./genattr$(build_exeext) $(md_file) > tmp-attr.h
  	$(SHELL) $(srcdir)/move-if-change tmp-attr.h insn-attr.h
! 	$(STAMP) s-attr
  
  insn-attrtab.c: s-attrtab ; @true
  s-attrtab : $(md_file) genattrtab$(build_exeext) $(srcdir)/move-if-change
  	./genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
  	$(SHELL) $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
! 	$(STAMP) s-attrtab
  
  insn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) $(GGC_H) $(REGS_H) real.h \
      conditions.h hard-reg-set.h insn-config.h $(INSN_ATTR_H) \
*************** insn-output.c: s-output ; @true
*** 1744,1750 ****
  s-output : $(md_file) genoutput$(build_exeext) $(srcdir)/move-if-change
  	./genoutput$(build_exeext) $(md_file) > tmp-output.c
  	$(SHELL) $(srcdir)/move-if-change tmp-output.c insn-output.c
! 	touch s-output
  
  genrtl.o : genrtl.c $(CONFIG_H) $(RTL_H) system.h $(GGC_H)
  genrtl.c genrtl.h : s-genrtl
--- 1749,1755 ----
  s-output : $(md_file) genoutput$(build_exeext) $(srcdir)/move-if-change
  	./genoutput$(build_exeext) $(md_file) > tmp-output.c
  	$(SHELL) $(srcdir)/move-if-change tmp-output.c insn-output.c
! 	$(STAMP) s-output
  
  genrtl.o : genrtl.c $(CONFIG_H) $(RTL_H) system.h $(GGC_H)
  genrtl.c genrtl.h : s-genrtl
*************** s-genrtl: gengenrtl$(build_exeext) $(src
*** 1755,1761 ****
  	$(SHELL) $(srcdir)/move-if-change tmp-genrtl.h genrtl.h
  	./gengenrtl$(build_exeext) >tmp-genrtl.c
  	$(SHELL) $(srcdir)/move-if-change tmp-genrtl.c genrtl.c
! 	touch s-genrtl
  #
  # Compile the programs that generate insn-* from the machine description.
  # They are compiled with $(HOST_CC), and associated libraries,
--- 1760,1766 ----
  	$(SHELL) $(srcdir)/move-if-change tmp-genrtl.h genrtl.h
  	./gengenrtl$(build_exeext) >tmp-genrtl.c
  	$(SHELL) $(srcdir)/move-if-change tmp-genrtl.c genrtl.c
! 	$(STAMP) s-genrtl
  #
  # Compile the programs that generate insn-* from the machine description.
  # They are compiled with $(HOST_CC), and associated libraries,
*************** $(HOST_PREFIX_1)errors.o: errors.c $(HCO
*** 1933,1939 ****
  # This satisfies the dependency that we get if you cross-compile a compiler
  # that does not need to compile alloca, malloc or whatever.
  $(HOST_PREFIX_1):
! 	touch $(HOST_PREFIX_1)
  
  $(HOST_PREFIX_1)ggc-none.o: ggc-none.c $(HCONFIG_H)
  	rm -f $(HOST_PREFIX)ggc-none.c
--- 1938,1944 ----
  # This satisfies the dependency that we get if you cross-compile a compiler
  # that does not need to compile alloca, malloc or whatever.
  $(HOST_PREFIX_1):
! 	$(STAMP) $(HOST_PREFIX_1)
  
  $(HOST_PREFIX_1)ggc-none.o: ggc-none.c $(HCONFIG_H)
  	rm -f $(HOST_PREFIX)ggc-none.c
*************** stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) 
*** 2116,2122 ****
  	for file in .. $(USER_H); do \
  	  if [ X$$file != X.. ]; then \
  	    realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
! 	    touch include/$$realfile; \
  	    rm -f include/$$realfile; \
  	    cp $$file include; \
  	    chmod a+r include/$$realfile; \
--- 2121,2127 ----
  	for file in .. $(USER_H); do \
  	  if [ X$$file != X.. ]; then \
  	    realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
! 	    $(STAMP) include/$$realfile; \
  	    rm -f include/$$realfile; \
  	    cp $$file include; \
  	    chmod a+r include/$$realfile; \
*************** stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) 
*** 2134,2140 ****
  	rm -f include/README
  	cp $(srcdir)/README-fixinc include/README
  	chmod a+r include/README
! 	touch $@
  
  # fixinc.sh depends on this, not on specs directly.
  # The idea is to make sure specs gets built, but not rerun fixinc.sh
--- 2139,2145 ----
  	rm -f include/README
  	cp $(srcdir)/README-fixinc include/README
  	chmod a+r include/README
! 	$(STAMP) $@
  
  # fixinc.sh depends on this, not on specs directly.
  # The idea is to make sure specs gets built, but not rerun fixinc.sh
*************** specs.ready: specs
*** 2143,2149 ****
  	-if [ -f specs.ready ] ; then \
  		true; \
  	else \
! 		touch specs.ready; \
  	fi
  
  FIXINCSRCDIR=$(srcdir)/fixinc
--- 2148,2154 ----
  	-if [ -f specs.ready ] ; then \
  		true; \
  	else \
! 		$(STAMP) specs.ready; \
  	fi
  
  FIXINCSRCDIR=$(srcdir)/fixinc
*************** stmp-fixinc: fixinc.sh gsyslimits.h
*** 2186,2192 ****
  	  if [ -d $(libdir)/gcc-lib/$(target_alias) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias) ; fi; \
  	  if [ -d $(libdir)/gcc-lib/$(target_alias)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias)/$(version) ; fi; \
  	else true; fi
! 	touch stmp-fixinc
  
  # Files related to the fixproto script.
  # gen-protos and fix-header are compiled with HOST_CC, but they are only
--- 2191,2197 ----
  	  if [ -d $(libdir)/gcc-lib/$(target_alias) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias) ; fi; \
  	  if [ -d $(libdir)/gcc-lib/$(target_alias)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target_alias)/$(version) ; fi; \
  	else true; fi
! 	$(STAMP) stmp-fixinc
  
  # Files related to the fixproto script.
  # gen-protos and fix-header are compiled with HOST_CC, but they are only
*************** deduced.h: $(GCC_PASSES) $(srcdir)/scan-
*** 2201,2207 ****
  	  $(SHELL) $(srcdir)/scan-types.sh "$(srcdir)" >tmp-deduced.h; \
  	  mv tmp-deduced.h deduced.h; \
  	else \
! 	  touch deduced.h; \
  	fi
  
  GEN_PROTOS_OBJS = gen-protos.o scan.o
--- 2206,2212 ----
  	  $(SHELL) $(srcdir)/scan-types.sh "$(srcdir)" >tmp-deduced.h; \
  	  mv tmp-deduced.h deduced.h; \
  	else \
! 	  $(STAMP) deduced.h; \
  	fi
  
  GEN_PROTOS_OBJS = gen-protos.o scan.o
*************** fixhdr.ready: fix-header$(build_exeext)
*** 2247,2253 ****
  	-if [ -f fixhdr.ready ] ; then \
  		true; \
  	else \
! 		touch fixhdr.ready; \
  	fi
  
  # stmp-int-headers is to make sure fixincludes has already finished.
--- 2252,2258 ----
  	-if [ -f fixhdr.ready ] ; then \
  		true; \
  	else \
! 		$(STAMP) fixhdr.ready; \
  	fi
  
  # stmp-int-headers is to make sure fixincludes has already finished.
*************** stmp-fixproto: fixhdr.ready fixproto stm
*** 2264,2272 ****
  	    $(SHELL) ${srcdir}/fixproto include include $(SYSTEM_HEADER_DIR); \
  	    if [ $$? -eq 0 ] ; then true ; else exit 1 ; fi ; \
  	  else true; fi; \
! 	  touch include/fixed; \
  	fi
! 	touch stmp-fixproto
  #
  # Remake the info files.
  
--- 2269,2277 ----
  	    $(SHELL) ${srcdir}/fixproto include include $(SYSTEM_HEADER_DIR); \
  	    if [ $$? -eq 0 ] ; then true ; else exit 1 ; fi ; \
  	  else true; fi; \
! 	  $(STAMP) include/fixed; \
  	fi
! 	$(STAMP) stmp-fixproto
  #
  # Remake the info files.
  
*************** cpp.dvi: $(srcdir)/cpp.texi
*** 2309,2315 ****
  generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1 $(srcdir)/gcc.1
  
  $(srcdir)/gcov.1: $(srcdir)/gcov.texi
! 	touch $(srcdir)/gcov.1
  	-$(TEXI2POD) < $(srcdir)/gcov.texi > gcov.pod
  	-($(POD2MAN) gcov.pod > $(srcdir)/gcov.1.T$$$$ && \
  		mv -f $(srcdir)/gcov.1.T$$$$ $(srcdir)/gcov.1) || \
--- 2314,2320 ----
  generated-manpages: $(srcdir)/gcov.1 $(srcdir)/cpp.1 $(srcdir)/gcc.1
  
  $(srcdir)/gcov.1: $(srcdir)/gcov.texi
! 	$(STAMP) $(srcdir)/gcov.1
  	-$(TEXI2POD) < $(srcdir)/gcov.texi > gcov.pod
  	-($(POD2MAN) gcov.pod > $(srcdir)/gcov.1.T$$$$ && \
  		mv -f $(srcdir)/gcov.1.T$$$$ $(srcdir)/gcov.1) || \
*************** $(srcdir)/gcov.1: $(srcdir)/gcov.texi
*** 2317,2323 ****
  	-rm -f gcov.pod
  
  $(srcdir)/cpp.1: $(srcdir)/cpp.texi
! 	touch $(srcdir)/cpp.1
  	-$(TEXI2POD) < $(srcdir)/cpp.texi > cpp.pod
  	-($(POD2MAN) cpp.pod > $(srcdir)/cpp.1.T$$$$ && \
  		mv -f $(srcdir)/cpp.1.T$$$$ $(srcdir)/cpp.1) || \
--- 2322,2328 ----
  	-rm -f gcov.pod
  
  $(srcdir)/cpp.1: $(srcdir)/cpp.texi
! 	$(STAMP) $(srcdir)/cpp.1
  	-$(TEXI2POD) < $(srcdir)/cpp.texi > cpp.pod
  	-($(POD2MAN) cpp.pod > $(srcdir)/cpp.1.T$$$$ && \
  		mv -f $(srcdir)/cpp.1.T$$$$ $(srcdir)/cpp.1) || \
*************** $(srcdir)/cpp.1: $(srcdir)/cpp.texi
*** 2325,2331 ****
  	-rm -f cpp.pod
  
  $(srcdir)/gcc.1: $(srcdir)/invoke.texi
! 	touch $(srcdir)/gcc.1
  	-$(TEXI2POD) < $(srcdir)/invoke.texi > gcc.pod
  	-($(POD2MAN) gcc.pod > $(srcdir)/gcc.1.T$$$$ && \
  		mv -f $(srcdir)/gcc.1.T$$$$ $(srcdir)/gcc.1) || \
--- 2330,2336 ----
  	-rm -f cpp.pod
  
  $(srcdir)/gcc.1: $(srcdir)/invoke.texi
! 	$(STAMP) $(srcdir)/gcc.1
  	-$(TEXI2POD) < $(srcdir)/invoke.texi > gcc.pod
  	-($(POD2MAN) gcc.pod > $(srcdir)/gcc.1.T$$$$ && \
  		mv -f $(srcdir)/gcc.1.T$$$$ $(srcdir)/gcc.1) || \
*************** target_subdir = @target_subdir@
*** 2823,2829 ****
  site.exp: ./config.status Makefile
  	@echo "Making a new config file..."
  	-@rm -f ./tmp?
! 	@touch site.exp
  	-@mv site.exp site.bak
  	@echo "## these variables are automatically generated by make ##" > ./tmp0
  	@echo "# Do not edit here. If you wish to override these values" >> ./tmp0
--- 2828,2834 ----
  site.exp: ./config.status Makefile
  	@echo "Making a new config file..."
  	-@rm -f ./tmp?
! 	@$(STAMP) site.exp
  	-@mv site.exp site.bak
  	@echo "## these variables are automatically generated by make ##" > ./tmp0
  	@echo "# Do not edit here. If you wish to override these values" >> ./tmp0
*************** stage1_build:
*** 2973,2984 ****
  	$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
  		CFLAGS="$(STAGE1_CFLAGS)" MAKEINFO="$(MAKEINFO)" \
  		MAKEINFOFLAGS="$(MAKEINFOFLAGS)"
! 	touch stage1_build
  	echo stage1_build > stage_last
  
  stage1_copy: stage1_build
  	$(MAKE) stage1
! 	touch stage1_copy
  	echo stage2_build > stage_last
  
  # This used to define ALLOCA as empty, but that would lead to bad results
--- 2978,2989 ----
  	$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
  		CFLAGS="$(STAGE1_CFLAGS)" MAKEINFO="$(MAKEINFO)" \
  		MAKEINFOFLAGS="$(MAKEINFOFLAGS)"
! 	$(STAMP) stage1_build
  	echo stage1_build > stage_last
  
  stage1_copy: stage1_build
  	$(MAKE) stage1
! 	$(STAMP) stage1_copy
  	echo stage2_build > stage_last
  
  # This used to define ALLOCA as empty, but that would lead to bad results
*************** stage2_build: stage1_copy
*** 2990,3031 ****
  	$(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage1/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	touch stage2_build
  	echo stage2_build > stage_last
  
  stage2_copy: stage2_build
  	$(MAKE) stage2
! 	touch stage2_copy
  	echo stage3_build > stage_last
  
  stage3_build: stage2_copy
  	$(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage2/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	touch stage3_build
  	echo stage3_build > stage_last
  
  # For bootstrap4:
  stage3_copy: stage3_build
  	$(MAKE) stage3
! 	touch stage3_copy
  	echo stage4_build > stage_last
  
  stage4_build: stage3_copy
  	$(MAKE) CC="stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage3/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	touch stage4_build
  	echo stage4_build > stage_last
  
  # Additional steps for *-lean targets:
  clean_s1: stage1_copy
  	-(cd stage1 && rm -f $(VOL_FILES))
! 	touch clean_s1
  
  clean_s2: stage2_copy
  	-rm -rf stage1
! 	touch clean_s2
  
  # The various entry points for bootstrapping.
  
--- 2995,3036 ----
  	$(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage1/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	$(STAMP) stage2_build
  	echo stage2_build > stage_last
  
  stage2_copy: stage2_build
  	$(MAKE) stage2
! 	$(STAMP) stage2_copy
  	echo stage3_build > stage_last
  
  stage3_build: stage2_copy
  	$(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage2/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	$(STAMP) stage3_build
  	echo stage3_build > stage_last
  
  # For bootstrap4:
  stage3_copy: stage3_build
  	$(MAKE) stage3
! 	$(STAMP) stage3_copy
  	echo stage4_build > stage_last
  
  stage4_build: stage3_copy
  	$(MAKE) CC="stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage3/ \
  		 $(STAGE2_FLAGS_TO_PASS)
! 	$(STAMP) stage4_build
  	echo stage4_build > stage_last
  
  # Additional steps for *-lean targets:
  clean_s1: stage1_copy
  	-(cd stage1 && rm -f $(VOL_FILES))
! 	$(STAMP) clean_s1
  
  clean_s2: stage2_copy
  	-rm -rf stage1
! 	$(STAMP) clean_s2
  
  # The various entry points for bootstrapping.
  
Index: gcc/f/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/Make-lang.in,v
retrieving revision 1.77.4.1
diff -c -p -r1.77.4.1 Make-lang.in
*** Make-lang.in	2001/05/12 20:32:53	1.77.4.1
--- Make-lang.in	2001/05/13 19:19:22
*************** G77_INSTALL_NAME = `t='$(program_transfo
*** 43,48 ****
--- 43,54 ----
  
  # Actual name to use when installing a cross-compiler.
  G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t`
+ 
+ # Some versions of `touch' (such as the version on Solaris 2.8) 
+ # do not correctly set the timestamp due to buggy versions of `utime'
+ # in the kernel.  So, we use `echo' instead. 
+ STAMP = echo timestamp >
+ 
  #
  # Define the names for selecting f77 in LANGUAGES.
  # Note that it would be nice to move the dependency on g77
*************** F77 f77: f771$(exeext)
*** 62,68 ****
  g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h system.h $(GCC_H) \
  	$(CONFIG_H)
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ]; then \
--- 68,74 ----
  g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h system.h $(GCC_H) \
  	$(CONFIG_H)
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ]; then \
*************** g77spec.o: $(srcdir)/f/g77spec.c $(srcdi
*** 72,78 ****
  
  g77version.o: $(srcdir)/f/version.c
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ]; then \
--- 78,84 ----
  
  g77version.o: $(srcdir)/f/version.c
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ]; then \
*************** f771$(exeext): $(F77_OBJS) $(BACKEND) $(
*** 114,120 ****
  f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.j \
   f/str-fo.h f/str-fo.j f/str-io.h f/str-io.j f/str-nq.h  f/str-nq.j \
   f/str-op.h f/str-op.j f/str-ot.h f/str-ot.j
! 	touch f/stamp-str
  
  f/str-1t.h f/str-1t.j: f/fini$(build_exeext) f/str-1t.fin
  	./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/str-1t.j f/str-1t.h
--- 120,126 ----
  f/stamp-str: f/str-1t.h f/str-1t.j f/str-2t.h f/str-2t.j \
   f/str-fo.h f/str-fo.j f/str-io.h f/str-io.j f/str-nq.h  f/str-nq.j \
   f/str-op.h f/str-op.j f/str-ot.h f/str-ot.j
! 	$(STAMP) f/stamp-str
  
  f/str-1t.h f/str-1t.j: f/fini$(build_exeext) f/str-1t.fin
  	./f/fini$(build_exeext) $(srcdir)/f/str-1t.fin f/str-1t.j f/str-1t.h
*************** $(srcdir)/f/g77.info: $(srcdir)/f/g77.te
*** 168,174 ****
  	    $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
  	    $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ] && [ x$(BUILD_INFO) = xinfo ]; then \
--- 174,180 ----
  	    $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
  	    $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  	if [ -f lang-f77 ] && [ x$(BUILD_INFO) = xinfo ]; then \
*************** f/g77.dvi: $(srcdir)/f/g77.texi $(srcdir
*** 181,187 ****
  	    $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
  	    $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  # `tex2dvi' was used below, but the Texinfo 3.12 one won't work properly
--- 187,193 ----
  	    $(srcdir)/f/g77install.texi $(srcdir)/f/news.texi \
  	    $(srcdir)/f/intdoc.texi $(srcdir)/f/root.texi
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) lang-f77;; \
  	  *) rm -f lang-f77;; \
  	esac
  # `tex2dvi' was used below, but the Texinfo 3.12 one won't work properly
*************** f77.install-normal:
*** 264,270 ****
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-common: installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch $(libsubdir)/lang-f77.com;; \
  	  *) rm -f $(libsubdir)/lang-f77.com;; \
  	esac
  	-if [ -f $(libsubdir)/lang-f77.com -a -f f771$(exeext) ] ; then \
--- 270,276 ----
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-common: installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) $(libsubdir)/lang-f77.com;; \
  	  *) rm -f $(libsubdir)/lang-f77.com;; \
  	esac
  	-if [ -f $(libsubdir)/lang-f77.com -a -f f771$(exeext) ] ; then \
*************** f77.install-common: installdirs
*** 295,301 ****
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-info: f77.info installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch $(libsubdir)/lang-f77.info;; \
  	  *) rm -f $(libsubdir)/lang-f77.info;; \
  	esac
  	if [ -f $(libsubdir)/lang-f77.info -a -f $(srcdir)/f/g77.info ] ; then \
--- 301,307 ----
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-info: f77.info installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) $(libsubdir)/lang-f77.info;; \
  	  *) rm -f $(libsubdir)/lang-f77.info;; \
  	esac
  	if [ -f $(libsubdir)/lang-f77.info -a -f $(srcdir)/f/g77.info ] ; then \
*************** f77.install-info: f77.info installdirs
*** 318,324 ****
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-man: $(srcdir)/f/g77.1 installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch $(libsubdir)/lang-f77.man;; \
  	  *) rm -f $(libsubdir)/lang-f77.man;; \
  	esac
  	-if [ -f $(libsubdir)/lang-f77.man -a -f f771$(exeext) ] ; then \
--- 324,330 ----
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.install-man: $(srcdir)/f/g77.1 installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) $(libsubdir)/lang-f77.man;; \
  	  *) rm -f $(libsubdir)/lang-f77.man;; \
  	esac
  	-if [ -f $(libsubdir)/lang-f77.man -a -f f771$(exeext) ] ; then \
*************** f77.install-man: $(srcdir)/f/g77.1 insta
*** 338,344 ****
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.uninstall: installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) touch $(libsubdir)/lang-f77.un;; \
  	  *) rm -f $(libsubdir)/lang-f77.un;; \
  	esac
  	@if [ -f $(libsubdir)/lang-f77.un ] ; then \
--- 344,350 ----
  # run, since we use libsubdir to store our `flag' file, lang-f77.
  f77.uninstall: installdirs
  	case "$(LANGUAGES)" in \
! 	  *[fF]77*) $(STAMP) $(libsubdir)/lang-f77.un;; \
  	  *) rm -f $(libsubdir)/lang-f77.un;; \
  	esac
  	@if [ -f $(libsubdir)/lang-f77.un ] ; then \
Index: gcc/fixinc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fixinc/Makefile.in,v
retrieving revision 1.32.4.1
diff -c -p -r1.32.4.1 Makefile.in
*** Makefile.in	2001/03/16 19:08:22	1.32.4.1
--- Makefile.in	2001/05/13 19:19:22
***************
*** 1,6 ****
  # Makefile for GNU compilers.
  #
! #   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
  
  #This file is part of GNU CC.
  
--- 1,6 ----
  # Makefile for GNU compilers.
  #
! #   Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
  
  #This file is part of GNU CC.
  
***************
*** 24,29 ****
--- 24,34 ----
  
  SHELL=/bin/sh
  
+ # Some versions of `touch' (such as the version on Solaris 2.8) 
+ # do not correctly set the timestamp due to buggy versions of `utime'
+ # in the kernel.  So, we use `echo' instead. 
+ STAMP = echo timestamp >
+ 
  FL_LIST = $(CFLAGS) $(CPPFLAGS) $(WARN_CFLAGS)
  FIXINC_DEFS = -DIN_GCC $(FL_LIST) $(INCLUDES)
  
*************** twoprocess : test-stamp $(AF)
*** 80,90 ****
  
  full-stamp : $(ALLOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBERTY)
! 	touch $@
  
  test-stamp : $(TESTOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBERTY)
! 	touch $@
  
  $(AF): $(FIXOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBERTY)
--- 85,95 ----
  
  full-stamp : $(ALLOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBERTY)
! 	$(STAMP) $@
  
  test-stamp : $(TESTOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBERTY)
! 	$(STAMP) $@
  
  $(AF): $(FIXOBJ) $(LIBERTY)
  	$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBERTY)
Index: gcc/po/Makefile.in.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/po/Makefile.in.in,v
retrieving revision 1.9
diff -c -p -r1.9 Makefile.in.in
*** Makefile.in.in	2001/01/31 01:30:40	1.9
--- Makefile.in.in	2001/05/13 19:19:23
*************** PACKAGE = @PACKAGE@
*** 10,15 ****
--- 10,16 ----
  VERSION = @VERSION@
  
  SHELL = /bin/sh
+ STAMP = echo timestamp >
  @SET_MAKE@
  
  srcdir = @srcdir@
*************** all-yes: $(CATALOGS) @MAINT@ $(srcdir)/c
*** 83,89 ****
  all-no:
  
  stamp-check-po: $(POTFILES)
! 	touch stamp-check-po
  
  check-po: stamp-check-po
  
--- 84,90 ----
  all-no:
  
  stamp-check-po: $(POTFILES)
! 	$(STAMP) stamp-check-po
  
  check-po: stamp-check-po
  


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