Makefile.tpl (all-stage1-gcc, [...]): Always relocate gcc and prev-gcc to the origina...
authorPaolo Bonzini <bonzini@gnu.org>
Sat, 24 Apr 2004 06:42:54 +0000 (06:42 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Sat, 24 Apr 2004 06:42:54 +0000 (06:42 +0000)
2004-04-23  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc):
Always relocate gcc and prev-gcc to the original names, even
if the build fails.
(new-cleanstrap, new-restage1, new-restage2, new-restage3):
New targets.

From-SVN: r81130

ChangeLog
Makefile.in
Makefile.tpl

index 6000a4328e458dec63bc12515cf95657803b5d1f..5101b2a3a240b8fec9535de4d1bedc94bbd1fccc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc):
+       Always relocate gcc and prev-gcc to the original names, even
+       if the build fails.
+       (new-cleanstrap, new-restage1, new-restage2, new-restage3):
+       New targets.
+
 2004-04-23  Laurent GUERBY <laurent@guerby.net>
 
        * MAINTAINERS: Update my email address.
index 354b7d9f7275b4043d93d3ca57ffba9982428fe1..55ec68c5c587c3d17be776090c760b1b0bf15c1c 100644 (file)
@@ -24112,11 +24112,11 @@ all-stage1-gcc: configure-stage1-gcc prebootstrap
        mv stage1-gcc gcc ; \
        cd gcc && \
        $(MAKE) $(GCC_FLAGS_TO_PASS) \
-               CFLAGS="$(STAGE1_CFLAGS)" \
-               || exit 1 ; \
+               CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc ; \
+       result=$$? ; \
        cd .. ; \
        mv gcc stage1-gcc ; \
-       $(STAMP) all-stage1-gcc
+       exit $$result
 
 # TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
 # Possibly pass --enable-werror-always (depending on --enable-werror);
@@ -24188,11 +24188,12 @@ all-stage2-gcc: all-stage1-gcc configure-stage2-gcc
                CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                STAGE_PREFIX=$$r/prev-gcc/ \
-               $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+               $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage2-gcc ; \
+       result=$$? ; \
        cd .. ; \
        mv prev-gcc stage1-gcc ; \
        mv gcc stage2-gcc ; \
-       $(STAMP) all-stage2-gcc
+       exit $$result
 
 configure-stage3-gcc: all-stage2-gcc
        echo configure-stage3-gcc > stage_last ; \
@@ -24255,11 +24256,12 @@ all-stage3-gcc: all-stage2-gcc configure-stage3-gcc
                CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                STAGE_PREFIX=$$r/prev-gcc/ \
-               $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+               $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage3-gcc \
+       result=$$? ; \
        cd .. ; \
        mv prev-gcc stage2-gcc ; \
        mv gcc stage3-gcc ; \
-       $(STAMP) all-stage3-gcc
+       exit $$result
 
 # We only want to compare .o files, so set this!
 objext = .o
@@ -24294,6 +24296,31 @@ new-bootstrap: compare
        $(MAKE) all ; \
        mv gcc stage3-gcc
 
+new-cleanstrap:
+       rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc \
+         configure-stage2-gcc all-stage2-gcc stage2-gcc \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) new-bootstrap
+
+new-restage1:
+       rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc/Makefile \
+         configure-stage2-gcc all-stage2-gcc stage2-gcc \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) all-stage1-gcc
+
+new-restage2: all-stage1-gcc
+       rm -rf configure-stage2-gcc all-stage2-gcc stage2-gcc/Makefile \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) all-stage2-gcc
+
+new-restage3: all-stage2-gcc
+       rm -rf configure-stage3-gcc all-stage3-gcc stage3-gcc/Makefile \
+         compare
+       $(MAKE) compare
+
 # --------------------------------------
 # Dependencies between different modules
 # --------------------------------------
index 7ae10deab3b4142b9a7fbe958a47ba28357c4200..d380616168830fa5c20b759475b9a792a703ca27 100644 (file)
@@ -1377,11 +1377,11 @@ all-stage1-gcc: configure-stage1-gcc prebootstrap
        mv stage1-gcc gcc ; \
        cd gcc && \
        $(MAKE) $(GCC_FLAGS_TO_PASS) \
-               CFLAGS="$(STAGE1_CFLAGS)" \
-               || exit 1 ; \
+               CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc ; \
+       result=$$? ; \
        cd .. ; \
        mv gcc stage1-gcc ; \
-       $(STAMP) all-stage1-gcc
+       exit $$result
 
 # TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
 # Possibly pass --enable-werror-always (depending on --enable-werror);
@@ -1453,11 +1453,12 @@ all-stage2-gcc: all-stage1-gcc configure-stage2-gcc
                CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                STAGE_PREFIX=$$r/prev-gcc/ \
-               $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+               $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage2-gcc ; \
+       result=$$? ; \
        cd .. ; \
        mv prev-gcc stage1-gcc ; \
        mv gcc stage2-gcc ; \
-       $(STAMP) all-stage2-gcc
+       exit $$result
 
 configure-stage3-gcc: all-stage2-gcc
        echo configure-stage3-gcc > stage_last ; \
@@ -1520,11 +1521,12 @@ all-stage3-gcc: all-stage2-gcc configure-stage3-gcc
                CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
                STAGE_PREFIX=$$r/prev-gcc/ \
-               $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+               $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage3-gcc \
+       result=$$? ; \
        cd .. ; \
        mv prev-gcc stage2-gcc ; \
        mv gcc stage3-gcc ; \
-       $(STAMP) all-stage3-gcc
+       exit $$result
 
 # We only want to compare .o files, so set this!
 objext = .o
@@ -1559,6 +1561,30 @@ new-bootstrap: compare
        $(MAKE) all ; \
        mv gcc stage3-gcc
 
+new-cleanstrap:
+       rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc \
+         configure-stage2-gcc all-stage2-gcc stage2-gcc \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) new-bootstrap
+
+new-restage1:
+       rm -rf all-stage1-gcc \
+         configure-stage2-gcc all-stage2-gcc stage2-gcc \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) all-stage1-gcc
+
+new-restage2: all-stage1-gcc
+       rm -rf all-stage2-gcc \
+         configure-stage3-gcc all-stage3-gcc stage3-gcc \
+         compare
+       $(MAKE) all-stage2-gcc
+
+new-restage3: all-stage2-gcc
+       rm -rf all-stage3-gcc compare
+       $(MAKE) compare
+
 # --------------------------------------
 # Dependencies between different modules
 # --------------------------------------