From a19e8f6495da78bb26641fda14fdcb8b4828a904 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <bonzini@gnu.org>
Date: Thu, 14 Jun 2007 08:50:28 +0000
Subject: [PATCH] Makefile.tpl (cleanstrap): Don't delete the toplevel
 Makefile.

2007-06-14  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.tpl (cleanstrap): Don't delete the toplevel Makefile.
	(distclean-stage[+id+]): Possibly delete stage_last.
	* Makefile.in: Regenerate.

From-SVN: r125701
---
 ChangeLog    |  6 ++++++
 Makefile.in  | 16 +++++++++++++++-
 Makefile.tpl | 11 ++++++++++-
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 13cc02e9465d..05394161746d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
+
+	* Makefile.tpl (cleanstrap): Don't delete the toplevel Makefile.
+	(distclean-stage[+id+]): Possibly delete stage_last.
+	* Makefile.in: Regenerate.
+
 2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
 
 	* MAINTAINERS (Various Maintainer): Fix typo.
diff --git a/Makefile.in b/Makefile.in
index 595520ee0653..785f53ba45a8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -47478,6 +47478,7 @@ do-clean: clean-stage1
 .PHONY: distclean-stage1
 distclean-stage1::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stage1 || rm -f stage_last
 	rm -rf stage1-* 
 
 
@@ -47709,6 +47710,7 @@ distclean-stage1:: distclean-stage2
 .PHONY: distclean-stage2
 distclean-stage2::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stage2 || rm -f stage_last
 	rm -rf stage2-* 
 
 
@@ -47983,11 +47985,20 @@ distclean-stage2:: distclean-stage3
 .PHONY: distclean-stage3
 distclean-stage3::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stage3 || rm -f stage_last
 	rm -rf stage3-* compare 
 
 
 .PHONY: cleanstrap
-cleanstrap: distclean bootstrap
+cleanstrap: do-distclean local-clean
+	echo stage3 > stage_final
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage3-bubble
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 
 @endif gcc-bootstrap
 
@@ -48260,6 +48271,7 @@ distclean-stage3:: distclean-stage4
 .PHONY: distclean-stage4
 distclean-stage4::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stage4 || rm -f stage_last
 	rm -rf stage4-* compare3 
 
 
@@ -48470,6 +48482,7 @@ distclean-stage1:: distclean-stageprofile
 .PHONY: distclean-stageprofile
 distclean-stageprofile::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stageprofile || rm -f stage_last
 	rm -rf stageprofile-* 
 
 
@@ -48701,6 +48714,7 @@ distclean-stageprofile:: distclean-stagefeedback
 .PHONY: distclean-stagefeedback
 distclean-stagefeedback::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stagefeedback || rm -f stage_last
 	rm -rf stagefeedback-* 
 
 
diff --git a/Makefile.tpl b/Makefile.tpl
index 958d4cb6e283..6164a4164c69 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1361,12 +1361,21 @@ do-clean: clean-stage[+id+]
 .PHONY: distclean-stage[+id+]
 distclean-stage[+id+]::
 	@: $(MAKE); $(stage)
+	@test "`cat stage_last`" != stage[+id+] || rm -f stage_last
 	rm -rf stage[+id+]-* [+
 	  IF compare-target +][+compare-target+] [+ ENDIF compare-target +]
 
 [+ IF cleanstrap-target +]
 .PHONY: [+cleanstrap-target+]
-[+cleanstrap-target+]: distclean [+bootstrap-target+]
+[+cleanstrap-target+]: do-distclean local-clean
+	echo stage[+id+] > stage_final
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 [+ ENDIF cleanstrap-target +]
 @endif gcc-bootstrap
 
-- 
GitLab