+# It would be best to preinstall gcc into a staging area (and in the
+# future, gather there all prebootstrap packages). This would allow
+# assemblers and linkers can be bootstrapped as well as the compiler
+# (both in a combined tree, or separately). This however requires some
+# change to the gcc driver, again in order to avoid comparison failures.
+
+# Bugs: This is crippled when doing parallel make, the `make all-host'
+# and `make all-target' phases can be parallelized.
+
+
+# 'touch' doesn't work right on some platforms.
+STAMP = echo timestamp >
+
+# Only build the C compiler for stage1, because that is the only one that
+# we can guarantee will build with the native compiler, and also it is the
+# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
+# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+# overrideable (for a bootstrap build stage1 also builds gcc.info).
+
+STAGE1_CFLAGS=@stage1_cflags@
+STAGE1_LANGUAGES=@stage1_languages@
+
+# We only want to compare .o files, so set this!
+objext = .o
+
+# Flags to pass to stage2 and later makes.
+POSTSTAGE1_FLAGS_TO_PASS = \
+ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
+ STAGE_PREFIX=$$r/stage-gcc/ \
+ CFLAGS="$(BOOT_CFLAGS)" \
+ ADAC="\$$(CC)"
+
+# For stage 1:
+# * We force-disable intermodule optimizations, even if
+# --enable-intermodule was passed, since the installed compiler probably
+# can't handle them. Luckily, autoconf always respects
+# the last argument when conflicting --enable arguments are passed.
+# * Likewise, we force-disable coverage flags, since the installed compiler
+# probably has never heard of them.
+# * We build only C (and possibly Ada).
+
+
+.PHONY: stage1-start stage1-end
+
+stage1-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stage1 > stage_current ; \
+ echo stage1 > stage_last; \
+ $(mkinstalldirs) $(HOST_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stage1-bfd ] || \
+ mkdir stage1-bfd; \
+ set stage1-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stage1-opcodes ] || \
+ mkdir stage1-opcodes; \
+ set stage1-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stage1-binutils ] || \
+ mkdir stage1-binutils; \
+ set stage1-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stage1-gas ] || \
+ mkdir stage1-gas; \
+ set stage1-gas gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stage1-gcc ] || \
+ mkdir stage1-gcc; \
+ set stage1-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stage1-intl ] || \
+ mkdir stage1-intl; \
+ set stage1-intl intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stage1-ld ] || \
+ mkdir stage1-ld; \
+ set stage1-ld ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stage1-libcpp ] || \
+ mkdir stage1-libcpp; \
+ set stage1-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stage1-libiberty ] || \
+ mkdir stage1-libiberty; \
+ set stage1-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stage1-zlib ] || \
+ mkdir stage1-zlib; \
+ set stage1-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stage1-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stage1-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stage1-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stage1-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stage1-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stage1-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stage1-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stage1-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stage1-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stage1-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stage1-zlib ; \
+ @UNDO_LINK_TO_DIR@
+@endif zlib
+
+# Bubble a bugfix through all the stages up to stage 1. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stage1-bubble
+stage1-bubble::
+ @if test -f stage1-lean ; then \
+ echo Skipping rebuild of stage1 ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage1; \
+ fi
+
+.PHONY: all-stage1 clean-stage1
+all-stage1: \
+ maybe-all-stage1-bfd \
+ maybe-all-stage1-opcodes \
+ maybe-all-stage1-binutils \
+ maybe-all-stage1-gas \
+ maybe-all-stage1-gcc \
+ maybe-all-stage1-intl \
+ maybe-all-stage1-ld \
+ maybe-all-stage1-libcpp \
+ maybe-all-stage1-libiberty \
+ maybe-all-stage1-zlib
+
+do-clean: clean-stage1
+clean-stage1: \
+ maybe-clean-stage1-bfd \
+ maybe-clean-stage1-opcodes \
+ maybe-clean-stage1-binutils \
+ maybe-clean-stage1-gas \
+ maybe-clean-stage1-gcc \
+ maybe-clean-stage1-intl \
+ maybe-clean-stage1-ld \
+ maybe-clean-stage1-libcpp \
+ maybe-clean-stage1-libiberty \
+ maybe-clean-stage1-zlib
+
+
+.PHONY: configure-stage1-bfd maybe-configure-stage1-bfd
+.PHONY: all-stage1-bfd maybe-all-stage1-bfd
+.PHONY: clean-stage1-bfd maybe-clean-stage1-bfd
+
+maybe-configure-stage1-bfd:
+maybe-all-stage1-bfd:
+maybe-clean-stage1-bfd:
+
+@if bfd-bootstrap
+maybe-configure-stage1-bfd: configure-stage1-bfd
+configure-stage1-bfd:
+ @$(MAKE) stage1-start
+ @[ -f bfd/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/bfd"; \
+ libsrcdir="$$s/bfd"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-bfd: all-stage1-bfd
+all-stage1-bfd: configure-stage1-bfd
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-bfd: clean-stage1-bfd
+clean-stage1-bfd:
+ @[ -f bfd/Makefile ] || [ -f stage1-bfd/Makefile ] \
+ || exit 0 ; \
+ [ -f bfd/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif bfd-bootstrap
+
+
+.PHONY: configure-stage1-opcodes maybe-configure-stage1-opcodes
+.PHONY: all-stage1-opcodes maybe-all-stage1-opcodes
+.PHONY: clean-stage1-opcodes maybe-clean-stage1-opcodes
+
+maybe-configure-stage1-opcodes:
+maybe-all-stage1-opcodes:
+maybe-clean-stage1-opcodes:
+
+@if opcodes-bootstrap
+maybe-configure-stage1-opcodes: configure-stage1-opcodes
+configure-stage1-opcodes:
+ @$(MAKE) stage1-start
+ @[ -f opcodes/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ libsrcdir="$$s/opcodes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-opcodes: all-stage1-opcodes
+all-stage1-opcodes: configure-stage1-opcodes
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-opcodes: clean-stage1-opcodes
+clean-stage1-opcodes:
+ @[ -f opcodes/Makefile ] || [ -f stage1-opcodes/Makefile ] \
+ || exit 0 ; \
+ [ -f opcodes/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif opcodes-bootstrap
+
+
+.PHONY: configure-stage1-binutils maybe-configure-stage1-binutils
+.PHONY: all-stage1-binutils maybe-all-stage1-binutils
+.PHONY: clean-stage1-binutils maybe-clean-stage1-binutils
+
+maybe-configure-stage1-binutils:
+maybe-all-stage1-binutils:
+maybe-clean-stage1-binutils:
+
+@if binutils-bootstrap
+maybe-configure-stage1-binutils: configure-stage1-binutils
+configure-stage1-binutils:
+ @$(MAKE) stage1-start
+ @[ -f binutils/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/binutils"; \
+ libsrcdir="$$s/binutils"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-binutils: all-stage1-binutils
+all-stage1-binutils: configure-stage1-binutils
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-binutils: clean-stage1-binutils
+clean-stage1-binutils:
+ @[ -f binutils/Makefile ] || [ -f stage1-binutils/Makefile ] \
+ || exit 0 ; \
+ [ -f binutils/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif binutils-bootstrap
+
+
+.PHONY: configure-stage1-gas maybe-configure-stage1-gas
+.PHONY: all-stage1-gas maybe-all-stage1-gas
+.PHONY: clean-stage1-gas maybe-clean-stage1-gas
+
+maybe-configure-stage1-gas:
+maybe-all-stage1-gas:
+maybe-clean-stage1-gas:
+
+@if gas-bootstrap
+maybe-configure-stage1-gas: configure-stage1-gas
+configure-stage1-gas:
+ @$(MAKE) stage1-start
+ @[ -f gas/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gas"; \
+ libsrcdir="$$s/gas"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-gas: all-stage1-gas
+all-stage1-gas: configure-stage1-gas
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-gas: clean-stage1-gas
+clean-stage1-gas:
+ @[ -f gas/Makefile ] || [ -f stage1-gas/Makefile ] \
+ || exit 0 ; \
+ [ -f gas/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif gas-bootstrap
+
+
+.PHONY: configure-stage1-gcc maybe-configure-stage1-gcc
+.PHONY: all-stage1-gcc maybe-all-stage1-gcc
+.PHONY: clean-stage1-gcc maybe-clean-stage1-gcc
+
+maybe-configure-stage1-gcc:
+maybe-all-stage1-gcc:
+maybe-clean-stage1-gcc:
+
+@if gcc-bootstrap
+maybe-configure-stage1-gcc: configure-stage1-gcc
+configure-stage1-gcc:
+ @$(MAKE) stage1-start
+ @[ -f gcc/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gcc"; \
+ libsrcdir="$$s/gcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-gcc: all-stage1-gcc
+all-stage1-gcc: configure-stage1-gcc
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS)
+
+maybe-clean-stage1-gcc: clean-stage1-gcc
+clean-stage1-gcc:
+ @[ -f gcc/Makefile ] || [ -f stage1-gcc/Makefile ] \
+ || exit 0 ; \
+ [ -f gcc/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) clean
+@endif gcc-bootstrap
+
+
+.PHONY: configure-stage1-intl maybe-configure-stage1-intl
+.PHONY: all-stage1-intl maybe-all-stage1-intl
+.PHONY: clean-stage1-intl maybe-clean-stage1-intl
+
+maybe-configure-stage1-intl:
+maybe-all-stage1-intl:
+maybe-clean-stage1-intl:
+
+@if intl-bootstrap
+maybe-configure-stage1-intl: configure-stage1-intl
+configure-stage1-intl:
+ @$(MAKE) stage1-start
+ @[ -f intl/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/intl"; \
+ libsrcdir="$$s/intl"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-intl: all-stage1-intl
+all-stage1-intl: configure-stage1-intl
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-intl: clean-stage1-intl
+clean-stage1-intl:
+ @[ -f intl/Makefile ] || [ -f stage1-intl/Makefile ] \
+ || exit 0 ; \
+ [ -f intl/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif intl-bootstrap
+
+
+.PHONY: configure-stage1-ld maybe-configure-stage1-ld
+.PHONY: all-stage1-ld maybe-all-stage1-ld
+.PHONY: clean-stage1-ld maybe-clean-stage1-ld
+
+maybe-configure-stage1-ld:
+maybe-all-stage1-ld:
+maybe-clean-stage1-ld:
+
+@if ld-bootstrap
+maybe-configure-stage1-ld: configure-stage1-ld
+configure-stage1-ld:
+ @$(MAKE) stage1-start
+ @[ -f ld/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/ld"; \
+ libsrcdir="$$s/ld"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-ld: all-stage1-ld
+all-stage1-ld: configure-stage1-ld
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-ld: clean-stage1-ld
+clean-stage1-ld:
+ @[ -f ld/Makefile ] || [ -f stage1-ld/Makefile ] \
+ || exit 0 ; \
+ [ -f ld/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif ld-bootstrap
+
+
+.PHONY: configure-stage1-libcpp maybe-configure-stage1-libcpp
+.PHONY: all-stage1-libcpp maybe-all-stage1-libcpp
+.PHONY: clean-stage1-libcpp maybe-clean-stage1-libcpp
+
+maybe-configure-stage1-libcpp:
+maybe-all-stage1-libcpp:
+maybe-clean-stage1-libcpp:
+
+@if libcpp-bootstrap
+maybe-configure-stage1-libcpp: configure-stage1-libcpp
+configure-stage1-libcpp:
+ @$(MAKE) stage1-start
+ @[ -f libcpp/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ libsrcdir="$$s/libcpp"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-libcpp: all-stage1-libcpp
+all-stage1-libcpp: configure-stage1-libcpp
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-libcpp: clean-stage1-libcpp
+clean-stage1-libcpp:
+ @[ -f libcpp/Makefile ] || [ -f stage1-libcpp/Makefile ] \
+ || exit 0 ; \
+ [ -f libcpp/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif libcpp-bootstrap
+
+
+.PHONY: configure-stage1-libiberty maybe-configure-stage1-libiberty
+.PHONY: all-stage1-libiberty maybe-all-stage1-libiberty
+.PHONY: clean-stage1-libiberty maybe-clean-stage1-libiberty
+
+maybe-configure-stage1-libiberty:
+maybe-all-stage1-libiberty:
+maybe-clean-stage1-libiberty:
+
+@if libiberty-bootstrap
+maybe-configure-stage1-libiberty: configure-stage1-libiberty
+configure-stage1-libiberty:
+ @$(MAKE) stage1-start
+ @[ -f libiberty/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ libsrcdir="$$s/libiberty"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-libiberty: all-stage1-libiberty
+all-stage1-libiberty: configure-stage1-libiberty
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-libiberty: clean-stage1-libiberty
+clean-stage1-libiberty:
+ @[ -f libiberty/Makefile ] || [ -f stage1-libiberty/Makefile ] \
+ || exit 0 ; \
+ [ -f libiberty/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif libiberty-bootstrap
+
+
+.PHONY: configure-stage1-zlib maybe-configure-stage1-zlib
+.PHONY: all-stage1-zlib maybe-all-stage1-zlib
+.PHONY: clean-stage1-zlib maybe-clean-stage1-zlib
+
+maybe-configure-stage1-zlib:
+maybe-all-stage1-zlib:
+maybe-clean-stage1-zlib:
+
+@if zlib-bootstrap
+maybe-configure-stage1-zlib: configure-stage1-zlib
+configure-stage1-zlib:
+ @$(MAKE) stage1-start
+ @[ -f zlib/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ echo Configuring stage 1 in zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/zlib"; \
+ libsrcdir="$$s/zlib"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+
+maybe-all-stage1-zlib: all-stage1-zlib
+all-stage1-zlib: configure-stage1-zlib
+ @$(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)"
+
+maybe-clean-stage1-zlib: clean-stage1-zlib
+clean-stage1-zlib:
+ @[ -f zlib/Makefile ] || [ -f stage1-zlib/Makefile ] \
+ || exit 0 ; \
+ [ -f zlib/Makefile ] || $(MAKE) stage1-start ; \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" clean
+@endif zlib-bootstrap
+
+
+
+# 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
+
+.PHONY: distclean-stage1
+distclean-stage1::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stage1-*
+
+
+@endif gcc-bootstrap
+
+
+.PHONY: stage2-start stage2-end
+
+stage2-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stage2 > stage_current ; \
+ echo stage2 > stage_last; \
+ $(mkinstalldirs) $(HOST_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stage2-bfd ] || \
+ mkdir stage2-bfd; \
+ set stage2-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-bfd prev-bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stage2-opcodes ] || \
+ mkdir stage2-opcodes; \
+ set stage2-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-opcodes prev-opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stage2-binutils ] || \
+ mkdir stage2-binutils; \
+ set stage2-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-binutils prev-binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stage2-gas ] || \
+ mkdir stage2-gas; \
+ set stage2-gas gas ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-gas prev-gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stage2-gcc ] || \
+ mkdir stage2-gcc; \
+ set stage2-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-gcc prev-gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stage2-intl ] || \
+ mkdir stage2-intl; \
+ set stage2-intl intl ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-intl prev-intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stage2-ld ] || \
+ mkdir stage2-ld; \
+ set stage2-ld ld ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-ld prev-ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stage2-libcpp ] || \
+ mkdir stage2-libcpp; \
+ set stage2-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-libcpp prev-libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stage2-libiberty ] || \
+ mkdir stage2-libiberty; \
+ set stage2-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-libiberty prev-libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stage2-zlib ] || \
+ mkdir stage2-zlib; \
+ set stage2-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage1-zlib prev-zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stage2-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stage2-bfd ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-bfd stage1-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stage2-opcodes ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-opcodes stage1-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stage2-binutils ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-binutils stage1-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stage2-gas ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gas stage1-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stage2-gcc ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gcc stage1-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stage2-intl ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-intl stage1-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stage2-ld ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-ld stage1-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stage2-libcpp ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libcpp stage1-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stage2-libiberty ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libiberty stage1-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stage2-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 2. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stage2-bubble
+stage2-bubble:: stage1-bubble
+ @if test -f stage2-lean || test -f stage1-lean ; then \
+ echo Skipping rebuild of stage2 ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage2; \
+ fi
+
+.PHONY: all-stage2 clean-stage2
+all-stage2: \
+ maybe-all-stage2-bfd \
+ maybe-all-stage2-opcodes \
+ maybe-all-stage2-binutils \
+ maybe-all-stage2-gas \
+ maybe-all-stage2-gcc \
+ maybe-all-stage2-intl \
+ maybe-all-stage2-ld \
+ maybe-all-stage2-libcpp \
+ maybe-all-stage2-libiberty \
+ maybe-all-stage2-zlib
+
+do-clean: clean-stage2
+clean-stage2: \
+ maybe-clean-stage2-bfd \
+ maybe-clean-stage2-opcodes \
+ maybe-clean-stage2-binutils \
+ maybe-clean-stage2-gas \
+ maybe-clean-stage2-gcc \
+ maybe-clean-stage2-intl \
+ maybe-clean-stage2-ld \
+ maybe-clean-stage2-libcpp \
+ maybe-clean-stage2-libiberty \
+ maybe-clean-stage2-zlib
+
+
+.PHONY: configure-stage2-bfd maybe-configure-stage2-bfd
+.PHONY: all-stage2-bfd maybe-all-stage2-bfd
+.PHONY: clean-stage2-bfd maybe-clean-stage2-bfd
+
+maybe-configure-stage2-bfd:
+maybe-all-stage2-bfd:
+maybe-clean-stage2-bfd:
+
+@if bfd-bootstrap
+maybe-configure-stage2-bfd: configure-stage2-bfd
+configure-stage2-bfd:
+ @$(MAKE) stage2-start
+ @[ -f bfd/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/bfd"; \
+ libsrcdir="$$s/bfd"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-bfd: all-stage2-bfd
+all-stage2-bfd: configure-stage2-bfd
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-bfd: clean-stage2-bfd
+clean-stage2-bfd:
+ @[ -f bfd/Makefile ] || [ -f stage2-bfd/Makefile ] \
+ || exit 0 ; \
+ [ -f bfd/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif bfd-bootstrap
+
+
+.PHONY: configure-stage2-opcodes maybe-configure-stage2-opcodes
+.PHONY: all-stage2-opcodes maybe-all-stage2-opcodes
+.PHONY: clean-stage2-opcodes maybe-clean-stage2-opcodes
+
+maybe-configure-stage2-opcodes:
+maybe-all-stage2-opcodes:
+maybe-clean-stage2-opcodes:
+
+@if opcodes-bootstrap
+maybe-configure-stage2-opcodes: configure-stage2-opcodes
+configure-stage2-opcodes:
+ @$(MAKE) stage2-start
+ @[ -f opcodes/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ libsrcdir="$$s/opcodes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-opcodes: all-stage2-opcodes
+all-stage2-opcodes: configure-stage2-opcodes
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-opcodes: clean-stage2-opcodes
+clean-stage2-opcodes:
+ @[ -f opcodes/Makefile ] || [ -f stage2-opcodes/Makefile ] \
+ || exit 0 ; \
+ [ -f opcodes/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif opcodes-bootstrap
+
+
+.PHONY: configure-stage2-binutils maybe-configure-stage2-binutils
+.PHONY: all-stage2-binutils maybe-all-stage2-binutils
+.PHONY: clean-stage2-binutils maybe-clean-stage2-binutils
+
+maybe-configure-stage2-binutils:
+maybe-all-stage2-binutils:
+maybe-clean-stage2-binutils:
+
+@if binutils-bootstrap
+maybe-configure-stage2-binutils: configure-stage2-binutils
+configure-stage2-binutils:
+ @$(MAKE) stage2-start
+ @[ -f binutils/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/binutils"; \
+ libsrcdir="$$s/binutils"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-binutils: all-stage2-binutils
+all-stage2-binutils: configure-stage2-binutils
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-binutils: clean-stage2-binutils
+clean-stage2-binutils:
+ @[ -f binutils/Makefile ] || [ -f stage2-binutils/Makefile ] \
+ || exit 0 ; \
+ [ -f binutils/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif binutils-bootstrap
+
+
+.PHONY: configure-stage2-gas maybe-configure-stage2-gas
+.PHONY: all-stage2-gas maybe-all-stage2-gas
+.PHONY: clean-stage2-gas maybe-clean-stage2-gas
+
+maybe-configure-stage2-gas:
+maybe-all-stage2-gas:
+maybe-clean-stage2-gas:
+
+@if gas-bootstrap
+maybe-configure-stage2-gas: configure-stage2-gas
+configure-stage2-gas:
+ @$(MAKE) stage2-start
+ @[ -f gas/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gas"; \
+ libsrcdir="$$s/gas"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-gas: all-stage2-gas
+all-stage2-gas: configure-stage2-gas
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-gas: clean-stage2-gas
+clean-stage2-gas:
+ @[ -f gas/Makefile ] || [ -f stage2-gas/Makefile ] \
+ || exit 0 ; \
+ [ -f gas/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif gas-bootstrap
+
+
+.PHONY: configure-stage2-gcc maybe-configure-stage2-gcc
+.PHONY: all-stage2-gcc maybe-all-stage2-gcc
+.PHONY: clean-stage2-gcc maybe-clean-stage2-gcc
+
+maybe-configure-stage2-gcc:
+maybe-all-stage2-gcc:
+maybe-clean-stage2-gcc:
+
+@if gcc-bootstrap
+maybe-configure-stage2-gcc: configure-stage2-gcc
+configure-stage2-gcc:
+ @$(MAKE) stage2-start
+ @[ -f gcc/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gcc"; \
+ libsrcdir="$$s/gcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-gcc: all-stage2-gcc
+all-stage2-gcc: configure-stage2-gcc
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS)
+
+maybe-clean-stage2-gcc: clean-stage2-gcc
+clean-stage2-gcc:
+ @[ -f gcc/Makefile ] || [ -f stage2-gcc/Makefile ] \
+ || exit 0 ; \
+ [ -f gcc/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+@endif gcc-bootstrap
+
+
+.PHONY: configure-stage2-intl maybe-configure-stage2-intl
+.PHONY: all-stage2-intl maybe-all-stage2-intl
+.PHONY: clean-stage2-intl maybe-clean-stage2-intl
+
+maybe-configure-stage2-intl:
+maybe-all-stage2-intl:
+maybe-clean-stage2-intl:
+
+@if intl-bootstrap
+maybe-configure-stage2-intl: configure-stage2-intl
+configure-stage2-intl:
+ @$(MAKE) stage2-start
+ @[ -f intl/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/intl"; \
+ libsrcdir="$$s/intl"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-intl: all-stage2-intl
+all-stage2-intl: configure-stage2-intl
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-intl: clean-stage2-intl
+clean-stage2-intl:
+ @[ -f intl/Makefile ] || [ -f stage2-intl/Makefile ] \
+ || exit 0 ; \
+ [ -f intl/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif intl-bootstrap
+
+
+.PHONY: configure-stage2-ld maybe-configure-stage2-ld
+.PHONY: all-stage2-ld maybe-all-stage2-ld
+.PHONY: clean-stage2-ld maybe-clean-stage2-ld
+
+maybe-configure-stage2-ld:
+maybe-all-stage2-ld:
+maybe-clean-stage2-ld:
+
+@if ld-bootstrap
+maybe-configure-stage2-ld: configure-stage2-ld
+configure-stage2-ld:
+ @$(MAKE) stage2-start
+ @[ -f ld/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/ld"; \
+ libsrcdir="$$s/ld"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-ld: all-stage2-ld
+all-stage2-ld: configure-stage2-ld
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-ld: clean-stage2-ld
+clean-stage2-ld:
+ @[ -f ld/Makefile ] || [ -f stage2-ld/Makefile ] \
+ || exit 0 ; \
+ [ -f ld/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif ld-bootstrap
+
+
+.PHONY: configure-stage2-libcpp maybe-configure-stage2-libcpp
+.PHONY: all-stage2-libcpp maybe-all-stage2-libcpp
+.PHONY: clean-stage2-libcpp maybe-clean-stage2-libcpp
+
+maybe-configure-stage2-libcpp:
+maybe-all-stage2-libcpp:
+maybe-clean-stage2-libcpp:
+
+@if libcpp-bootstrap
+maybe-configure-stage2-libcpp: configure-stage2-libcpp
+configure-stage2-libcpp:
+ @$(MAKE) stage2-start
+ @[ -f libcpp/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ libsrcdir="$$s/libcpp"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-libcpp: all-stage2-libcpp
+all-stage2-libcpp: configure-stage2-libcpp
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-libcpp: clean-stage2-libcpp
+clean-stage2-libcpp:
+ @[ -f libcpp/Makefile ] || [ -f stage2-libcpp/Makefile ] \
+ || exit 0 ; \
+ [ -f libcpp/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif libcpp-bootstrap
+
+
+.PHONY: configure-stage2-libiberty maybe-configure-stage2-libiberty
+.PHONY: all-stage2-libiberty maybe-all-stage2-libiberty
+.PHONY: clean-stage2-libiberty maybe-clean-stage2-libiberty
+
+maybe-configure-stage2-libiberty:
+maybe-all-stage2-libiberty:
+maybe-clean-stage2-libiberty:
+
+@if libiberty-bootstrap
+maybe-configure-stage2-libiberty: configure-stage2-libiberty
+configure-stage2-libiberty:
+ @$(MAKE) stage2-start
+ @[ -f libiberty/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ libsrcdir="$$s/libiberty"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-libiberty: all-stage2-libiberty
+all-stage2-libiberty: configure-stage2-libiberty
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-libiberty: clean-stage2-libiberty
+clean-stage2-libiberty:
+ @[ -f libiberty/Makefile ] || [ -f stage2-libiberty/Makefile ] \
+ || exit 0 ; \
+ [ -f libiberty/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif libiberty-bootstrap
+
+
+.PHONY: configure-stage2-zlib maybe-configure-stage2-zlib
+.PHONY: all-stage2-zlib maybe-all-stage2-zlib
+.PHONY: clean-stage2-zlib maybe-clean-stage2-zlib
+
+maybe-configure-stage2-zlib:
+maybe-all-stage2-zlib:
+maybe-clean-stage2-zlib:
+
+@if zlib-bootstrap
+maybe-configure-stage2-zlib: configure-stage2-zlib
+configure-stage2-zlib:
+ @$(MAKE) stage2-start
+ @[ -f zlib/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 2 in zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/zlib"; \
+ libsrcdir="$$s/zlib"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage2-zlib: all-stage2-zlib
+all-stage2-zlib: configure-stage2-zlib
+ @$(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage2-zlib: clean-stage2-zlib
+clean-stage2-zlib:
+ @[ -f zlib/Makefile ] || [ -f stage2-zlib/Makefile ] \
+ || exit 0 ; \
+ [ -f zlib/Makefile ] || $(MAKE) stage2-start ; \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif zlib-bootstrap
+
+
+
+# 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: bootstrap2
+bootstrap2: stage2-bubble all
+
+
+# Rules to wipe a stage and all the following ones, also used for cleanstrap
+distclean-stage1:: distclean-stage2
+.PHONY: distclean-stage2
+distclean-stage2::
+ [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
+ rm -rf stage2-*
+
+
+@endif gcc-bootstrap
+
+
+.PHONY: stage3-start stage3-end
+
+stage3-start::
+ @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
+ echo stage3 > stage_current ; \
+ echo stage3 > stage_last; \
+ $(mkinstalldirs) $(HOST_SUBDIR)
+@if bfd
+ @cd $(HOST_SUBDIR); [ -d stage3-bfd ] || \
+ mkdir stage3-bfd; \
+ set stage3-bfd bfd ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-bfd prev-bfd ; \
+ @CREATE_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); [ -d stage3-opcodes ] || \
+ mkdir stage3-opcodes; \
+ set stage3-opcodes opcodes ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-opcodes prev-opcodes ; \
+ @CREATE_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); [ -d stage3-binutils ] || \
+ mkdir stage3-binutils; \
+ set stage3-binutils binutils ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-binutils prev-binutils ; \
+ @CREATE_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); [ -d stage3-gas ] || \
+ mkdir stage3-gas; \
+ set stage3-gas gas ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-gas prev-gas ; \
+ @CREATE_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); [ -d stage3-gcc ] || \
+ mkdir stage3-gcc; \
+ set stage3-gcc gcc ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-gcc prev-gcc ; \
+ @CREATE_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); [ -d stage3-intl ] || \
+ mkdir stage3-intl; \
+ set stage3-intl intl ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-intl prev-intl ; \
+ @CREATE_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); [ -d stage3-ld ] || \
+ mkdir stage3-ld; \
+ set stage3-ld ld ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-ld prev-ld ; \
+ @CREATE_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); [ -d stage3-libcpp ] || \
+ mkdir stage3-libcpp; \
+ set stage3-libcpp libcpp ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-libcpp prev-libcpp ; \
+ @CREATE_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); [ -d stage3-libiberty ] || \
+ mkdir stage3-libiberty; \
+ set stage3-libiberty libiberty ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-libiberty prev-libiberty ; \
+ @CREATE_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); [ -d stage3-zlib ] || \
+ mkdir stage3-zlib; \
+ set stage3-zlib zlib ; \
+ @CREATE_LINK_TO_DIR@ ; \
+ set stage2-zlib prev-zlib ; \
+ @CREATE_LINK_TO_DIR@
+@endif zlib
+
+stage3-end::
+ @rm -f stage_current
+@if bfd
+ @cd $(HOST_SUBDIR); set bfd stage3-bfd ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-bfd stage2-bfd ; \
+ @UNDO_LINK_TO_DIR@
+@endif bfd
+@if opcodes
+ @cd $(HOST_SUBDIR); set opcodes stage3-opcodes ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-opcodes stage2-opcodes ; \
+ @UNDO_LINK_TO_DIR@
+@endif opcodes
+@if binutils
+ @cd $(HOST_SUBDIR); set binutils stage3-binutils ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-binutils stage2-binutils ; \
+ @UNDO_LINK_TO_DIR@
+@endif binutils
+@if gas
+ @cd $(HOST_SUBDIR); set gas stage3-gas ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gas stage2-gas ; \
+ @UNDO_LINK_TO_DIR@
+@endif gas
+@if gcc
+ @cd $(HOST_SUBDIR); set gcc stage3-gcc ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-gcc stage2-gcc ; \
+ @UNDO_LINK_TO_DIR@
+@endif gcc
+@if intl
+ @cd $(HOST_SUBDIR); set intl stage3-intl ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-intl stage2-intl ; \
+ @UNDO_LINK_TO_DIR@
+@endif intl
+@if ld
+ @cd $(HOST_SUBDIR); set ld stage3-ld ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-ld stage2-ld ; \
+ @UNDO_LINK_TO_DIR@
+@endif ld
+@if libcpp
+ @cd $(HOST_SUBDIR); set libcpp stage3-libcpp ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libcpp stage2-libcpp ; \
+ @UNDO_LINK_TO_DIR@
+@endif libcpp
+@if libiberty
+ @cd $(HOST_SUBDIR); set libiberty stage3-libiberty ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-libiberty stage2-libiberty ; \
+ @UNDO_LINK_TO_DIR@
+@endif libiberty
+@if zlib
+ @cd $(HOST_SUBDIR); set zlib stage3-zlib ; \
+ @UNDO_LINK_TO_DIR@ ; \
+ set prev-zlib stage2-zlib ; \
+ @UNDO_LINK_TO_DIR@
+@endif zlib
+
+# Bubble a bugfix through all the stages up to stage 3. They
+# are remade, but not reconfigured. The next stage (if any) will not
+# be reconfigured as well.
+.PHONY: stage3-bubble
+stage3-bubble:: stage2-bubble
+ @bootstrap_lean@-rm -rf stage1-* ; $(STAMP) stage1-lean
+ @if test -f stage3-lean || test -f stage2-lean ; then \
+ echo Skipping rebuild of stage3 ; \
+ else \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage3; \
+ fi
+
+.PHONY: all-stage3 clean-stage3
+all-stage3: \
+ maybe-all-stage3-bfd \
+ maybe-all-stage3-opcodes \
+ maybe-all-stage3-binutils \
+ maybe-all-stage3-gas \
+ maybe-all-stage3-gcc \
+ maybe-all-stage3-intl \
+ maybe-all-stage3-ld \
+ maybe-all-stage3-libcpp \
+ maybe-all-stage3-libiberty \
+ maybe-all-stage3-zlib
+
+do-clean: clean-stage3
+clean-stage3: \
+ maybe-clean-stage3-bfd \
+ maybe-clean-stage3-opcodes \
+ maybe-clean-stage3-binutils \
+ maybe-clean-stage3-gas \
+ maybe-clean-stage3-gcc \
+ maybe-clean-stage3-intl \
+ maybe-clean-stage3-ld \
+ maybe-clean-stage3-libcpp \
+ maybe-clean-stage3-libiberty \
+ maybe-clean-stage3-zlib
+
+
+.PHONY: configure-stage3-bfd maybe-configure-stage3-bfd
+.PHONY: all-stage3-bfd maybe-all-stage3-bfd
+.PHONY: clean-stage3-bfd maybe-clean-stage3-bfd
+
+maybe-configure-stage3-bfd:
+maybe-all-stage3-bfd:
+maybe-clean-stage3-bfd:
+
+@if bfd-bootstrap
+maybe-configure-stage3-bfd: configure-stage3-bfd
+configure-stage3-bfd:
+ @$(MAKE) stage3-start
+ @[ -f bfd/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/bfd"; \
+ libsrcdir="$$s/bfd"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-bfd: all-stage3-bfd
+all-stage3-bfd: configure-stage3-bfd
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-bfd: clean-stage3-bfd
+clean-stage3-bfd:
+ @[ -f bfd/Makefile ] || [ -f stage3-bfd/Makefile ] \
+ || exit 0 ; \
+ [ -f bfd/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/bfd && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif bfd-bootstrap
+
+
+.PHONY: configure-stage3-opcodes maybe-configure-stage3-opcodes
+.PHONY: all-stage3-opcodes maybe-all-stage3-opcodes
+.PHONY: clean-stage3-opcodes maybe-clean-stage3-opcodes
+
+maybe-configure-stage3-opcodes:
+maybe-all-stage3-opcodes:
+maybe-clean-stage3-opcodes:
+
+@if opcodes-bootstrap
+maybe-configure-stage3-opcodes: configure-stage3-opcodes
+configure-stage3-opcodes:
+ @$(MAKE) stage3-start
+ @[ -f opcodes/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ libsrcdir="$$s/opcodes"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-opcodes: all-stage3-opcodes
+all-stage3-opcodes: configure-stage3-opcodes
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-opcodes: clean-stage3-opcodes
+clean-stage3-opcodes:
+ @[ -f opcodes/Makefile ] || [ -f stage3-opcodes/Makefile ] \
+ || exit 0 ; \
+ [ -f opcodes/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/opcodes && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif opcodes-bootstrap
+
+
+.PHONY: configure-stage3-binutils maybe-configure-stage3-binutils
+.PHONY: all-stage3-binutils maybe-all-stage3-binutils
+.PHONY: clean-stage3-binutils maybe-clean-stage3-binutils
+
+maybe-configure-stage3-binutils:
+maybe-all-stage3-binutils:
+maybe-clean-stage3-binutils:
+
+@if binutils-bootstrap
+maybe-configure-stage3-binutils: configure-stage3-binutils
+configure-stage3-binutils:
+ @$(MAKE) stage3-start
+ @[ -f binutils/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/binutils"; \
+ libsrcdir="$$s/binutils"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-binutils: all-stage3-binutils
+all-stage3-binutils: configure-stage3-binutils
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-binutils: clean-stage3-binutils
+clean-stage3-binutils:
+ @[ -f binutils/Makefile ] || [ -f stage3-binutils/Makefile ] \
+ || exit 0 ; \
+ [ -f binutils/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/binutils && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif binutils-bootstrap
+
+
+.PHONY: configure-stage3-gas maybe-configure-stage3-gas
+.PHONY: all-stage3-gas maybe-all-stage3-gas
+.PHONY: clean-stage3-gas maybe-clean-stage3-gas
+
+maybe-configure-stage3-gas:
+maybe-all-stage3-gas:
+maybe-clean-stage3-gas:
+
+@if gas-bootstrap
+maybe-configure-stage3-gas: configure-stage3-gas
+configure-stage3-gas:
+ @$(MAKE) stage3-start
+ @[ -f gas/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gas"; \
+ libsrcdir="$$s/gas"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-gas: all-stage3-gas
+all-stage3-gas: configure-stage3-gas
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-gas: clean-stage3-gas
+clean-stage3-gas:
+ @[ -f gas/Makefile ] || [ -f stage3-gas/Makefile ] \
+ || exit 0 ; \
+ [ -f gas/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/gas && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif gas-bootstrap
+
+
+.PHONY: configure-stage3-gcc maybe-configure-stage3-gcc
+.PHONY: all-stage3-gcc maybe-all-stage3-gcc
+.PHONY: clean-stage3-gcc maybe-clean-stage3-gcc
+
+maybe-configure-stage3-gcc:
+maybe-all-stage3-gcc:
+maybe-clean-stage3-gcc:
+
+@if gcc-bootstrap
+maybe-configure-stage3-gcc: configure-stage3-gcc
+configure-stage3-gcc:
+ @$(MAKE) stage3-start
+ @[ -f gcc/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/gcc"; \
+ libsrcdir="$$s/gcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-gcc: all-stage3-gcc
+all-stage3-gcc: configure-stage3-gcc
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS)
+
+maybe-clean-stage3-gcc: clean-stage3-gcc
+clean-stage3-gcc:
+ @[ -f gcc/Makefile ] || [ -f stage3-gcc/Makefile ] \
+ || exit 0 ; \
+ [ -f gcc/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+@endif gcc-bootstrap
+
+
+.PHONY: configure-stage3-intl maybe-configure-stage3-intl
+.PHONY: all-stage3-intl maybe-all-stage3-intl
+.PHONY: clean-stage3-intl maybe-clean-stage3-intl
+
+maybe-configure-stage3-intl:
+maybe-all-stage3-intl:
+maybe-clean-stage3-intl:
+
+@if intl-bootstrap
+maybe-configure-stage3-intl: configure-stage3-intl
+configure-stage3-intl:
+ @$(MAKE) stage3-start
+ @[ -f intl/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/intl"; \
+ libsrcdir="$$s/intl"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-intl: all-stage3-intl
+all-stage3-intl: configure-stage3-intl
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-intl: clean-stage3-intl
+clean-stage3-intl:
+ @[ -f intl/Makefile ] || [ -f stage3-intl/Makefile ] \
+ || exit 0 ; \
+ [ -f intl/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/intl && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif intl-bootstrap
+
+
+.PHONY: configure-stage3-ld maybe-configure-stage3-ld
+.PHONY: all-stage3-ld maybe-all-stage3-ld
+.PHONY: clean-stage3-ld maybe-clean-stage3-ld
+
+maybe-configure-stage3-ld:
+maybe-all-stage3-ld:
+maybe-clean-stage3-ld:
+
+@if ld-bootstrap
+maybe-configure-stage3-ld: configure-stage3-ld
+configure-stage3-ld:
+ @$(MAKE) stage3-start
+ @[ -f ld/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/ld"; \
+ libsrcdir="$$s/ld"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-ld: all-stage3-ld
+all-stage3-ld: configure-stage3-ld
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-ld: clean-stage3-ld
+clean-stage3-ld:
+ @[ -f ld/Makefile ] || [ -f stage3-ld/Makefile ] \
+ || exit 0 ; \
+ [ -f ld/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/ld && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif ld-bootstrap
+
+
+.PHONY: configure-stage3-libcpp maybe-configure-stage3-libcpp
+.PHONY: all-stage3-libcpp maybe-all-stage3-libcpp
+.PHONY: clean-stage3-libcpp maybe-clean-stage3-libcpp
+
+maybe-configure-stage3-libcpp:
+maybe-all-stage3-libcpp:
+maybe-clean-stage3-libcpp:
+
+@if libcpp-bootstrap
+maybe-configure-stage3-libcpp: configure-stage3-libcpp
+configure-stage3-libcpp:
+ @$(MAKE) stage3-start
+ @[ -f libcpp/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ libsrcdir="$$s/libcpp"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-libcpp: all-stage3-libcpp
+all-stage3-libcpp: configure-stage3-libcpp
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-libcpp: clean-stage3-libcpp
+clean-stage3-libcpp:
+ @[ -f libcpp/Makefile ] || [ -f stage3-libcpp/Makefile ] \
+ || exit 0 ; \
+ [ -f libcpp/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/libcpp && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif libcpp-bootstrap
+
+
+.PHONY: configure-stage3-libiberty maybe-configure-stage3-libiberty
+.PHONY: all-stage3-libiberty maybe-all-stage3-libiberty
+.PHONY: clean-stage3-libiberty maybe-clean-stage3-libiberty
+
+maybe-configure-stage3-libiberty:
+maybe-all-stage3-libiberty:
+maybe-clean-stage3-libiberty:
+
+@if libiberty-bootstrap
+maybe-configure-stage3-libiberty: configure-stage3-libiberty
+configure-stage3-libiberty:
+ @$(MAKE) stage3-start
+ @[ -f libiberty/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ libsrcdir="$$s/libiberty"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-libiberty: all-stage3-libiberty
+all-stage3-libiberty: configure-stage3-libiberty
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-libiberty: clean-stage3-libiberty
+clean-stage3-libiberty:
+ @[ -f libiberty/Makefile ] || [ -f stage3-libiberty/Makefile ] \
+ || exit 0 ; \
+ [ -f libiberty/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/libiberty && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif libiberty-bootstrap
+
+
+.PHONY: configure-stage3-zlib maybe-configure-stage3-zlib
+.PHONY: all-stage3-zlib maybe-all-stage3-zlib
+.PHONY: clean-stage3-zlib maybe-clean-stage3-zlib
+
+maybe-configure-stage3-zlib:
+maybe-all-stage3-zlib:
+maybe-clean-stage3-zlib:
+
+@if zlib-bootstrap
+maybe-configure-stage3-zlib: configure-stage3-zlib
+configure-stage3-zlib:
+ @$(MAKE) stage3-start
+ @[ -f zlib/Makefile ] && exit 0 || : ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ echo Configuring stage 3 in zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/zlib"; \
+ libsrcdir="$$s/zlib"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ @stage2_werror_flag@
+
+maybe-all-stage3-zlib: all-stage3-zlib
+all-stage3-zlib: configure-stage3-zlib
+ @$(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(STAGE_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+
+
+maybe-clean-stage3-zlib: clean-stage3-zlib
+clean-stage3-zlib:
+ @[ -f zlib/Makefile ] || [ -f stage3-zlib/Makefile ] \
+ || exit 0 ; \
+ [ -f zlib/Makefile ] || $(MAKE) stage3-start ; \
+ cd $(HOST_SUBDIR)/zlib && \
+ $(MAKE) $(FLAGS_TO_PASS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+@endif zlib-bootstrap
+
+
+
+# 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
+
+compare:
+ @if test -f stage2-lean; then \
+ echo Cannot compare object files as stage 2 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 stage3-gcc; \
+ files=`find . -name "*$(objext)" -print` ; \
+ cd .. ; \
+ for file in $${files} ; do \
+ f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-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) 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; \
+ $(mkinstalldirs) $(HOST_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@