INSTALL_DATA = @INSTALL_DATA@
LN = @LN@
LN_S = @LN_S@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
# -------------------------------------------------
# Miscellaneous non-standard autoconf-set variables
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
PICFLAG =
+# 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_CHECKING=@stage1_checking@
+STAGE1_LANGUAGES=@stage1_languages@
+
# -----------------------------------------------
# Programs producing files for the TARGET machine
# -----------------------------------------------
"LIBCFLAGS=$(LIBCFLAGS)" \
"LIBCXXFLAGS=$(LIBCXXFLAGS)" \
"STAGE1_CFLAGS=$(STAGE1_CFLAGS)" \
+ "STAGE1_CHECKING=$(STAGE1_CHECKING)" \
"STAGE1_LANGUAGES=$(STAGE1_LANGUAGES)" \
"AR_FOR_TARGET=$(AR_FOR_TARGET)" \
"AS_FOR_TARGET=$(AS_FOR_TARGET)" \
'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \
'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)'
+# Flags to pass to stage2 and later makes.
+
+POSTSTAGE1_FLAGS_TO_PASS = \
+ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
+ STAGE_PREFIX="$$r/$(HOST_SUBDIR)/prev-gcc/" \
+ CFLAGS="$(BOOT_CFLAGS)" \
+ LIBCFLAGS="$(BOOT_CFLAGS)" \
+ LDFLAGS="$(BOOT_LDFLAGS)" \
+ "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
+
# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
maybe-configure-target-libmudflap \
maybe-configure-target-libssp \
maybe-configure-target-newlib \
+ maybe-configure-target-libgcc \
maybe-configure-target-libgfortran \
maybe-configure-target-libobjc \
maybe-configure-target-libtermcap \
all-target: maybe-all-target-libmudflap
all-target: maybe-all-target-libssp
all-target: maybe-all-target-newlib
+@if target-libgcc-no-bootstrap
+all-target: maybe-all-target-libgcc
+@endif target-libgcc-no-bootstrap
all-target: maybe-all-target-libgfortran
all-target: maybe-all-target-libobjc
all-target: maybe-all-target-libtermcap
info-target: maybe-info-target-libmudflap
info-target: maybe-info-target-libssp
info-target: maybe-info-target-newlib
+info-target: maybe-info-target-libgcc
info-target: maybe-info-target-libgfortran
info-target: maybe-info-target-libobjc
info-target: maybe-info-target-libtermcap
dvi-target: maybe-dvi-target-libmudflap
dvi-target: maybe-dvi-target-libssp
dvi-target: maybe-dvi-target-newlib
+dvi-target: maybe-dvi-target-libgcc
dvi-target: maybe-dvi-target-libgfortran
dvi-target: maybe-dvi-target-libobjc
dvi-target: maybe-dvi-target-libtermcap
pdf-target: maybe-pdf-target-libmudflap
pdf-target: maybe-pdf-target-libssp
pdf-target: maybe-pdf-target-newlib
+pdf-target: maybe-pdf-target-libgcc
pdf-target: maybe-pdf-target-libgfortran
pdf-target: maybe-pdf-target-libobjc
pdf-target: maybe-pdf-target-libtermcap
html-target: maybe-html-target-libmudflap
html-target: maybe-html-target-libssp
html-target: maybe-html-target-newlib
+html-target: maybe-html-target-libgcc
html-target: maybe-html-target-libgfortran
html-target: maybe-html-target-libobjc
html-target: maybe-html-target-libtermcap
TAGS-target: maybe-TAGS-target-libmudflap
TAGS-target: maybe-TAGS-target-libssp
TAGS-target: maybe-TAGS-target-newlib
+TAGS-target: maybe-TAGS-target-libgcc
TAGS-target: maybe-TAGS-target-libgfortran
TAGS-target: maybe-TAGS-target-libobjc
TAGS-target: maybe-TAGS-target-libtermcap
install-info-target: maybe-install-info-target-libmudflap
install-info-target: maybe-install-info-target-libssp
install-info-target: maybe-install-info-target-newlib
+install-info-target: maybe-install-info-target-libgcc
install-info-target: maybe-install-info-target-libgfortran
install-info-target: maybe-install-info-target-libobjc
install-info-target: maybe-install-info-target-libtermcap
install-html-target: maybe-install-html-target-libmudflap
install-html-target: maybe-install-html-target-libssp
install-html-target: maybe-install-html-target-newlib
+install-html-target: maybe-install-html-target-libgcc
install-html-target: maybe-install-html-target-libgfortran
install-html-target: maybe-install-html-target-libobjc
install-html-target: maybe-install-html-target-libtermcap
installcheck-target: maybe-installcheck-target-libmudflap
installcheck-target: maybe-installcheck-target-libssp
installcheck-target: maybe-installcheck-target-newlib
+installcheck-target: maybe-installcheck-target-libgcc
installcheck-target: maybe-installcheck-target-libgfortran
installcheck-target: maybe-installcheck-target-libobjc
installcheck-target: maybe-installcheck-target-libtermcap
mostlyclean-target: maybe-mostlyclean-target-libmudflap
mostlyclean-target: maybe-mostlyclean-target-libssp
mostlyclean-target: maybe-mostlyclean-target-newlib
+mostlyclean-target: maybe-mostlyclean-target-libgcc
mostlyclean-target: maybe-mostlyclean-target-libgfortran
mostlyclean-target: maybe-mostlyclean-target-libobjc
mostlyclean-target: maybe-mostlyclean-target-libtermcap
clean-target: maybe-clean-target-libmudflap
clean-target: maybe-clean-target-libssp
clean-target: maybe-clean-target-newlib
+clean-target: maybe-clean-target-libgcc
clean-target: maybe-clean-target-libgfortran
clean-target: maybe-clean-target-libobjc
clean-target: maybe-clean-target-libtermcap
distclean-target: maybe-distclean-target-libmudflap
distclean-target: maybe-distclean-target-libssp
distclean-target: maybe-distclean-target-newlib
+distclean-target: maybe-distclean-target-libgcc
distclean-target: maybe-distclean-target-libgfortran
distclean-target: maybe-distclean-target-libobjc
distclean-target: maybe-distclean-target-libtermcap
maintainer-clean-target: maybe-maintainer-clean-target-libmudflap
maintainer-clean-target: maybe-maintainer-clean-target-libssp
maintainer-clean-target: maybe-maintainer-clean-target-newlib
+maintainer-clean-target: maybe-maintainer-clean-target-libgcc
maintainer-clean-target: maybe-maintainer-clean-target-libgfortran
maintainer-clean-target: maybe-maintainer-clean-target-libobjc
maintainer-clean-target: maybe-maintainer-clean-target-libtermcap
maintainer-clean: local-distclean
realclean: maintainer-clean
-# Extra dependency for clean-target, owing to the mixed nature of gcc.
-clean-target: clean-target-libgcc
-clean-target-libgcc:
- if test -f gcc/Makefile; then cd gcc && $(MAKE) $@; else :; fi
-
# Check target.
.PHONY: check do-check
maybe-check-target-libmudflap \
maybe-check-target-libssp \
maybe-check-target-newlib \
+ maybe-check-target-libgcc \
maybe-check-target-libgfortran \
maybe-check-target-libobjc \
maybe-check-target-libtermcap \
maybe-install-target-libmudflap \
maybe-install-target-libssp \
maybe-install-target-newlib \
+ maybe-install-target-libgcc \
maybe-install-target-libgfortran \
maybe-install-target-libobjc \
maybe-install-target-libtermcap \
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif bfd-bootstrap
.PHONY: configure-stage2-bfd maybe-configure-stage2-bfd
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif opcodes-bootstrap
.PHONY: configure-stage2-opcodes maybe-configure-stage2-opcodes
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif binutils-bootstrap
.PHONY: configure-stage2-binutils maybe-configure-stage2-binutils
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif gas-bootstrap
.PHONY: configure-stage2-gas maybe-configure-stage2-gas
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif gcc-bootstrap
.PHONY: configure-stage2-gcc maybe-configure-stage2-gcc
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif intl-bootstrap
.PHONY: configure-stage2-intl maybe-configure-stage2-intl
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif ld-bootstrap
.PHONY: configure-stage2-ld maybe-configure-stage2-ld
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif libcpp-bootstrap
.PHONY: configure-stage2-libcpp maybe-configure-stage2-libcpp
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif libdecnumber-bootstrap
.PHONY: configure-stage2-libdecnumber maybe-configure-stage2-libdecnumber
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif libiberty-bootstrap
.PHONY: configure-stage2-libiberty maybe-configure-stage2-libiberty
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) $${srcdiroption} \
\
- --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
@endif zlib-bootstrap
.PHONY: configure-stage2-zlib maybe-configure-stage2-zlib
+.PHONY: configure-target-libgcc maybe-configure-target-libgcc
+maybe-configure-target-libgcc:
+@if gcc-bootstrap
+configure-target-libgcc: stage_current
+@endif gcc-bootstrap
+@if target-libgcc
+maybe-configure-target-libgcc: configure-target-libgcc
+configure-target-libgcc:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo Configuring in $(TARGET_SUBDIR)/libgcc; \
+ cd "$(TARGET_SUBDIR)/libgcc" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+@endif target-libgcc
+
+
+
+.PHONY: configure-stage1-target-libgcc maybe-configure-stage1-target-libgcc
+maybe-configure-stage1-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stage1-target-libgcc: configure-stage1-target-libgcc
+configure-stage1-target-libgcc:
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo Configuring stage 1 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ \
+ --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stage2-target-libgcc maybe-configure-stage2-target-libgcc
+maybe-configure-stage2-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stage2-target-libgcc: configure-stage2-target-libgcc
+configure-stage2-target-libgcc:
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ echo Configuring stage 2 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ @stage2_werror_flag@
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stage3-target-libgcc maybe-configure-stage3-target-libgcc
+maybe-configure-stage3-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stage3-target-libgcc: configure-stage3-target-libgcc
+configure-stage3-target-libgcc:
+ @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ echo Configuring stage 3 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ @stage2_werror_flag@
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stage4-target-libgcc maybe-configure-stage4-target-libgcc
+maybe-configure-stage4-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stage4-target-libgcc: configure-stage4-target-libgcc
+configure-stage4-target-libgcc:
+ @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ echo Configuring stage 4 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ @stage2_werror_flag@
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stageprofile-target-libgcc maybe-configure-stageprofile-target-libgcc
+maybe-configure-stageprofile-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stageprofile-target-libgcc: configure-stageprofile-target-libgcc
+configure-stageprofile-target-libgcc:
+ @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ echo Configuring stage profile in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ @stage2_werror_flag@
+@endif target-libgcc-bootstrap
+
+.PHONY: configure-stagefeedback-target-libgcc maybe-configure-stagefeedback-target-libgcc
+maybe-configure-stagefeedback-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-configure-stagefeedback-target-libgcc: configure-stagefeedback-target-libgcc
+configure-stagefeedback-target-libgcc:
+ @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+ @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcc..."; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcc/multilib.tmp 2> /dev/null ; \
+ if test -r $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcc/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcc/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ echo Configuring stage feedback in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcc/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libgcc"; \
+ libsrcdir="$$s/libgcc"; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-build-libsubdir=$(HOST_SUBDIR) \
+ @stage2_werror_flag@
+@endif target-libgcc-bootstrap
+
+
+
+
+
+.PHONY: all-target-libgcc maybe-all-target-libgcc
+maybe-all-target-libgcc:
+@if gcc-bootstrap
+all-target-libgcc: stage_current
+@endif gcc-bootstrap
+@if target-libgcc
+TARGET-target-libgcc=all
+maybe-all-target-libgcc: all-target-libgcc
+all-target-libgcc: configure-target-libgcc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgcc))
+@endif target-libgcc
+
+
+
+.PHONY: all-stage1-target-libgcc maybe-all-stage1-target-libgcc
+.PHONY: clean-stage1-target-libgcc maybe-clean-stage1-target-libgcc
+maybe-all-stage1-target-libgcc:
+maybe-clean-stage1-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stage1-target-libgcc: all-stage1-target-libgcc
+all-stage1: all-stage1-target-libgcc
+TARGET-stage1-target-libgcc = $(TARGET-target-libgcc)
+all-stage1-target-libgcc: configure-stage1-target-libgcc
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
+ $(TARGET-stage1-target-libgcc)
+
+maybe-clean-stage1-target-libgcc: clean-stage1-target-libgcc
+clean-stage1: clean-stage1-target-libgcc
+clean-stage1-target-libgcc:
+ @if [ $(current_stage) = stage1 ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stage1-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stage2-target-libgcc maybe-all-stage2-target-libgcc
+.PHONY: clean-stage2-target-libgcc maybe-clean-stage2-target-libgcc
+maybe-all-stage2-target-libgcc:
+maybe-clean-stage2-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stage2-target-libgcc: all-stage2-target-libgcc
+all-stage2: all-stage2-target-libgcc
+TARGET-stage2-target-libgcc = $(TARGET-target-libgcc)
+all-stage2-target-libgcc: configure-stage2-target-libgcc
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ $(TARGET-stage2-target-libgcc)
+
+maybe-clean-stage2-target-libgcc: clean-stage2-target-libgcc
+clean-stage2: clean-stage2-target-libgcc
+clean-stage2-target-libgcc:
+ @if [ $(current_stage) = stage2 ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stage2-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ \
+ clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stage3-target-libgcc maybe-all-stage3-target-libgcc
+.PHONY: clean-stage3-target-libgcc maybe-clean-stage3-target-libgcc
+maybe-all-stage3-target-libgcc:
+maybe-clean-stage3-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stage3-target-libgcc: all-stage3-target-libgcc
+all-stage3: all-stage3-target-libgcc
+TARGET-stage3-target-libgcc = $(TARGET-target-libgcc)
+all-stage3-target-libgcc: configure-stage3-target-libgcc
+ @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ $(TARGET-stage3-target-libgcc)
+
+maybe-clean-stage3-target-libgcc: clean-stage3-target-libgcc
+clean-stage3: clean-stage3-target-libgcc
+clean-stage3-target-libgcc:
+ @if [ $(current_stage) = stage3 ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stage3-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ \
+ clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stage4-target-libgcc maybe-all-stage4-target-libgcc
+.PHONY: clean-stage4-target-libgcc maybe-clean-stage4-target-libgcc
+maybe-all-stage4-target-libgcc:
+maybe-clean-stage4-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stage4-target-libgcc: all-stage4-target-libgcc
+all-stage4: all-stage4-target-libgcc
+TARGET-stage4-target-libgcc = $(TARGET-target-libgcc)
+all-stage4-target-libgcc: configure-stage4-target-libgcc
+ @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ $(TARGET-stage4-target-libgcc)
+
+maybe-clean-stage4-target-libgcc: clean-stage4-target-libgcc
+clean-stage4: clean-stage4-target-libgcc
+clean-stage4-target-libgcc:
+ @if [ $(current_stage) = stage4 ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stage4-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ \
+ clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stageprofile-target-libgcc maybe-all-stageprofile-target-libgcc
+.PHONY: clean-stageprofile-target-libgcc maybe-clean-stageprofile-target-libgcc
+maybe-all-stageprofile-target-libgcc:
+maybe-clean-stageprofile-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stageprofile-target-libgcc: all-stageprofile-target-libgcc
+all-stageprofile: all-stageprofile-target-libgcc
+TARGET-stageprofile-target-libgcc = $(TARGET-target-libgcc)
+all-stageprofile-target-libgcc: configure-stageprofile-target-libgcc
+ @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" \
+ $(TARGET-stageprofile-target-libgcc)
+
+maybe-clean-stageprofile-target-libgcc: clean-stageprofile-target-libgcc
+clean-stageprofile: clean-stageprofile-target-libgcc
+clean-stageprofile-target-libgcc:
+ @if [ $(current_stage) = stageprofile ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stageprofile-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ \
+ CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean
+@endif target-libgcc-bootstrap
+
+
+.PHONY: all-stagefeedback-target-libgcc maybe-all-stagefeedback-target-libgcc
+.PHONY: clean-stagefeedback-target-libgcc maybe-clean-stagefeedback-target-libgcc
+maybe-all-stagefeedback-target-libgcc:
+maybe-clean-stagefeedback-target-libgcc:
+@if target-libgcc-bootstrap
+maybe-all-stagefeedback-target-libgcc: all-stagefeedback-target-libgcc
+all-stagefeedback: all-stagefeedback-target-libgcc
+TARGET-stagefeedback-target-libgcc = $(TARGET-target-libgcc)
+all-stagefeedback-target-libgcc: configure-stagefeedback-target-libgcc
+ @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use" \
+ $(TARGET-stagefeedback-target-libgcc)
+
+maybe-clean-stagefeedback-target-libgcc: clean-stagefeedback-target-libgcc
+clean-stagefeedback: clean-stagefeedback-target-libgcc
+clean-stagefeedback-target-libgcc:
+ @if [ $(current_stage) = stagefeedback ]; then \
+ [ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+ else \
+ [ -f $(TARGET_SUBDIR)/stagefeedback-libgcc/Makefile ] || exit 0; \
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+ \
+ CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean
+@endif target-libgcc-bootstrap
+
+
+
+
+
+
+.PHONY: check-target-libgcc maybe-check-target-libgcc
+maybe-check-target-libgcc:
+@if target-libgcc
+maybe-check-target-libgcc: check-target-libgcc
+
+# Dummy target for uncheckable module.
+check-target-libgcc:
+
+@endif target-libgcc
+
+.PHONY: install-target-libgcc maybe-install-target-libgcc
+maybe-install-target-libgcc:
+@if target-libgcc
+maybe-install-target-libgcc: install-target-libgcc
+
+install-target-libgcc: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+@endif target-libgcc
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libgcc info-target-libgcc
+maybe-info-target-libgcc:
+@if target-libgcc
+maybe-info-target-libgcc: info-target-libgcc
+
+info-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing info in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-dvi-target-libgcc dvi-target-libgcc
+maybe-dvi-target-libgcc:
+@if target-libgcc
+maybe-dvi-target-libgcc: dvi-target-libgcc
+
+dvi-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-pdf-target-libgcc pdf-target-libgcc
+maybe-pdf-target-libgcc:
+@if target-libgcc
+maybe-pdf-target-libgcc: pdf-target-libgcc
+
+pdf-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing pdf in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ pdf) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-html-target-libgcc html-target-libgcc
+maybe-html-target-libgcc:
+@if target-libgcc
+maybe-html-target-libgcc: html-target-libgcc
+
+html-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing html in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ html) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-TAGS-target-libgcc TAGS-target-libgcc
+maybe-TAGS-target-libgcc:
+@if target-libgcc
+maybe-TAGS-target-libgcc: TAGS-target-libgcc
+
+TAGS-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-install-info-target-libgcc install-info-target-libgcc
+maybe-install-info-target-libgcc:
+@if target-libgcc
+maybe-install-info-target-libgcc: install-info-target-libgcc
+
+install-info-target-libgcc: \
+ configure-target-libgcc \
+ info-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-install-html-target-libgcc install-html-target-libgcc
+maybe-install-html-target-libgcc:
+@if target-libgcc
+maybe-install-html-target-libgcc: install-html-target-libgcc
+
+install-html-target-libgcc: \
+ configure-target-libgcc \
+ html-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-html in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-html) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-installcheck-target-libgcc installcheck-target-libgcc
+maybe-installcheck-target-libgcc:
+@if target-libgcc
+maybe-installcheck-target-libgcc: installcheck-target-libgcc
+
+installcheck-target-libgcc: \
+ configure-target-libgcc
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-mostlyclean-target-libgcc mostlyclean-target-libgcc
+maybe-mostlyclean-target-libgcc:
+@if target-libgcc
+maybe-mostlyclean-target-libgcc: mostlyclean-target-libgcc
+
+mostlyclean-target-libgcc:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-clean-target-libgcc clean-target-libgcc
+maybe-clean-target-libgcc:
+@if target-libgcc
+maybe-clean-target-libgcc: clean-target-libgcc
+
+clean-target-libgcc:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing clean in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-distclean-target-libgcc distclean-target-libgcc
+maybe-distclean-target-libgcc:
+@if target-libgcc
+maybe-distclean-target-libgcc: distclean-target-libgcc
+
+distclean-target-libgcc:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
+
+@endif target-libgcc
+
+.PHONY: maybe-maintainer-clean-target-libgcc maintainer-clean-target-libgcc
+maybe-maintainer-clean-target-libgcc:
+@if target-libgcc
+maybe-maintainer-clean-target-libgcc: maintainer-clean-target-libgcc
+
+maintainer-clean-target-libgcc:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgcc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
+
+@endif target-libgcc
+
+
+
+
+
.PHONY: configure-target-libgfortran maybe-configure-target-libgfortran
maybe-configure-target-libgfortran:
@if gcc-bootstrap
# ----------
@if gcc-no-bootstrap
-# GCC has some more recursive targets, which trigger the old
-# (but still current, until the toplevel bootstrap project
-# is finished) compiler bootstrapping rules.
-
-GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap
-.PHONY: $(GCC_STRAP_TARGETS)
-$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
- echo "Bootstrapping the compiler"; \
- $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
- cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- case "$@" in \
- *bootstrap4-lean ) \
- msg="Comparing stage3 and stage4 of the compiler"; \
- compare=compare3-lean ;; \
- *bootstrap4 ) \
- msg="Comparing stage3 and stage4 of the compiler"; \
- compare=compare3 ;; \
- *-lean ) \
- msg="Comparing stage2 and stage3 of the compiler"; \
- compare=compare-lean ;; \
- * ) \
- msg="Comparing stage2 and stage3 of the compiler"; \
- compare=compare ;; \
- esac; \
- $(HOST_EXPORTS) \
- echo "$$msg"; \
- cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- echo "Building runtime libraries"; \
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
-
-profiledbootstrap: all-prebootstrap configure-gcc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
- $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
- echo "Bootstrapping training compiler"; \
- cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
- echo "Building feedback based compiler"; \
- cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- echo "Building runtime libraries"; \
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
-
.PHONY: cross
cross: all-build all-gas all-ld
@r=`${PWD_COMMAND}`; export r; \
# '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/$(HOST_SUBDIR)/prev-gcc/" \
- CFLAGS="$(BOOT_CFLAGS)" \
- LIBCFLAGS="$(BOOT_CFLAGS)" \
- LDFLAGS="$(BOOT_LDFLAGS)" \
- "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
-
-# 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
configure-target-libmudflap: stage_last
configure-target-libssp: stage_last
configure-target-newlib: stage_last
+configure-stage1-target-libgcc: maybe-all-stage1-gcc
+configure-stage2-target-libgcc: maybe-all-stage2-gcc
+configure-stage3-target-libgcc: maybe-all-stage3-gcc
+configure-stage4-target-libgcc: maybe-all-stage4-gcc
+configure-stageprofile-target-libgcc: maybe-all-stageprofile-gcc
+configure-stagefeedback-target-libgcc: maybe-all-stagefeedback-gcc
configure-target-libgfortran: stage_last
configure-target-libobjc: stage_last
configure-target-libtermcap: stage_last
configure-target-libmudflap: maybe-all-gcc
configure-target-libssp: maybe-all-gcc
configure-target-newlib: maybe-all-gcc
+configure-target-libgcc: maybe-all-gcc
configure-target-libgfortran: maybe-all-gcc
configure-target-libobjc: maybe-all-gcc
configure-target-libtermcap: maybe-all-gcc
@endif gcc-no-bootstrap
-
-configure-target-boehm-gc: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss
-configure-target-gperf: maybe-all-target-libstdc++-v3
-
-configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss
-configure-target-libjava: maybe-all-target-libstdc++-v3
-
-configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-examples: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-rda: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
-
-configure-target-qthreads: maybe-all-target-newlib maybe-all-target-libgloss
-
-
# There are two types of dependencies here: 'hard' dependencies, where one
# module simply won't build without the other; and 'soft' dependencies, where
# if the depended-on module is missing, the depending module will do without
all-stage4-gcc: maybe-all-build-texinfo
all-stageprofile-gcc: maybe-all-build-texinfo
all-stagefeedback-gcc: maybe-all-build-texinfo
-all-prebootstrap: maybe-all-build-texinfo
all-gcc: maybe-all-build-bison
all-stage1-gcc: maybe-all-build-bison
all-stage4-gcc: maybe-all-build-bison
all-stageprofile-gcc: maybe-all-build-bison
all-stagefeedback-gcc: maybe-all-build-bison
-all-prebootstrap: maybe-all-build-bison
all-gcc: maybe-all-build-byacc
all-stage1-gcc: maybe-all-build-byacc
all-stage4-gcc: maybe-all-build-byacc
all-stageprofile-gcc: maybe-all-build-byacc
all-stagefeedback-gcc: maybe-all-build-byacc
-all-prebootstrap: maybe-all-build-byacc
all-gcc: maybe-all-build-flex
all-stage1-gcc: maybe-all-build-flex
all-stage4-gcc: maybe-all-build-flex
all-stageprofile-gcc: maybe-all-build-flex
all-stagefeedback-gcc: maybe-all-build-flex
-all-prebootstrap: maybe-all-build-flex
all-gcc: maybe-all-build-libiberty
all-stage1-gcc: maybe-all-build-libiberty
all-stage4-gcc: maybe-all-build-libiberty
all-stageprofile-gcc: maybe-all-build-libiberty
all-stagefeedback-gcc: maybe-all-build-libiberty
-all-prebootstrap: maybe-all-build-libiberty
all-gcc: maybe-all-build-fixincludes
all-stage1-gcc: maybe-all-build-fixincludes
all-stage4-gcc: maybe-all-build-fixincludes
all-stageprofile-gcc: maybe-all-build-fixincludes
all-stagefeedback-gcc: maybe-all-build-fixincludes
-all-prebootstrap: maybe-all-build-fixincludes
all-gcc: maybe-all-zlib
all-stage1-gcc: maybe-all-stage1-zlib
all-stage4-binutils: maybe-all-build-flex
all-stageprofile-binutils: maybe-all-build-flex
all-stagefeedback-binutils: maybe-all-build-flex
-all-prebootstrap: maybe-all-build-flex
all-binutils: maybe-all-build-bison
all-stage1-binutils: maybe-all-build-bison
all-stage4-binutils: maybe-all-build-bison
all-stageprofile-binutils: maybe-all-build-bison
all-stagefeedback-binutils: maybe-all-build-bison
-all-prebootstrap: maybe-all-build-bison
all-binutils: maybe-all-build-byacc
all-stage1-binutils: maybe-all-build-byacc
all-stage4-binutils: maybe-all-build-byacc
all-stageprofile-binutils: maybe-all-build-byacc
all-stagefeedback-binutils: maybe-all-build-byacc
-all-prebootstrap: maybe-all-build-byacc
all-binutils: maybe-all-intl
all-stage1-binutils: maybe-all-stage1-intl
all-stage4-ld: maybe-all-build-bison
all-stageprofile-ld: maybe-all-build-bison
all-stagefeedback-ld: maybe-all-build-bison
-all-prebootstrap: maybe-all-build-bison
all-ld: maybe-all-build-byacc
all-stage1-ld: maybe-all-build-byacc
all-stage4-ld: maybe-all-build-byacc
all-stageprofile-ld: maybe-all-build-byacc
all-stagefeedback-ld: maybe-all-build-byacc
-all-prebootstrap: maybe-all-build-byacc
all-ld: maybe-all-build-flex
all-stage1-ld: maybe-all-build-flex
all-stage4-ld: maybe-all-build-flex
all-stageprofile-ld: maybe-all-build-flex
all-stagefeedback-ld: maybe-all-build-flex
-all-prebootstrap: maybe-all-build-flex
all-ld: maybe-all-intl
all-stage1-ld: maybe-all-stage1-intl
all-target-libobjc: maybe-all-target-libiberty
all-target-libobjc: maybe-all-target-boehm-gc
all-target-libstdc++-v3: maybe-all-target-libiberty
+install-target-libssp: maybe-install-gcc
+install-target-libgomp: maybe-install-gcc
all-target-libgloss: maybe-configure-target-newlib
all-target-winsup: maybe-all-target-libiberty
all-target-winsup: maybe-all-target-libtermcap
-# Non-toplevel bootstrap rules must depend on several packages, to be built
-# before gcc. Another wart that will go away, hopefully soon.
-@if gcc-no-bootstrap
+# Dependencies for target modules on other target modules are
+# described by lang_env_dependencies; the defaults apply to anything
+# not mentioned there.
+
-all-prebootstrap: maybe-all-bfd
-all-prebootstrap: maybe-all-opcodes
-all-prebootstrap: maybe-all-binutils
-all-prebootstrap: maybe-all-gas
-all-prebootstrap: maybe-all-intl
-all-prebootstrap: maybe-all-ld
-all-prebootstrap: maybe-all-libcpp
-all-prebootstrap: maybe-all-libdecnumber
-all-prebootstrap: maybe-all-libiberty
-all-prebootstrap: maybe-all-zlib
+@if gcc-bootstrap
+@endif gcc-bootstrap
+
+@if gcc-no-bootstrap
+configure-target-libstdc++-v3: maybe-all-target-libgcc
+configure-target-libmudflap: maybe-all-target-libgcc
+configure-target-libssp: maybe-all-target-libgcc
+configure-target-newlib: maybe-all-target-libgcc
+configure-target-libgfortran: maybe-all-target-libgcc
+configure-target-libobjc: maybe-all-target-libgcc
+configure-target-libtermcap: maybe-all-target-libgcc
+configure-target-winsup: maybe-all-target-libgcc
+configure-target-libgloss: maybe-all-target-libgcc
+configure-target-libiberty: maybe-all-target-libgcc
+configure-target-gperf: maybe-all-target-libgcc
+configure-target-examples: maybe-all-target-libgcc
+configure-target-libffi: maybe-all-target-libgcc
+configure-target-libjava: maybe-all-target-libgcc
+configure-target-zlib: maybe-all-target-libgcc
+configure-target-boehm-gc: maybe-all-target-libgcc
+configure-target-qthreads: maybe-all-target-libgcc
+configure-target-rda: maybe-all-target-libgcc
+configure-target-libada: maybe-all-target-libgcc
+configure-target-libgomp: maybe-all-target-libgcc
@endif gcc-no-bootstrap
+
+configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss
+
+
+
+configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
+
+
+
+configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-gperf: maybe-all-target-libstdc++-v3
+
+configure-target-examples: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libjava: maybe-all-target-libstdc++-v3
+
+configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-boehm-gc: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-qthreads: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-rda: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
+
+configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss
+
+
CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
GDB_TK = @GDB_TK@
INSTALL_GDB_TK = @INSTALL_GDB_TK@