+ $(STAMP) compare
+ @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
+
+
+
+.PHONY: bootstrap
+bootstrap: stage3-bubble compare all
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stage2:: distclean-stage3
+.PHONY: distclean-stage3
+distclean-stage3::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stage3-* compare
+
+
+.PHONY: cleanstrap
+cleanstrap: distclean bootstrap
+
+@endif gcc-bootstrap
+
+
+.PHONY: stage4-start stage4-end
+
+stage4-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stage4 > stage_current ; \
+ echo stage4 > stage_last; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stage4-bfd ] || \
+ mkdir stage4-bfd; \
+ set stage4-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-bfd prev-bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stage4-opcodes ] || \
+ mkdir stage4-opcodes; \
+ set stage4-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-opcodes prev-opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stage4-binutils ] || \
+ mkdir stage4-binutils; \
+ set stage4-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-binutils prev-binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stage4-gas ] || \
+ mkdir stage4-gas; \
+ set stage4-gas gas ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-gas prev-gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stage4-gcc ] || \
+ mkdir stage4-gcc; \
+ set stage4-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-gcc prev-gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stage4-intl ] || \
+ mkdir stage4-intl; \
+ set stage4-intl intl ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-intl prev-intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stage4-ld ] || \
+ mkdir stage4-ld; \
+ set stage4-ld ld ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-ld prev-ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stage4-libcpp ] || \
+ mkdir stage4-libcpp; \
+ set stage4-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-libcpp prev-libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stage4-libiberty ] || \
+ mkdir stage4-libiberty; \
+ set stage4-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-libiberty prev-libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stage4-zlib ] || \
+ mkdir stage4-zlib; \
+ set stage4-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage3-zlib prev-zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stage4-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stage4-bfd ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-bfd stage3-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stage4-opcodes ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-opcodes stage3-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stage4-binutils ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-binutils stage3-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stage4-gas ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gas stage3-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stage4-gcc ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gcc stage3-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stage4-intl ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-intl stage3-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stage4-ld ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-ld stage3-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stage4-libcpp ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libcpp stage3-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stage4-libiberty ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libiberty stage3-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stage4-zlib ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-zlib stage3-zlib ; \
+ @UNDO_LINK_TO_DIR@
+@endif zlib
+
+# Bubble a bugfix through all the stages up to stage 4. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stage4-bubble
+stage4-bubble:: stage3-bubble
+ @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
+ @if test -f stage4-lean || test -f stage3-lean ; then \
+ echo Skipping rebuild of stage4 ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage4; \
+ fi
+
+.PHONY: all-stage4 clean-stage4
+do-clean: clean-stage4
+
+# FIXME: Will not need to be conditional when toplevel bootstrap is the
+# only possibility, but now it conflicts with no-bootstrap rules
+@if gcc-bootstrap
+
+compare3:
+ @if test -f stage3-lean; then \
+ echo Cannot compare object files as stage 3 was deleted. ; \
+ exit 0 ; \
+ fi; \
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ rm -f .bad_compare ; \
+ cd stage4-gcc; \
+ files=`find . -name "*$(objext)" -print` ; \
+ cd .. ; \
+ for file in $${files} ; do \
+ f1=$$r/stage3-gcc/$$file; f2=$$r/stage4-gcc/$$file; \
+ @do_compare@ > /dev/null 2>&1; \
+ test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
+ done ; \
+ if [ -f .bad_compare ]; then \
+ echo "Bootstrap comparison failure!"; \
+ cat .bad_compare; \
+ exit 1; \
+ else \
+ true; \
+ fi ; \
+ $(STAMP) compare3
+ @bootstrap_lean@-rm -rf stage3-* ; $(STAMP) stage3-lean
+
+
+
+.PHONY: bootstrap4
+bootstrap4: stage4-bubble compare3 all
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stage3:: distclean-stage4
+.PHONY: distclean-stage4
+distclean-stage4::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stage4-* compare3
+
+
+@endif gcc-bootstrap
+
+
+.PHONY: stageprofile-start stageprofile-end
+
+stageprofile-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stageprofile > stage_current ; \
+ echo stageprofile > stage_last; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stageprofile-bfd ] || \
+ mkdir stageprofile-bfd; \
+ set stageprofile-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-bfd prev-bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stageprofile-opcodes ] || \
+ mkdir stageprofile-opcodes; \
+ set stageprofile-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-opcodes prev-opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stageprofile-binutils ] || \
+ mkdir stageprofile-binutils; \
+ set stageprofile-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-binutils prev-binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stageprofile-gas ] || \
+ mkdir stageprofile-gas; \
+ set stageprofile-gas gas ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-gas prev-gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stageprofile-gcc ] || \
+ mkdir stageprofile-gcc; \
+ set stageprofile-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-gcc prev-gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stageprofile-intl ] || \
+ mkdir stageprofile-intl; \
+ set stageprofile-intl intl ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-intl prev-intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stageprofile-ld ] || \
+ mkdir stageprofile-ld; \
+ set stageprofile-ld ld ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-ld prev-ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stageprofile-libcpp ] || \
+ mkdir stageprofile-libcpp; \
+ set stageprofile-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-libcpp prev-libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stageprofile-libiberty ] || \
+ mkdir stageprofile-libiberty; \
+ set stageprofile-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-libiberty prev-libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stageprofile-zlib ] || \
+ mkdir stageprofile-zlib; \
+ set stageprofile-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-zlib prev-zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stageprofile-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stageprofile-bfd ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-bfd stage1-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stageprofile-opcodes ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-opcodes stage1-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stageprofile-binutils ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-binutils stage1-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stageprofile-gas ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gas stage1-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stageprofile-gcc ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gcc stage1-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stageprofile-intl ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-intl stage1-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stageprofile-ld ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-ld stage1-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stageprofile-libcpp ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libcpp stage1-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stageprofile-libiberty ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libiberty stage1-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stageprofile-zlib ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-zlib stage1-zlib ; \
+ @UNDO_LINK_TO_DIR@
+@endif zlib
+
+# Bubble a bugfix through all the stages up to stage profile. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stageprofile-bubble
+stageprofile-bubble:: stage1-bubble
+ @if test -f stageprofile-lean || test -f stage1-lean ; then \
+ echo Skipping rebuild of stageprofile ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stageprofile; \
+ fi
+
+.PHONY: all-stageprofile clean-stageprofile
+do-clean: clean-stageprofile
+
+# FIXME: Will not need to be conditional when toplevel bootstrap is the
+# only possibility, but now it conflicts with no-bootstrap rules
+@if gcc-bootstrap
+
+
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stage1:: distclean-stageprofile
+.PHONY: distclean-stageprofile
+distclean-stageprofile::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stageprofile-*
+
+
+@endif gcc-bootstrap
+
+
+.PHONY: stagefeedback-start stagefeedback-end
+
+stagefeedback-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stagefeedback > stage_current ; \
+ echo stagefeedback > stage_last; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-bfd ] || \
+ mkdir stagefeedback-bfd; \
+ set stagefeedback-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-bfd prev-bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-opcodes ] || \
+ mkdir stagefeedback-opcodes; \
+ set stagefeedback-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-opcodes prev-opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-binutils ] || \
+ mkdir stagefeedback-binutils; \
+ set stagefeedback-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-binutils prev-binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-gas ] || \
+ mkdir stagefeedback-gas; \
+ set stagefeedback-gas gas ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-gas prev-gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-gcc ] || \
+ mkdir stagefeedback-gcc; \
+ set stagefeedback-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-gcc prev-gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-intl ] || \
+ mkdir stagefeedback-intl; \
+ set stagefeedback-intl intl ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-intl prev-intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-ld ] || \
+ mkdir stagefeedback-ld; \
+ set stagefeedback-ld ld ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-ld prev-ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-libcpp ] || \
+ mkdir stagefeedback-libcpp; \
+ set stagefeedback-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-libcpp prev-libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-libiberty ] || \
+ mkdir stagefeedback-libiberty; \
+ set stagefeedback-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-libiberty prev-libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stagefeedback-zlib ] || \
+ mkdir stagefeedback-zlib; \
+ set stagefeedback-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stageprofile-zlib prev-zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stagefeedback-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stagefeedback-bfd ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-bfd stageprofile-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stagefeedback-opcodes ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-opcodes stageprofile-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stagefeedback-binutils ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-binutils stageprofile-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stagefeedback-gas ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gas stageprofile-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stagefeedback-gcc ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gcc stageprofile-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stagefeedback-intl ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-intl stageprofile-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stagefeedback-ld ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-ld stageprofile-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stagefeedback-libcpp ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libcpp stageprofile-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stagefeedback-libiberty ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libiberty stageprofile-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stagefeedback-zlib ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-zlib stageprofile-zlib ; \
+ @UNDO_LINK_TO_DIR@
+@endif zlib
+
+# Bubble a bugfix through all the stages up to stage feedback. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stagefeedback-bubble
+stagefeedback-bubble:: stageprofile-bubble
+ @if test -f stagefeedback-lean || test -f stageprofile-lean ; then \
+ echo Skipping rebuild of stagefeedback ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stagefeedback; \
+ fi
+
+.PHONY: all-stagefeedback clean-stagefeedback
+do-clean: clean-stagefeedback
+
+# FIXME: Will not need to be conditional when toplevel bootstrap is the
+# only possibility, but now it conflicts with no-bootstrap rules
+@if gcc-bootstrap
+
+
+
+.PHONY: profiledbootstrap
+profiledbootstrap: stagefeedback-bubble all
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stageprofile:: distclean-stagefeedback
+.PHONY: distclean-stagefeedback
+distclean-stagefeedback::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stagefeedback-*
+
+
+@endif gcc-bootstrap
+
+
+
+stageprofile-end::
+ $(MAKE) distclean-stagefeedback
+
+stagefeedback-start::
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ for i in prev-*; do \
+ j=`echo $$i | sed s/^prev-//` ; \
+ cd $$r/$$i && \
+ { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL) ; } && \
+ { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL) ; } ; \
+ done
+
+@if gcc-bootstrap
+NOTPARALLEL = .NOTPARALLEL
+$(NOTPARALLEL):
+do-distclean: distclean-stage1
+@endif gcc-bootstrap