OSDN Git Service

* include/posix.h: .dylib is used on all Apple MACH platforms.
[pf3gnuchains/gcc-fork.git] / Makefile.in
index 7ff50f5..aeef11e 100644 (file)
@@ -72,21 +72,12 @@ LN_S = @LN_S@
 # Miscellaneous non-standard autoconf-set variables
 # -------------------------------------------------
 
-# The file containing GCC's version number.
-gcc_version_trigger = @gcc_version_trigger@
-gcc_version = @gcc_version@
-
 # The gcc driver likes to know the arguments it was configured with.
 TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
 
-gxx_include_dir = @gxx_include_dir@
-libstdcxx_incdir = @libstdcxx_incdir@
-
 tooldir = @tooldir@
 build_tooldir = @build_tooldir@
 
-# Directory in which the compiler finds executables, libraries, etc.
-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
 GDB_NLM_DEPS = 
 
 # This is the name of the environment variable used for the path to
@@ -149,6 +140,9 @@ SUBDIRS = @configdirs@
 # This is set by the configure script to the arguments to use when configuring
 # directories built for the host system.
 HOST_CONFIGARGS = @host_configargs@
+# Host programs are put under this directory, which is . except if building
+# with srcdir=..
+HOST_SUBDIR = @host_subdir@
 # This is the list of variables to export in the environment when
 # configuring subdirectories for the host system.
 HOST_EXPORTS = \
@@ -178,8 +172,12 @@ HOST_EXPORTS = \
 # Similar, for later GCC stages.
 STAGE_HOST_EXPORTS = \
        $(HOST_EXPORTS) \
-       CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
-       CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
+       CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
+         -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
+       CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
+         $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
+         -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
+         -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
 
 # This is set by the configure script to the list of directories which
 # should be built using the target tools.
@@ -302,8 +300,9 @@ MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \
 # (Default to avoid splitting info files by setting the threshold high.)
 MAKEINFOFLAGS = --split-size=5000000
 
-EXPECT = `if [ -f $$r/expect/expect ] ; \
-       then echo $$r/expect/expect ; \
+# FIXME: expect may become a build tool?
+EXPECT = `if [ -f $$r/$(HOST_SUBDIR)/expect/expect ] ; \
+       then echo $$r/$(HOST_SUBDIR)/expect/expect ; \
        else echo expect ; fi`
 
 RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \
@@ -316,7 +315,7 @@ RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \
 
 # This is the list of directories that may be needed in RPATH_ENVVAR
 # so that programs built for the host machine work.
-HOST_LIB_PATH = $$r/bfd:$$r/opcodes
+HOST_LIB_PATH = $$r/$(HOST_SUBDIR)/bfd:$$r/$(HOST_SUBDIR)/opcodes
 
 AS = @AS@
 
@@ -357,8 +356,8 @@ FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
 AR_FOR_TARGET=@AR_FOR_TARGET@
 CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@
 USUAL_AR_FOR_TARGET = ` \
-  if [ -f $$r/binutils/ar ] ; then \
-    echo $$r/binutils/ar ; \
+  if [ -f $$r/$(HOST_SUBDIR)/binutils/ar ] ; then \
+    echo $$r/$(HOST_SUBDIR)/binutils/ar ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
       echo $(AR); \
@@ -370,9 +369,9 @@ USUAL_AR_FOR_TARGET = ` \
 AS_FOR_TARGET=@AS_FOR_TARGET@
 CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
 USUAL_AS_FOR_TARGET = ` \
-  if [ -f $$r/gas/as-new ] ; then \
-    echo $$r/gas/as-new ; \
-  elif [ -f $$r/gcc/xgcc ]; then \
+  if [ -f $$r/$(HOST_SUBDIR)/gas/as-new ] ; then \
+    echo $$r/$(HOST_SUBDIR)/gas/as-new ; \
+  elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
     $(CC_FOR_TARGET) -print-prog-name=as ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
@@ -393,7 +392,8 @@ CFLAGS_FOR_TARGET = -O2 $(CFLAGS)
 # build libgcc2.a.  We define it here so that it can itself be
 # overridden on the command line.
 GCC_FOR_TARGET=@GCC_FOR_TARGET@
-USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET)
+USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) \
+  $$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ $(FLAGS_FOR_TARGET)
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 
 CXX_FOR_TARGET = @CXX_FOR_TARGET@
@@ -406,8 +406,8 @@ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
 CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
 USUAL_DLLTOOL_FOR_TARGET = ` \
-  if [ -f $$r/binutils/dlltool ] ; then \
-    echo $$r/binutils/dlltool ; \
+  if [ -f $$r/$(HOST_SUBDIR)/binutils/dlltool ] ; then \
+    echo $$r/$(HOST_SUBDIR)/binutils/dlltool ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
       echo $(DLLTOOL); \
@@ -422,9 +422,9 @@ GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
 LD_FOR_TARGET=@LD_FOR_TARGET@
 CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
 USUAL_LD_FOR_TARGET = ` \
-  if [ -f $$r/ld/ld-new ] ; then \
-    echo $$r/ld/ld-new ; \
-  elif [ -f $$r/gcc/xgcc ]; then \
+  if [ -f $$r/$(HOST_SUBDIR)/ld/ld-new ] ; then \
+    echo $$r/$(HOST_SUBDIR)/ld/ld-new ; \
+  elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
     $(CC_FOR_TARGET) -print-prog-name=ld ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
@@ -439,9 +439,9 @@ LDFLAGS_FOR_TARGET =
 NM_FOR_TARGET=@NM_FOR_TARGET@
 CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
 USUAL_NM_FOR_TARGET = ` \
-  if [ -f $$r/binutils/nm-new ] ; then \
-    echo $$r/binutils/nm-new ; \
-  elif [ -f $$r/gcc/xgcc ]; then \
+  if [ -f $$r/$(HOST_SUBDIR)/binutils/nm-new ] ; then \
+    echo $$r/$(HOST_SUBDIR)/binutils/nm-new ; \
+  elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
     $(CC_FOR_TARGET) -print-prog-name=nm ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
@@ -454,8 +454,8 @@ USUAL_NM_FOR_TARGET = ` \
 RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
 CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@
 USUAL_RANLIB_FOR_TARGET = ` \
-  if [ -f $$r/binutils/ranlib ] ; then \
-    echo $$r/binutils/ranlib ; \
+  if [ -f $$r/$(HOST_SUBDIR)/binutils/ranlib ] ; then \
+    echo $$r/$(HOST_SUBDIR)/binutils/ranlib ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
       if [ x'$(RANLIB)' != x ]; then \
@@ -471,8 +471,8 @@ USUAL_RANLIB_FOR_TARGET = ` \
 WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
 CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@
 USUAL_WINDRES_FOR_TARGET = ` \
-  if [ -f $$r/binutils/windres ] ; then \
-    echo $$r/binutils/windres ; \
+  if [ -f $$r/$(HOST_SUBDIR)/binutils/windres ] ; then \
+    echo $$r/$(HOST_SUBDIR)/binutils/windres ; \
   else \
     if [ '$(host)' = '$(target)' ] ; then \
       echo $(WINDRES); \
@@ -511,8 +511,6 @@ BASE_FLAGS_TO_PASS = \
        "libdir=$(libdir)" \
        "libexecdir=$(libexecdir)" \
        "lispdir=$(lispdir)" \
-       "libstdcxx_incdir=$(libstdcxx_incdir)" \
-       "libsubdir=$(libsubdir)" \
        "localstatedir=$(localstatedir)" \
        "mandir=$(mandir)" \
        "oldincludedir=$(oldincludedir)" \
@@ -522,9 +520,6 @@ BASE_FLAGS_TO_PASS = \
        "sysconfdir=$(sysconfdir)" \
        "tooldir=$(tooldir)" \
        "build_tooldir=$(build_tooldir)" \
-       "gxx_include_dir=$(gxx_include_dir)" \
-       "gcc_version=$(gcc_version)" \
-       "gcc_version_trigger=$(gcc_version_trigger)" \
        "target_alias=$(target_alias)" \
        "BISON=$(BISON)" \
        "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
@@ -1817,6 +1812,9 @@ local-distclean:
          rm -rf $(TARGET_SUBDIR); \
        else true; fi
        -rm -rf $(BUILD_SUBDIR)
+       -if [ "$(HOST_SUBDIR)" != "." ]; then \
+         rm -rf $(HOST_SUBDIR); \
+       else true; fi
        -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
        -rm -f texinfo/doc/Makefile texinfo/po/POTFILES
        -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
@@ -2190,38 +2188,12 @@ configure-build-libiberty:
        echo Configuring in $(BUILD_SUBDIR)/libiberty; \
        cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/libiberty/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/libiberty"; \
-         libsrcdir="$$s/libiberty"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/libiberty"; \
+       libsrcdir="$$s/libiberty"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2255,38 +2227,12 @@ configure-build-bison:
        echo Configuring in $(BUILD_SUBDIR)/bison; \
        cd "$(BUILD_SUBDIR)/bison" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/bison/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/bison "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/bison"; \
-         libsrcdir="$$s/bison"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/bison"; \
+       libsrcdir="$$s/bison"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2320,38 +2266,12 @@ configure-build-byacc:
        echo Configuring in $(BUILD_SUBDIR)/byacc; \
        cd "$(BUILD_SUBDIR)/byacc" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/byacc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/byacc "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/byacc"; \
-         libsrcdir="$$s/byacc"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/byacc"; \
+       libsrcdir="$$s/byacc"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2385,38 +2305,12 @@ configure-build-flex:
        echo Configuring in $(BUILD_SUBDIR)/flex; \
        cd "$(BUILD_SUBDIR)/flex" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/flex/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/flex "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/flex"; \
-         libsrcdir="$$s/flex"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/flex"; \
+       libsrcdir="$$s/flex"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2450,38 +2344,12 @@ configure-build-m4:
        echo Configuring in $(BUILD_SUBDIR)/m4; \
        cd "$(BUILD_SUBDIR)/m4" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/m4/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/m4 "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/m4"; \
-         libsrcdir="$$s/m4"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/m4"; \
+       libsrcdir="$$s/m4"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2515,38 +2383,12 @@ configure-build-texinfo:
        echo Configuring in $(BUILD_SUBDIR)/texinfo; \
        cd "$(BUILD_SUBDIR)/texinfo" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/texinfo/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/texinfo "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/texinfo"; \
-         libsrcdir="$$s/texinfo"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/texinfo"; \
+       libsrcdir="$$s/texinfo"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2580,38 +2422,12 @@ configure-build-fixincludes:
        echo Configuring in $(BUILD_SUBDIR)/fixincludes; \
        cd "$(BUILD_SUBDIR)/fixincludes" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(BUILD_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(BUILD_SUBDIR)/fixincludes/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(BUILD_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/fixincludes "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/fixincludes"; \
-         libsrcdir="$$s/fixincludes"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+       libsrcdir="$$s/fixincludes"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(BUILD_CONFIGARGS) $${srcdiroption} \
@@ -2642,24 +2458,20 @@ maybe-configure-ash:
 @if ash
 maybe-configure-ash: configure-ash
 configure-ash:
-       @test ! -f ash/Makefile || exit 0; \
-       [ -d ash ] || mkdir ash; \
+       @test ! -f $(HOST_SUBDIR)/ash/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ash ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in ash; \
-       cd ash || exit 1; \
+       cd $(HOST_SUBDIR)/ash || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ash"; \
-           libsrcdir="$$s/ash";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ash"; \
-           libsrcdir="$$s/ash";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/ash/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/ash"; \
+       libsrcdir="$$s/ash"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -2675,8 +2487,8 @@ all-ash: configure-ash
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ash && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-ash))
+       (cd $(HOST_SUBDIR)/ash && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ash))
 @endif ash
 
 .PHONY: check-ash maybe-check-ash
@@ -2689,7 +2501,8 @@ check-ash:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ash && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/ash && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif ash
 
@@ -2703,7 +2516,8 @@ install-ash: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ash && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/ash && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif ash
 
@@ -2725,7 +2539,7 @@ info-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2751,7 +2565,7 @@ dvi-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2777,7 +2591,7 @@ html-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2803,7 +2617,7 @@ TAGS-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2830,7 +2644,7 @@ install-info-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2856,7 +2670,7 @@ installcheck-ash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2881,7 +2695,7 @@ mostlyclean-ash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2906,7 +2720,7 @@ clean-ash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2931,7 +2745,7 @@ distclean-ash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2956,7 +2770,7 @@ maintainer-clean-ash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in ash" ; \
-       (cd ash && \
+       (cd $(HOST_SUBDIR)/ash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -2972,24 +2786,20 @@ maybe-configure-autoconf:
 @if autoconf
 maybe-configure-autoconf: configure-autoconf
 configure-autoconf:
-       @test ! -f autoconf/Makefile || exit 0; \
-       [ -d autoconf ] || mkdir autoconf; \
+       @test ! -f $(HOST_SUBDIR)/autoconf/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/autoconf ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in autoconf; \
-       cd autoconf || exit 1; \
+       cd $(HOST_SUBDIR)/autoconf || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/autoconf"; \
-           libsrcdir="$$s/autoconf";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/autoconf"; \
-           libsrcdir="$$s/autoconf";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/autoconf/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/autoconf"; \
+       libsrcdir="$$s/autoconf"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -3005,8 +2815,8 @@ all-autoconf: configure-autoconf
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd autoconf && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-autoconf))
+       (cd $(HOST_SUBDIR)/autoconf && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-autoconf))
 @endif autoconf
 
 .PHONY: check-autoconf maybe-check-autoconf
@@ -3019,7 +2829,8 @@ check-autoconf:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/autoconf && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif autoconf
 
@@ -3033,7 +2844,8 @@ install-autoconf: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/autoconf && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif autoconf
 
@@ -3055,7 +2867,7 @@ info-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3081,7 +2893,7 @@ dvi-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3107,7 +2919,7 @@ html-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3133,7 +2945,7 @@ TAGS-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3160,7 +2972,7 @@ install-info-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3186,7 +2998,7 @@ installcheck-autoconf: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3211,7 +3023,7 @@ mostlyclean-autoconf:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3236,7 +3048,7 @@ clean-autoconf:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3261,7 +3073,7 @@ distclean-autoconf:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3286,7 +3098,7 @@ maintainer-clean-autoconf:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in autoconf" ; \
-       (cd autoconf && \
+       (cd $(HOST_SUBDIR)/autoconf && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3302,24 +3114,20 @@ maybe-configure-automake:
 @if automake
 maybe-configure-automake: configure-automake
 configure-automake:
-       @test ! -f automake/Makefile || exit 0; \
-       [ -d automake ] || mkdir automake; \
+       @test ! -f $(HOST_SUBDIR)/automake/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/automake ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in automake; \
-       cd automake || exit 1; \
+       cd $(HOST_SUBDIR)/automake || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/automake"; \
-           libsrcdir="$$s/automake";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/automake"; \
-           libsrcdir="$$s/automake";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/automake/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/automake"; \
+       libsrcdir="$$s/automake"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -3335,8 +3143,8 @@ all-automake: configure-automake
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd automake && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-automake))
+       (cd $(HOST_SUBDIR)/automake && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-automake))
 @endif automake
 
 .PHONY: check-automake maybe-check-automake
@@ -3349,7 +3157,8 @@ check-automake:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd automake && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/automake && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif automake
 
@@ -3363,7 +3172,8 @@ install-automake: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd automake && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/automake && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif automake
 
@@ -3385,7 +3195,7 @@ info-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3411,7 +3221,7 @@ dvi-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3437,7 +3247,7 @@ html-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3463,7 +3273,7 @@ TAGS-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3490,7 +3300,7 @@ install-info-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3516,7 +3326,7 @@ installcheck-automake: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3541,7 +3351,7 @@ mostlyclean-automake:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3566,7 +3376,7 @@ clean-automake:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3591,7 +3401,7 @@ distclean-automake:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3616,7 +3426,7 @@ maintainer-clean-automake:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in automake" ; \
-       (cd automake && \
+       (cd $(HOST_SUBDIR)/automake && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3632,24 +3442,20 @@ maybe-configure-bash:
 @if bash
 maybe-configure-bash: configure-bash
 configure-bash:
-       @test ! -f bash/Makefile || exit 0; \
-       [ -d bash ] || mkdir bash; \
+       @test ! -f $(HOST_SUBDIR)/bash/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bash ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in bash; \
-       cd bash || exit 1; \
+       cd $(HOST_SUBDIR)/bash || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bash"; \
-           libsrcdir="$$s/bash";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bash"; \
-           libsrcdir="$$s/bash";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/bash/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/bash"; \
+       libsrcdir="$$s/bash"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -3665,8 +3471,8 @@ all-bash: configure-bash
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bash && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-bash))
+       (cd $(HOST_SUBDIR)/bash && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bash))
 @endif bash
 
 .PHONY: check-bash maybe-check-bash
@@ -3679,7 +3485,8 @@ check-bash:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bash && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/bash && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif bash
 
@@ -3693,7 +3500,8 @@ install-bash: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bash && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/bash && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif bash
 
@@ -3715,7 +3523,7 @@ info-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3741,7 +3549,7 @@ dvi-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3767,7 +3575,7 @@ html-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3793,7 +3601,7 @@ TAGS-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3820,7 +3628,7 @@ install-info-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3846,7 +3654,7 @@ installcheck-bash: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3871,7 +3679,7 @@ mostlyclean-bash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3896,7 +3704,7 @@ clean-bash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3921,7 +3729,7 @@ distclean-bash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3946,7 +3754,7 @@ maintainer-clean-bash:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in bash" ; \
-       (cd bash && \
+       (cd $(HOST_SUBDIR)/bash && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -3963,24 +3771,20 @@ maybe-configure-bfd:
 maybe-configure-bfd: configure-bfd
 configure-bfd:
        @test -f stage_last && exit 0; \
-       test ! -f bfd/Makefile || exit 0; \
-       [ -d bfd ] || mkdir bfd; \
+       test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in bfd; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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}  \
          || exit 1
@@ -3997,8 +3801,8 @@ all-bfd: configure-bfd
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bfd && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-bfd))
+       (cd $(HOST_SUBDIR)/bfd && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bfd))
 @endif bfd
 
 .PHONY: check-bfd maybe-check-bfd
@@ -4011,7 +3815,8 @@ check-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/bfd && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif bfd
 
@@ -4025,7 +3830,8 @@ install-bfd: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/bfd && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif bfd
 
@@ -4047,7 +3853,7 @@ info-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4073,7 +3879,7 @@ dvi-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4099,7 +3905,7 @@ html-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4125,7 +3931,7 @@ TAGS-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4152,7 +3958,7 @@ install-info-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4178,7 +3984,7 @@ installcheck-bfd: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4203,7 +4009,7 @@ mostlyclean-bfd:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4228,7 +4034,7 @@ clean-bfd:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4253,7 +4059,7 @@ distclean-bfd:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4278,7 +4084,7 @@ maintainer-clean-bfd:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in bfd" ; \
-       (cd bfd && \
+       (cd $(HOST_SUBDIR)/bfd && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4295,24 +4101,20 @@ maybe-configure-opcodes:
 maybe-configure-opcodes: configure-opcodes
 configure-opcodes:
        @test -f stage_last && exit 0; \
-       test ! -f opcodes/Makefile || exit 0; \
-       [ -d opcodes ] || mkdir opcodes; \
+       test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in opcodes; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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}  \
          || exit 1
@@ -4329,8 +4131,8 @@ all-opcodes: configure-opcodes
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd opcodes && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-opcodes))
+       (cd $(HOST_SUBDIR)/opcodes && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-opcodes))
 @endif opcodes
 
 .PHONY: check-opcodes maybe-check-opcodes
@@ -4343,7 +4145,8 @@ check-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/opcodes && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif opcodes
 
@@ -4357,7 +4160,8 @@ install-opcodes: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/opcodes && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif opcodes
 
@@ -4379,7 +4183,7 @@ info-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4405,7 +4209,7 @@ dvi-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4431,7 +4235,7 @@ html-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4457,7 +4261,7 @@ TAGS-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4484,7 +4288,7 @@ install-info-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4510,7 +4314,7 @@ installcheck-opcodes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4535,7 +4339,7 @@ mostlyclean-opcodes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4560,7 +4364,7 @@ clean-opcodes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4585,7 +4389,7 @@ distclean-opcodes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4610,7 +4414,7 @@ maintainer-clean-opcodes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in opcodes" ; \
-       (cd opcodes && \
+       (cd $(HOST_SUBDIR)/opcodes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4627,24 +4431,20 @@ maybe-configure-binutils:
 maybe-configure-binutils: configure-binutils
 configure-binutils:
        @test -f stage_last && exit 0; \
-       test ! -f binutils/Makefile || exit 0; \
-       [ -d binutils ] || mkdir binutils; \
+       test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in binutils; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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}  \
          || exit 1
@@ -4661,8 +4461,8 @@ all-binutils: configure-binutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd binutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-binutils))
+       (cd $(HOST_SUBDIR)/binutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-binutils))
 @endif binutils
 
 .PHONY: check-binutils maybe-check-binutils
@@ -4675,7 +4475,8 @@ check-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/binutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif binutils
 
@@ -4689,7 +4490,8 @@ install-binutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/binutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif binutils
 
@@ -4711,7 +4513,7 @@ info-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4737,7 +4539,7 @@ dvi-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4763,7 +4565,7 @@ html-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4789,7 +4591,7 @@ TAGS-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4816,7 +4618,7 @@ install-info-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4842,7 +4644,7 @@ installcheck-binutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4867,7 +4669,7 @@ mostlyclean-binutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4892,7 +4694,7 @@ clean-binutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4917,7 +4719,7 @@ distclean-binutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4942,7 +4744,7 @@ maintainer-clean-binutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in binutils" ; \
-       (cd binutils && \
+       (cd $(HOST_SUBDIR)/binutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -4958,24 +4760,20 @@ maybe-configure-bison:
 @if bison
 maybe-configure-bison: configure-bison
 configure-bison:
-       @test ! -f bison/Makefile || exit 0; \
-       [ -d bison ] || mkdir bison; \
+       @test ! -f $(HOST_SUBDIR)/bison/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bison ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in bison; \
-       cd bison || exit 1; \
+       cd $(HOST_SUBDIR)/bison || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bison"; \
-           libsrcdir="$$s/bison";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bison"; \
-           libsrcdir="$$s/bison";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/bison/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/bison"; \
+       libsrcdir="$$s/bison"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -4991,8 +4789,8 @@ all-bison: configure-bison
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bison && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-bison))
+       (cd $(HOST_SUBDIR)/bison && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bison))
 @endif bison
 
 .PHONY: check-bison maybe-check-bison
@@ -5007,7 +4805,8 @@ check-bison:
          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
          $(SET_LIB_PATH) \
          $(HOST_EXPORTS) \
-         (cd bison && $(MAKE) $(FLAGS_TO_PASS)  check); \
+         (cd $(HOST_SUBDIR)/bison && \
+           $(MAKE) $(FLAGS_TO_PASS)  check); \
        fi
 
 @endif bison
@@ -5022,7 +4821,8 @@ install-bison: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bison && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/bison && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif bison
 
@@ -5044,7 +4844,7 @@ info-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5070,7 +4870,7 @@ dvi-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5096,7 +4896,7 @@ html-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5122,7 +4922,7 @@ TAGS-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5149,7 +4949,7 @@ install-info-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5175,7 +4975,7 @@ installcheck-bison: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5200,7 +5000,7 @@ mostlyclean-bison:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5225,7 +5025,7 @@ clean-bison:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5250,7 +5050,7 @@ distclean-bison:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5275,7 +5075,7 @@ maintainer-clean-bison:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in bison" ; \
-       (cd bison && \
+       (cd $(HOST_SUBDIR)/bison && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5291,24 +5091,20 @@ maybe-configure-byacc:
 @if byacc
 maybe-configure-byacc: configure-byacc
 configure-byacc:
-       @test ! -f byacc/Makefile || exit 0; \
-       [ -d byacc ] || mkdir byacc; \
+       @test ! -f $(HOST_SUBDIR)/byacc/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/byacc ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in byacc; \
-       cd byacc || exit 1; \
+       cd $(HOST_SUBDIR)/byacc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/byacc"; \
-           libsrcdir="$$s/byacc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/byacc"; \
-           libsrcdir="$$s/byacc";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/byacc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/byacc"; \
+       libsrcdir="$$s/byacc"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -5324,8 +5120,8 @@ all-byacc: configure-byacc
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd byacc && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-byacc))
+       (cd $(HOST_SUBDIR)/byacc && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-byacc))
 @endif byacc
 
 .PHONY: check-byacc maybe-check-byacc
@@ -5340,7 +5136,8 @@ check-byacc:
          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
          $(SET_LIB_PATH) \
          $(HOST_EXPORTS) \
-         (cd byacc && $(MAKE) $(FLAGS_TO_PASS)  check); \
+         (cd $(HOST_SUBDIR)/byacc && \
+           $(MAKE) $(FLAGS_TO_PASS)  check); \
        fi
 
 @endif byacc
@@ -5355,7 +5152,8 @@ install-byacc: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/byacc && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif byacc
 
@@ -5377,7 +5175,7 @@ info-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5403,7 +5201,7 @@ dvi-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5429,7 +5227,7 @@ html-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5455,7 +5253,7 @@ TAGS-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5482,7 +5280,7 @@ install-info-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5508,7 +5306,7 @@ installcheck-byacc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5533,7 +5331,7 @@ mostlyclean-byacc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5558,7 +5356,7 @@ clean-byacc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5583,7 +5381,7 @@ distclean-byacc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5608,7 +5406,7 @@ maintainer-clean-byacc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in byacc" ; \
-       (cd byacc && \
+       (cd $(HOST_SUBDIR)/byacc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5624,24 +5422,20 @@ maybe-configure-bzip2:
 @if bzip2
 maybe-configure-bzip2: configure-bzip2
 configure-bzip2:
-       @test ! -f bzip2/Makefile || exit 0; \
-       [ -d bzip2 ] || mkdir bzip2; \
+       @test ! -f $(HOST_SUBDIR)/bzip2/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bzip2 ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in bzip2; \
-       cd bzip2 || exit 1; \
+       cd $(HOST_SUBDIR)/bzip2 || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bzip2"; \
-           libsrcdir="$$s/bzip2";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bzip2"; \
-           libsrcdir="$$s/bzip2";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/bzip2/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/bzip2"; \
+       libsrcdir="$$s/bzip2"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -5657,8 +5451,8 @@ all-bzip2: configure-bzip2
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-bzip2))
+       (cd $(HOST_SUBDIR)/bzip2 && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bzip2))
 @endif bzip2
 
 .PHONY: check-bzip2 maybe-check-bzip2
@@ -5671,7 +5465,8 @@ check-bzip2:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/bzip2 && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif bzip2
 
@@ -5685,7 +5480,8 @@ install-bzip2: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/bzip2 && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif bzip2
 
@@ -5707,7 +5503,7 @@ info-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5733,7 +5529,7 @@ dvi-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5759,7 +5555,7 @@ html-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5785,7 +5581,7 @@ TAGS-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5812,7 +5608,7 @@ install-info-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5838,7 +5634,7 @@ installcheck-bzip2: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5863,7 +5659,7 @@ mostlyclean-bzip2:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5888,7 +5684,7 @@ clean-bzip2:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5913,7 +5709,7 @@ distclean-bzip2:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5938,7 +5734,7 @@ maintainer-clean-bzip2:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in bzip2" ; \
-       (cd bzip2 && \
+       (cd $(HOST_SUBDIR)/bzip2 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -5954,24 +5750,20 @@ maybe-configure-dejagnu:
 @if dejagnu
 maybe-configure-dejagnu: configure-dejagnu
 configure-dejagnu:
-       @test ! -f dejagnu/Makefile || exit 0; \
-       [ -d dejagnu ] || mkdir dejagnu; \
+       @test ! -f $(HOST_SUBDIR)/dejagnu/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/dejagnu ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in dejagnu; \
-       cd dejagnu || exit 1; \
+       cd $(HOST_SUBDIR)/dejagnu || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/dejagnu"; \
-           libsrcdir="$$s/dejagnu";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \
-           libsrcdir="$$s/dejagnu";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/dejagnu/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/dejagnu"; \
+       libsrcdir="$$s/dejagnu"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -5987,8 +5779,8 @@ all-dejagnu: configure-dejagnu
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-dejagnu))
+       (cd $(HOST_SUBDIR)/dejagnu && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dejagnu))
 @endif dejagnu
 
 .PHONY: check-dejagnu maybe-check-dejagnu
@@ -6001,7 +5793,8 @@ check-dejagnu:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/dejagnu && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif dejagnu
 
@@ -6015,7 +5808,8 @@ install-dejagnu: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/dejagnu && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif dejagnu
 
@@ -6037,7 +5831,7 @@ info-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6063,7 +5857,7 @@ dvi-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6089,7 +5883,7 @@ html-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6115,7 +5909,7 @@ TAGS-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6142,7 +5936,7 @@ install-info-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6168,7 +5962,7 @@ installcheck-dejagnu: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6193,7 +5987,7 @@ mostlyclean-dejagnu:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6218,7 +6012,7 @@ clean-dejagnu:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6243,7 +6037,7 @@ distclean-dejagnu:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6268,7 +6062,7 @@ maintainer-clean-dejagnu:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in dejagnu" ; \
-       (cd dejagnu && \
+       (cd $(HOST_SUBDIR)/dejagnu && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6284,24 +6078,20 @@ maybe-configure-diff:
 @if diff
 maybe-configure-diff: configure-diff
 configure-diff:
-       @test ! -f diff/Makefile || exit 0; \
-       [ -d diff ] || mkdir diff; \
+       @test ! -f $(HOST_SUBDIR)/diff/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/diff ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in diff; \
-       cd diff || exit 1; \
+       cd $(HOST_SUBDIR)/diff || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/diff"; \
-           libsrcdir="$$s/diff";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/diff"; \
-           libsrcdir="$$s/diff";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/diff/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/diff"; \
+       libsrcdir="$$s/diff"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -6317,8 +6107,8 @@ all-diff: configure-diff
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd diff && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-diff))
+       (cd $(HOST_SUBDIR)/diff && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-diff))
 @endif diff
 
 .PHONY: check-diff maybe-check-diff
@@ -6331,7 +6121,8 @@ check-diff:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd diff && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/diff && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif diff
 
@@ -6345,7 +6136,8 @@ install-diff: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd diff && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/diff && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif diff
 
@@ -6367,7 +6159,7 @@ info-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6393,7 +6185,7 @@ dvi-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6419,7 +6211,7 @@ html-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6445,7 +6237,7 @@ TAGS-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6472,7 +6264,7 @@ install-info-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6498,7 +6290,7 @@ installcheck-diff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6523,7 +6315,7 @@ mostlyclean-diff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6548,7 +6340,7 @@ clean-diff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6573,7 +6365,7 @@ distclean-diff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6598,7 +6390,7 @@ maintainer-clean-diff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in diff" ; \
-       (cd diff && \
+       (cd $(HOST_SUBDIR)/diff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6614,24 +6406,20 @@ maybe-configure-dosutils:
 @if dosutils
 maybe-configure-dosutils: configure-dosutils
 configure-dosutils:
-       @test ! -f dosutils/Makefile || exit 0; \
-       [ -d dosutils ] || mkdir dosutils; \
+       @test ! -f $(HOST_SUBDIR)/dosutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/dosutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in dosutils; \
-       cd dosutils || exit 1; \
+       cd $(HOST_SUBDIR)/dosutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/dosutils"; \
-           libsrcdir="$$s/dosutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/dosutils"; \
-           libsrcdir="$$s/dosutils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/dosutils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/dosutils"; \
+       libsrcdir="$$s/dosutils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -6647,8 +6435,8 @@ all-dosutils: configure-dosutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd dosutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-dosutils))
+       (cd $(HOST_SUBDIR)/dosutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dosutils))
 @endif dosutils
 
 .PHONY: check-dosutils maybe-check-dosutils
@@ -6670,7 +6458,8 @@ install-dosutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/dosutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif dosutils
 
@@ -6692,7 +6481,7 @@ info-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6718,7 +6507,7 @@ dvi-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6744,7 +6533,7 @@ html-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6770,7 +6559,7 @@ TAGS-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6797,7 +6586,7 @@ install-info-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6823,7 +6612,7 @@ installcheck-dosutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6848,7 +6637,7 @@ mostlyclean-dosutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6873,7 +6662,7 @@ clean-dosutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6898,7 +6687,7 @@ distclean-dosutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6923,7 +6712,7 @@ maintainer-clean-dosutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in dosutils" ; \
-       (cd dosutils && \
+       (cd $(HOST_SUBDIR)/dosutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -6939,24 +6728,20 @@ maybe-configure-etc:
 @if etc
 maybe-configure-etc: configure-etc
 configure-etc:
-       @test ! -f etc/Makefile || exit 0; \
-       [ -d etc ] || mkdir etc; \
+       @test ! -f $(HOST_SUBDIR)/etc/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/etc ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in etc; \
-       cd etc || exit 1; \
+       cd $(HOST_SUBDIR)/etc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/etc"; \
-           libsrcdir="$$s/etc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/etc"; \
-           libsrcdir="$$s/etc";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/etc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/etc"; \
+       libsrcdir="$$s/etc"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -6972,8 +6757,8 @@ all-etc: configure-etc
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd etc && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-etc))
+       (cd $(HOST_SUBDIR)/etc && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-etc))
 @endif etc
 
 .PHONY: check-etc maybe-check-etc
@@ -6986,7 +6771,8 @@ check-etc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd etc && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/etc && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif etc
 
@@ -7000,7 +6786,8 @@ install-etc: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd etc && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/etc && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif etc
 
@@ -7022,7 +6809,7 @@ info-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7048,7 +6835,7 @@ dvi-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7074,7 +6861,7 @@ html-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7100,7 +6887,7 @@ TAGS-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7127,7 +6914,7 @@ install-info-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7153,7 +6940,7 @@ installcheck-etc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7178,7 +6965,7 @@ mostlyclean-etc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7203,7 +6990,7 @@ clean-etc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7228,7 +7015,7 @@ distclean-etc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7253,7 +7040,7 @@ maintainer-clean-etc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in etc" ; \
-       (cd etc && \
+       (cd $(HOST_SUBDIR)/etc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7269,24 +7056,20 @@ maybe-configure-fastjar:
 @if fastjar
 maybe-configure-fastjar: configure-fastjar
 configure-fastjar:
-       @test ! -f fastjar/Makefile || exit 0; \
-       [ -d fastjar ] || mkdir fastjar; \
+       @test ! -f $(HOST_SUBDIR)/fastjar/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fastjar ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in fastjar; \
-       cd fastjar || exit 1; \
+       cd $(HOST_SUBDIR)/fastjar || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/fastjar"; \
-           libsrcdir="$$s/fastjar";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/fastjar"; \
-           libsrcdir="$$s/fastjar";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/fastjar/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/fastjar"; \
+       libsrcdir="$$s/fastjar"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -7302,8 +7085,8 @@ all-fastjar: configure-fastjar
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fastjar && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-fastjar))
+       (cd $(HOST_SUBDIR)/fastjar && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fastjar))
 @endif fastjar
 
 .PHONY: check-fastjar maybe-check-fastjar
@@ -7318,7 +7101,8 @@ check-fastjar:
          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
          $(SET_LIB_PATH) \
          $(HOST_EXPORTS) \
-         (cd fastjar && $(MAKE) $(FLAGS_TO_PASS)  check); \
+         (cd $(HOST_SUBDIR)/fastjar && \
+           $(MAKE) $(FLAGS_TO_PASS)  check); \
        fi
 
 @endif fastjar
@@ -7333,7 +7117,8 @@ install-fastjar: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/fastjar && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif fastjar
 
@@ -7355,7 +7140,7 @@ info-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7381,7 +7166,7 @@ dvi-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7407,7 +7192,7 @@ html-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7433,7 +7218,7 @@ TAGS-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7460,7 +7245,7 @@ install-info-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7486,7 +7271,7 @@ installcheck-fastjar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7511,7 +7296,7 @@ mostlyclean-fastjar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7536,7 +7321,7 @@ clean-fastjar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7561,7 +7346,7 @@ distclean-fastjar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7586,7 +7371,7 @@ maintainer-clean-fastjar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in fastjar" ; \
-       (cd fastjar && \
+       (cd $(HOST_SUBDIR)/fastjar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7602,24 +7387,20 @@ maybe-configure-fileutils:
 @if fileutils
 maybe-configure-fileutils: configure-fileutils
 configure-fileutils:
-       @test ! -f fileutils/Makefile || exit 0; \
-       [ -d fileutils ] || mkdir fileutils; \
+       @test ! -f $(HOST_SUBDIR)/fileutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fileutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in fileutils; \
-       cd fileutils || exit 1; \
+       cd $(HOST_SUBDIR)/fileutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/fileutils"; \
-           libsrcdir="$$s/fileutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/fileutils"; \
-           libsrcdir="$$s/fileutils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/fileutils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/fileutils"; \
+       libsrcdir="$$s/fileutils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -7635,8 +7416,8 @@ all-fileutils: configure-fileutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fileutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-fileutils))
+       (cd $(HOST_SUBDIR)/fileutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fileutils))
 @endif fileutils
 
 .PHONY: check-fileutils maybe-check-fileutils
@@ -7649,7 +7430,8 @@ check-fileutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/fileutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif fileutils
 
@@ -7663,7 +7445,8 @@ install-fileutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/fileutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif fileutils
 
@@ -7685,7 +7468,7 @@ info-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7711,7 +7494,7 @@ dvi-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7737,7 +7520,7 @@ html-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7763,7 +7546,7 @@ TAGS-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7790,7 +7573,7 @@ install-info-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7816,7 +7599,7 @@ installcheck-fileutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7841,7 +7624,7 @@ mostlyclean-fileutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7866,7 +7649,7 @@ clean-fileutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7891,7 +7674,7 @@ distclean-fileutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7916,7 +7699,7 @@ maintainer-clean-fileutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in fileutils" ; \
-       (cd fileutils && \
+       (cd $(HOST_SUBDIR)/fileutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -7932,24 +7715,20 @@ maybe-configure-findutils:
 @if findutils
 maybe-configure-findutils: configure-findutils
 configure-findutils:
-       @test ! -f findutils/Makefile || exit 0; \
-       [ -d findutils ] || mkdir findutils; \
+       @test ! -f $(HOST_SUBDIR)/findutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/findutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in findutils; \
-       cd findutils || exit 1; \
+       cd $(HOST_SUBDIR)/findutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/findutils"; \
-           libsrcdir="$$s/findutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/findutils"; \
-           libsrcdir="$$s/findutils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/findutils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/findutils"; \
+       libsrcdir="$$s/findutils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -7965,8 +7744,8 @@ all-findutils: configure-findutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd findutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-findutils))
+       (cd $(HOST_SUBDIR)/findutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-findutils))
 @endif findutils
 
 .PHONY: check-findutils maybe-check-findutils
@@ -7979,7 +7758,8 @@ check-findutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/findutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif findutils
 
@@ -7993,7 +7773,8 @@ install-findutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/findutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif findutils
 
@@ -8015,7 +7796,7 @@ info-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8041,7 +7822,7 @@ dvi-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8067,7 +7848,7 @@ html-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8093,7 +7874,7 @@ TAGS-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8120,7 +7901,7 @@ install-info-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8146,7 +7927,7 @@ installcheck-findutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8171,7 +7952,7 @@ mostlyclean-findutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8196,7 +7977,7 @@ clean-findutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8221,7 +8002,7 @@ distclean-findutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8246,7 +8027,7 @@ maintainer-clean-findutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in findutils" ; \
-       (cd findutils && \
+       (cd $(HOST_SUBDIR)/findutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8262,24 +8043,20 @@ maybe-configure-find:
 @if find
 maybe-configure-find: configure-find
 configure-find:
-       @test ! -f find/Makefile || exit 0; \
-       [ -d find ] || mkdir find; \
+       @test ! -f $(HOST_SUBDIR)/find/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/find ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in find; \
-       cd find || exit 1; \
+       cd $(HOST_SUBDIR)/find || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/find"; \
-           libsrcdir="$$s/find";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/find"; \
-           libsrcdir="$$s/find";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/find/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/find"; \
+       libsrcdir="$$s/find"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -8295,8 +8072,8 @@ all-find: configure-find
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd find && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-find))
+       (cd $(HOST_SUBDIR)/find && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-find))
 @endif find
 
 .PHONY: check-find maybe-check-find
@@ -8309,7 +8086,8 @@ check-find:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd find && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/find && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif find
 
@@ -8323,7 +8101,8 @@ install-find: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd find && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/find && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif find
 
@@ -8345,7 +8124,7 @@ info-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8371,7 +8150,7 @@ dvi-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8397,7 +8176,7 @@ html-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8423,7 +8202,7 @@ TAGS-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8450,7 +8229,7 @@ install-info-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8476,7 +8255,7 @@ installcheck-find: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8501,7 +8280,7 @@ mostlyclean-find:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8526,7 +8305,7 @@ clean-find:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8551,7 +8330,7 @@ distclean-find:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8576,7 +8355,7 @@ maintainer-clean-find:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in find" ; \
-       (cd find && \
+       (cd $(HOST_SUBDIR)/find && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8592,24 +8371,20 @@ maybe-configure-fixincludes:
 @if fixincludes
 maybe-configure-fixincludes: configure-fixincludes
 configure-fixincludes:
-       @test ! -f fixincludes/Makefile || exit 0; \
-       [ -d fixincludes ] || mkdir fixincludes; \
+       @test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in fixincludes; \
-       cd fixincludes || exit 1; \
+       cd $(HOST_SUBDIR)/fixincludes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/fixincludes"; \
-           libsrcdir="$$s/fixincludes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/fixincludes"; \
-           libsrcdir="$$s/fixincludes";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+       libsrcdir="$$s/fixincludes"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -8625,8 +8400,8 @@ all-fixincludes: configure-fixincludes
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fixincludes && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-fixincludes))
+       (cd $(HOST_SUBDIR)/fixincludes && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fixincludes))
 @endif fixincludes
 
 .PHONY: check-fixincludes maybe-check-fixincludes
@@ -8639,7 +8414,8 @@ check-fixincludes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fixincludes && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/fixincludes && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif fixincludes
 
@@ -8653,7 +8429,8 @@ install-fixincludes: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd fixincludes && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/fixincludes && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif fixincludes
 
@@ -8695,7 +8472,7 @@ html-fixincludes: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in fixincludes" ; \
-       (cd fixincludes && \
+       (cd $(HOST_SUBDIR)/fixincludes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8750,7 +8527,7 @@ mostlyclean-fixincludes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in fixincludes" ; \
-       (cd fixincludes && \
+       (cd $(HOST_SUBDIR)/fixincludes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8775,7 +8552,7 @@ clean-fixincludes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in fixincludes" ; \
-       (cd fixincludes && \
+       (cd $(HOST_SUBDIR)/fixincludes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8800,7 +8577,7 @@ distclean-fixincludes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in fixincludes" ; \
-       (cd fixincludes && \
+       (cd $(HOST_SUBDIR)/fixincludes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8825,7 +8602,7 @@ maintainer-clean-fixincludes:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in fixincludes" ; \
-       (cd fixincludes && \
+       (cd $(HOST_SUBDIR)/fixincludes && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8841,24 +8618,20 @@ maybe-configure-flex:
 @if flex
 maybe-configure-flex: configure-flex
 configure-flex:
-       @test ! -f flex/Makefile || exit 0; \
-       [ -d flex ] || mkdir flex; \
+       @test ! -f $(HOST_SUBDIR)/flex/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/flex ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in flex; \
-       cd flex || exit 1; \
+       cd $(HOST_SUBDIR)/flex || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/flex"; \
-           libsrcdir="$$s/flex";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/flex"; \
-           libsrcdir="$$s/flex";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/flex/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/flex"; \
+       libsrcdir="$$s/flex"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -8874,8 +8647,8 @@ all-flex: configure-flex
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd flex && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-flex))
+       (cd $(HOST_SUBDIR)/flex && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-flex))
 @endif flex
 
 .PHONY: check-flex maybe-check-flex
@@ -8890,7 +8663,8 @@ check-flex:
          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
          $(SET_LIB_PATH) \
          $(HOST_EXPORTS) \
-         (cd flex && $(MAKE) $(FLAGS_TO_PASS)  check); \
+         (cd $(HOST_SUBDIR)/flex && \
+           $(MAKE) $(FLAGS_TO_PASS)  check); \
        fi
 
 @endif flex
@@ -8905,7 +8679,8 @@ install-flex: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd flex && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/flex && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif flex
 
@@ -8927,7 +8702,7 @@ info-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8953,7 +8728,7 @@ dvi-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -8979,7 +8754,7 @@ html-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9005,7 +8780,7 @@ TAGS-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9032,7 +8807,7 @@ install-info-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9058,7 +8833,7 @@ installcheck-flex: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9083,7 +8858,7 @@ mostlyclean-flex:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9108,7 +8883,7 @@ clean-flex:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9133,7 +8908,7 @@ distclean-flex:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9158,7 +8933,7 @@ maintainer-clean-flex:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in flex" ; \
-       (cd flex && \
+       (cd $(HOST_SUBDIR)/flex && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9175,24 +8950,20 @@ maybe-configure-gas:
 maybe-configure-gas: configure-gas
 configure-gas:
        @test -f stage_last && exit 0; \
-       test ! -f gas/Makefile || exit 0; \
-       [ -d gas ] || mkdir gas; \
+       test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gas; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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}  \
          || exit 1
@@ -9209,8 +8980,8 @@ all-gas: configure-gas
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gas && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gas))
+       (cd $(HOST_SUBDIR)/gas && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gas))
 @endif gas
 
 .PHONY: check-gas maybe-check-gas
@@ -9223,7 +8994,8 @@ check-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gas && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gas && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gas
 
@@ -9237,7 +9009,8 @@ install-gas: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gas && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gas && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gas
 
@@ -9259,7 +9032,7 @@ info-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9285,7 +9058,7 @@ dvi-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9311,7 +9084,7 @@ html-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9337,7 +9110,7 @@ TAGS-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9364,7 +9137,7 @@ install-info-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9390,7 +9163,7 @@ installcheck-gas: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9415,7 +9188,7 @@ mostlyclean-gas:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9440,7 +9213,7 @@ clean-gas:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9465,7 +9238,7 @@ distclean-gas:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9490,7 +9263,7 @@ maintainer-clean-gas:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gas" ; \
-       (cd gas && \
+       (cd $(HOST_SUBDIR)/gas && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9507,24 +9280,20 @@ maybe-configure-gcc:
 maybe-configure-gcc: configure-gcc
 configure-gcc:
        @test -f stage_last && exit 0; \
-       test ! -f gcc/Makefile || exit 0; \
-       [ -d gcc ] || mkdir gcc; \
+       test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gcc; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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}  \
          || exit 1
@@ -9541,8 +9310,8 @@ all-gcc: configure-gcc
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gcc && $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
-         $(TARGET-gcc))
+       (cd $(HOST_SUBDIR)/gcc && \
+         $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(TARGET-gcc))
 @endif gcc
 
 .PHONY: check-gcc maybe-check-gcc
@@ -9555,7 +9324,8 @@ check-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gcc && $(MAKE) $(FLAGS_TO_PASS)$(EXTRA_GCC_FLAGS) check)
+       (cd $(HOST_SUBDIR)/gcc && \
+         $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) check)
 
 @endif gcc
 
@@ -9569,7 +9339,8 @@ install-gcc: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gcc && $(MAKE) $(FLAGS_TO_PASS)$(EXTRA_GCC_FLAGS) install)
+       (cd $(HOST_SUBDIR)/gcc && \
+         $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) install)
 
 @endif gcc
 
@@ -9591,7 +9362,7 @@ info-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9617,7 +9388,7 @@ dvi-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9643,7 +9414,7 @@ html-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9669,7 +9440,7 @@ TAGS-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9696,7 +9467,7 @@ install-info-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9722,7 +9493,7 @@ installcheck-gcc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9747,7 +9518,7 @@ mostlyclean-gcc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9772,7 +9543,7 @@ clean-gcc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9797,7 +9568,7 @@ distclean-gcc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9822,7 +9593,7 @@ maintainer-clean-gcc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gcc" ; \
-       (cd gcc && \
+       (cd $(HOST_SUBDIR)/gcc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9838,24 +9609,20 @@ maybe-configure-gawk:
 @if gawk
 maybe-configure-gawk: configure-gawk
 configure-gawk:
-       @test ! -f gawk/Makefile || exit 0; \
-       [ -d gawk ] || mkdir gawk; \
+       @test ! -f $(HOST_SUBDIR)/gawk/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gawk ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gawk; \
-       cd gawk || exit 1; \
+       cd $(HOST_SUBDIR)/gawk || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gawk"; \
-           libsrcdir="$$s/gawk";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gawk"; \
-           libsrcdir="$$s/gawk";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gawk/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gawk"; \
+       libsrcdir="$$s/gawk"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -9871,8 +9638,8 @@ all-gawk: configure-gawk
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gawk && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gawk))
+       (cd $(HOST_SUBDIR)/gawk && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gawk))
 @endif gawk
 
 .PHONY: check-gawk maybe-check-gawk
@@ -9885,7 +9652,8 @@ check-gawk:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gawk && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gawk
 
@@ -9899,7 +9667,8 @@ install-gawk: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gawk && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gawk
 
@@ -9921,7 +9690,7 @@ info-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9947,7 +9716,7 @@ dvi-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9973,7 +9742,7 @@ html-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -9999,7 +9768,7 @@ TAGS-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10026,7 +9795,7 @@ install-info-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10052,7 +9821,7 @@ installcheck-gawk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10077,7 +9846,7 @@ mostlyclean-gawk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10102,7 +9871,7 @@ clean-gawk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10127,7 +9896,7 @@ distclean-gawk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10152,7 +9921,7 @@ maintainer-clean-gawk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gawk" ; \
-       (cd gawk && \
+       (cd $(HOST_SUBDIR)/gawk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10168,24 +9937,20 @@ maybe-configure-gettext:
 @if gettext
 maybe-configure-gettext: configure-gettext
 configure-gettext:
-       @test ! -f gettext/Makefile || exit 0; \
-       [ -d gettext ] || mkdir gettext; \
+       @test ! -f $(HOST_SUBDIR)/gettext/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gettext ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gettext; \
-       cd gettext || exit 1; \
+       cd $(HOST_SUBDIR)/gettext || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gettext"; \
-           libsrcdir="$$s/gettext";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gettext"; \
-           libsrcdir="$$s/gettext";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gettext/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gettext"; \
+       libsrcdir="$$s/gettext"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -10201,8 +9966,8 @@ all-gettext: configure-gettext
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gettext && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gettext))
+       (cd $(HOST_SUBDIR)/gettext && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gettext))
 @endif gettext
 
 .PHONY: check-gettext maybe-check-gettext
@@ -10215,7 +9980,8 @@ check-gettext:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gettext && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gettext
 
@@ -10229,7 +9995,8 @@ install-gettext: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gettext && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gettext
 
@@ -10251,7 +10018,7 @@ info-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10277,7 +10044,7 @@ dvi-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10303,7 +10070,7 @@ html-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10329,7 +10096,7 @@ TAGS-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10356,7 +10123,7 @@ install-info-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10382,7 +10149,7 @@ installcheck-gettext: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10407,7 +10174,7 @@ mostlyclean-gettext:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10432,7 +10199,7 @@ clean-gettext:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10457,7 +10224,7 @@ distclean-gettext:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10482,7 +10249,7 @@ maintainer-clean-gettext:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gettext" ; \
-       (cd gettext && \
+       (cd $(HOST_SUBDIR)/gettext && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10498,24 +10265,20 @@ maybe-configure-gnuserv:
 @if gnuserv
 maybe-configure-gnuserv: configure-gnuserv
 configure-gnuserv:
-       @test ! -f gnuserv/Makefile || exit 0; \
-       [ -d gnuserv ] || mkdir gnuserv; \
+       @test ! -f $(HOST_SUBDIR)/gnuserv/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gnuserv ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gnuserv; \
-       cd gnuserv || exit 1; \
+       cd $(HOST_SUBDIR)/gnuserv || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gnuserv"; \
-           libsrcdir="$$s/gnuserv";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \
-           libsrcdir="$$s/gnuserv";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gnuserv/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gnuserv"; \
+       libsrcdir="$$s/gnuserv"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -10531,8 +10294,8 @@ all-gnuserv: configure-gnuserv
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gnuserv))
+       (cd $(HOST_SUBDIR)/gnuserv && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnuserv))
 @endif gnuserv
 
 .PHONY: check-gnuserv maybe-check-gnuserv
@@ -10545,7 +10308,8 @@ check-gnuserv:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gnuserv && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gnuserv
 
@@ -10559,7 +10323,8 @@ install-gnuserv: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gnuserv && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gnuserv
 
@@ -10581,7 +10346,7 @@ info-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10607,7 +10372,7 @@ dvi-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10633,7 +10398,7 @@ html-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10659,7 +10424,7 @@ TAGS-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10686,7 +10451,7 @@ install-info-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10712,7 +10477,7 @@ installcheck-gnuserv: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10737,7 +10502,7 @@ mostlyclean-gnuserv:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10762,7 +10527,7 @@ clean-gnuserv:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10787,7 +10552,7 @@ distclean-gnuserv:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10812,7 +10577,7 @@ maintainer-clean-gnuserv:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gnuserv" ; \
-       (cd gnuserv && \
+       (cd $(HOST_SUBDIR)/gnuserv && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10828,24 +10593,20 @@ maybe-configure-gprof:
 @if gprof
 maybe-configure-gprof: configure-gprof
 configure-gprof:
-       @test ! -f gprof/Makefile || exit 0; \
-       [ -d gprof ] || mkdir gprof; \
+       @test ! -f $(HOST_SUBDIR)/gprof/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gprof ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gprof; \
-       cd gprof || exit 1; \
+       cd $(HOST_SUBDIR)/gprof || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gprof"; \
-           libsrcdir="$$s/gprof";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gprof"; \
-           libsrcdir="$$s/gprof";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gprof/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gprof"; \
+       libsrcdir="$$s/gprof"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -10861,8 +10622,8 @@ all-gprof: configure-gprof
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gprof && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gprof))
+       (cd $(HOST_SUBDIR)/gprof && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gprof))
 @endif gprof
 
 .PHONY: check-gprof maybe-check-gprof
@@ -10875,7 +10636,8 @@ check-gprof:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gprof && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gprof
 
@@ -10889,7 +10651,8 @@ install-gprof: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gprof && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gprof
 
@@ -10911,7 +10674,7 @@ info-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10937,7 +10700,7 @@ dvi-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10963,7 +10726,7 @@ html-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -10989,7 +10752,7 @@ TAGS-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11016,7 +10779,7 @@ install-info-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11042,7 +10805,7 @@ installcheck-gprof: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11067,7 +10830,7 @@ mostlyclean-gprof:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11092,7 +10855,7 @@ clean-gprof:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11117,7 +10880,7 @@ distclean-gprof:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11142,7 +10905,7 @@ maintainer-clean-gprof:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gprof" ; \
-       (cd gprof && \
+       (cd $(HOST_SUBDIR)/gprof && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11158,24 +10921,20 @@ maybe-configure-gzip:
 @if gzip
 maybe-configure-gzip: configure-gzip
 configure-gzip:
-       @test ! -f gzip/Makefile || exit 0; \
-       [ -d gzip ] || mkdir gzip; \
+       @test ! -f $(HOST_SUBDIR)/gzip/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gzip ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gzip; \
-       cd gzip || exit 1; \
+       cd $(HOST_SUBDIR)/gzip || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gzip"; \
-           libsrcdir="$$s/gzip";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gzip"; \
-           libsrcdir="$$s/gzip";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gzip/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gzip"; \
+       libsrcdir="$$s/gzip"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -11191,8 +10950,8 @@ all-gzip: configure-gzip
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gzip && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gzip))
+       (cd $(HOST_SUBDIR)/gzip && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gzip))
 @endif gzip
 
 .PHONY: check-gzip maybe-check-gzip
@@ -11205,7 +10964,8 @@ check-gzip:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gzip && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gzip
 
@@ -11219,7 +10979,8 @@ install-gzip: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gzip && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gzip
 
@@ -11241,7 +11002,7 @@ info-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11267,7 +11028,7 @@ dvi-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11293,7 +11054,7 @@ html-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11319,7 +11080,7 @@ TAGS-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11346,7 +11107,7 @@ install-info-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11372,7 +11133,7 @@ installcheck-gzip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11397,7 +11158,7 @@ mostlyclean-gzip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11422,7 +11183,7 @@ clean-gzip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11447,7 +11208,7 @@ distclean-gzip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11472,7 +11233,7 @@ maintainer-clean-gzip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gzip" ; \
-       (cd gzip && \
+       (cd $(HOST_SUBDIR)/gzip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11488,24 +11249,20 @@ maybe-configure-hello:
 @if hello
 maybe-configure-hello: configure-hello
 configure-hello:
-       @test ! -f hello/Makefile || exit 0; \
-       [ -d hello ] || mkdir hello; \
+       @test ! -f $(HOST_SUBDIR)/hello/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/hello ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in hello; \
-       cd hello || exit 1; \
+       cd $(HOST_SUBDIR)/hello || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/hello"; \
-           libsrcdir="$$s/hello";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/hello"; \
-           libsrcdir="$$s/hello";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/hello/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/hello"; \
+       libsrcdir="$$s/hello"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -11521,8 +11278,8 @@ all-hello: configure-hello
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd hello && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-hello))
+       (cd $(HOST_SUBDIR)/hello && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-hello))
 @endif hello
 
 .PHONY: check-hello maybe-check-hello
@@ -11535,7 +11292,8 @@ check-hello:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd hello && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/hello && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif hello
 
@@ -11549,7 +11307,8 @@ install-hello: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd hello && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/hello && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif hello
 
@@ -11571,7 +11330,7 @@ info-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11597,7 +11356,7 @@ dvi-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11623,7 +11382,7 @@ html-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11649,7 +11408,7 @@ TAGS-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11676,7 +11435,7 @@ install-info-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11702,7 +11461,7 @@ installcheck-hello: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11727,7 +11486,7 @@ mostlyclean-hello:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11752,7 +11511,7 @@ clean-hello:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11777,7 +11536,7 @@ distclean-hello:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11802,7 +11561,7 @@ maintainer-clean-hello:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in hello" ; \
-       (cd hello && \
+       (cd $(HOST_SUBDIR)/hello && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11818,24 +11577,20 @@ maybe-configure-indent:
 @if indent
 maybe-configure-indent: configure-indent
 configure-indent:
-       @test ! -f indent/Makefile || exit 0; \
-       [ -d indent ] || mkdir indent; \
+       @test ! -f $(HOST_SUBDIR)/indent/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/indent ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in indent; \
-       cd indent || exit 1; \
+       cd $(HOST_SUBDIR)/indent || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/indent"; \
-           libsrcdir="$$s/indent";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/indent"; \
-           libsrcdir="$$s/indent";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/indent/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/indent"; \
+       libsrcdir="$$s/indent"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -11851,8 +11606,8 @@ all-indent: configure-indent
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd indent && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-indent))
+       (cd $(HOST_SUBDIR)/indent && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-indent))
 @endif indent
 
 .PHONY: check-indent maybe-check-indent
@@ -11865,7 +11620,8 @@ check-indent:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd indent && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/indent && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif indent
 
@@ -11879,7 +11635,8 @@ install-indent: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd indent && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/indent && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif indent
 
@@ -11901,7 +11658,7 @@ info-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11927,7 +11684,7 @@ dvi-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11953,7 +11710,7 @@ html-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -11979,7 +11736,7 @@ TAGS-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12006,7 +11763,7 @@ install-info-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12032,7 +11789,7 @@ installcheck-indent: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12057,7 +11814,7 @@ mostlyclean-indent:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12082,7 +11839,7 @@ clean-indent:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12107,7 +11864,7 @@ distclean-indent:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12132,7 +11889,7 @@ maintainer-clean-indent:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in indent" ; \
-       (cd indent && \
+       (cd $(HOST_SUBDIR)/indent && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12149,24 +11906,20 @@ maybe-configure-intl:
 maybe-configure-intl: configure-intl
 configure-intl:
        @test -f stage_last && exit 0; \
-       test ! -f intl/Makefile || exit 0; \
-       [ -d intl ] || mkdir intl; \
+       test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in intl; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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}  \
          || exit 1
@@ -12183,8 +11936,8 @@ all-intl: configure-intl
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd intl && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-intl))
+       (cd $(HOST_SUBDIR)/intl && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-intl))
 @endif intl
 
 .PHONY: check-intl maybe-check-intl
@@ -12197,7 +11950,8 @@ check-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd intl && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/intl && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif intl
 
@@ -12211,7 +11965,8 @@ install-intl: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd intl && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/intl && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif intl
 
@@ -12233,7 +11988,7 @@ info-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12259,7 +12014,7 @@ dvi-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12285,7 +12040,7 @@ html-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12311,7 +12066,7 @@ TAGS-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12338,7 +12093,7 @@ install-info-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12364,7 +12119,7 @@ installcheck-intl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12389,7 +12144,7 @@ mostlyclean-intl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12414,7 +12169,7 @@ clean-intl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12439,7 +12194,7 @@ distclean-intl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12464,7 +12219,7 @@ maintainer-clean-intl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in intl" ; \
-       (cd intl && \
+       (cd $(HOST_SUBDIR)/intl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12480,24 +12235,20 @@ maybe-configure-tcl:
 @if tcl
 maybe-configure-tcl: configure-tcl
 configure-tcl:
-       @test ! -f tcl/Makefile || exit 0; \
-       [ -d tcl ] || mkdir tcl; \
+       @test ! -f $(HOST_SUBDIR)/tcl/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tcl ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in tcl; \
-       cd tcl || exit 1; \
+       cd $(HOST_SUBDIR)/tcl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/tcl"; \
-           libsrcdir="$$s/tcl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/tcl"; \
-           libsrcdir="$$s/tcl";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/tcl/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/tcl"; \
+       libsrcdir="$$s/tcl"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -12513,8 +12264,8 @@ all-tcl: configure-tcl
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tcl && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-tcl))
+       (cd $(HOST_SUBDIR)/tcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tcl))
 @endif tcl
 
 .PHONY: check-tcl maybe-check-tcl
@@ -12527,7 +12278,8 @@ check-tcl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/tcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif tcl
 
@@ -12541,7 +12293,8 @@ install-tcl: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/tcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif tcl
 
@@ -12563,7 +12316,7 @@ info-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12589,7 +12342,7 @@ dvi-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12615,7 +12368,7 @@ html-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12641,7 +12394,7 @@ TAGS-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12668,7 +12421,7 @@ install-info-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12694,7 +12447,7 @@ installcheck-tcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12729,7 +12482,7 @@ clean-tcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12754,7 +12507,7 @@ distclean-tcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12779,7 +12532,7 @@ maintainer-clean-tcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in tcl" ; \
-       (cd tcl && \
+       (cd $(HOST_SUBDIR)/tcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12795,24 +12548,20 @@ maybe-configure-itcl:
 @if itcl
 maybe-configure-itcl: configure-itcl
 configure-itcl:
-       @test ! -f itcl/Makefile || exit 0; \
-       [ -d itcl ] || mkdir itcl; \
+       @test ! -f $(HOST_SUBDIR)/itcl/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/itcl ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in itcl; \
-       cd itcl || exit 1; \
+       cd $(HOST_SUBDIR)/itcl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/itcl"; \
-           libsrcdir="$$s/itcl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/itcl"; \
-           libsrcdir="$$s/itcl";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/itcl/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/itcl"; \
+       libsrcdir="$$s/itcl"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -12828,8 +12577,8 @@ all-itcl: configure-itcl
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd itcl && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-itcl))
+       (cd $(HOST_SUBDIR)/itcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-itcl))
 @endif itcl
 
 .PHONY: check-itcl maybe-check-itcl
@@ -12842,7 +12591,8 @@ check-itcl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/itcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif itcl
 
@@ -12856,7 +12606,8 @@ install-itcl: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/itcl && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif itcl
 
@@ -12878,7 +12629,7 @@ info-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12904,7 +12655,7 @@ dvi-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12930,7 +12681,7 @@ html-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12956,7 +12707,7 @@ TAGS-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -12983,7 +12734,7 @@ install-info-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13009,7 +12760,7 @@ installcheck-itcl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13034,7 +12785,7 @@ mostlyclean-itcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13059,7 +12810,7 @@ clean-itcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13084,7 +12835,7 @@ distclean-itcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13109,7 +12860,7 @@ maintainer-clean-itcl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in itcl" ; \
-       (cd itcl && \
+       (cd $(HOST_SUBDIR)/itcl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13126,24 +12877,20 @@ maybe-configure-ld:
 maybe-configure-ld: configure-ld
 configure-ld:
        @test -f stage_last && exit 0; \
-       test ! -f ld/Makefile || exit 0; \
-       [ -d ld ] || mkdir ld; \
+       test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in ld; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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}  \
          || exit 1
@@ -13160,8 +12907,8 @@ all-ld: configure-ld
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ld && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-ld))
+       (cd $(HOST_SUBDIR)/ld && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ld))
 @endif ld
 
 .PHONY: check-ld maybe-check-ld
@@ -13174,7 +12921,8 @@ check-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ld && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/ld && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif ld
 
@@ -13188,7 +12936,8 @@ install-ld: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd ld && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/ld && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif ld
 
@@ -13210,7 +12959,7 @@ info-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13236,7 +12985,7 @@ dvi-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13262,7 +13011,7 @@ html-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13288,7 +13037,7 @@ TAGS-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13315,7 +13064,7 @@ install-info-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13341,7 +13090,7 @@ installcheck-ld: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13366,7 +13115,7 @@ mostlyclean-ld:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13391,7 +13140,7 @@ clean-ld:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13416,7 +13165,7 @@ distclean-ld:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13441,7 +13190,7 @@ maintainer-clean-ld:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in ld" ; \
-       (cd ld && \
+       (cd $(HOST_SUBDIR)/ld && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13458,24 +13207,20 @@ maybe-configure-libcpp:
 maybe-configure-libcpp: configure-libcpp
 configure-libcpp:
        @test -f stage_last && exit 0; \
-       test ! -f libcpp/Makefile || exit 0; \
-       [ -d libcpp ] || mkdir libcpp; \
+       test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in libcpp; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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}  \
          || exit 1
@@ -13492,8 +13237,8 @@ all-libcpp: configure-libcpp
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libcpp && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-libcpp))
+       (cd $(HOST_SUBDIR)/libcpp && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libcpp))
 @endif libcpp
 
 .PHONY: check-libcpp maybe-check-libcpp
@@ -13506,7 +13251,8 @@ check-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/libcpp && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif libcpp
 
@@ -13520,7 +13266,8 @@ install-libcpp: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/libcpp && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libcpp
 
@@ -13542,7 +13289,7 @@ info-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13568,7 +13315,7 @@ dvi-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13594,7 +13341,7 @@ html-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13620,7 +13367,7 @@ TAGS-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13647,7 +13394,7 @@ install-info-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13673,7 +13420,7 @@ installcheck-libcpp: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13698,7 +13445,7 @@ mostlyclean-libcpp:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13723,7 +13470,7 @@ clean-libcpp:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13748,7 +13495,7 @@ distclean-libcpp:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13773,7 +13520,7 @@ maintainer-clean-libcpp:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in libcpp" ; \
-       (cd libcpp && \
+       (cd $(HOST_SUBDIR)/libcpp && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13789,24 +13536,20 @@ maybe-configure-libgui:
 @if libgui
 maybe-configure-libgui: configure-libgui
 configure-libgui:
-       @test ! -f libgui/Makefile || exit 0; \
-       [ -d libgui ] || mkdir libgui; \
+       @test ! -f $(HOST_SUBDIR)/libgui/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgui ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in libgui; \
-       cd libgui || exit 1; \
+       cd $(HOST_SUBDIR)/libgui || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libgui"; \
-           libsrcdir="$$s/libgui";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libgui"; \
-           libsrcdir="$$s/libgui";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/libgui/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/libgui"; \
+       libsrcdir="$$s/libgui"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -13822,8 +13565,8 @@ all-libgui: configure-libgui
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libgui && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-libgui))
+       (cd $(HOST_SUBDIR)/libgui && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libgui))
 @endif libgui
 
 .PHONY: check-libgui maybe-check-libgui
@@ -13836,7 +13579,8 @@ check-libgui:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/libgui && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif libgui
 
@@ -13850,7 +13594,8 @@ install-libgui: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/libgui && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libgui
 
@@ -13872,7 +13617,7 @@ info-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13898,7 +13643,7 @@ dvi-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13924,7 +13669,7 @@ html-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13950,7 +13695,7 @@ TAGS-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -13977,7 +13722,7 @@ install-info-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14003,7 +13748,7 @@ installcheck-libgui: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14028,7 +13773,7 @@ mostlyclean-libgui:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14053,7 +13798,7 @@ clean-libgui:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14078,7 +13823,7 @@ distclean-libgui:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14103,7 +13848,7 @@ maintainer-clean-libgui:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in libgui" ; \
-       (cd libgui && \
+       (cd $(HOST_SUBDIR)/libgui && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14120,24 +13865,20 @@ maybe-configure-libiberty:
 maybe-configure-libiberty: configure-libiberty
 configure-libiberty:
        @test -f stage_last && exit 0; \
-       test ! -f libiberty/Makefile || exit 0; \
-       [ -d libiberty ] || mkdir libiberty; \
+       test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in libiberty; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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}  \
          || exit 1
@@ -14154,8 +13895,8 @@ all-libiberty: configure-libiberty
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libiberty && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-libiberty))
+       (cd $(HOST_SUBDIR)/libiberty && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libiberty))
 @endif libiberty
 
 .PHONY: check-libiberty maybe-check-libiberty
@@ -14168,7 +13909,8 @@ check-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/libiberty && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif libiberty
 
@@ -14182,7 +13924,8 @@ install-libiberty: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/libiberty && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libiberty
 
@@ -14204,7 +13947,7 @@ info-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14230,7 +13973,7 @@ dvi-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14256,7 +13999,7 @@ html-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14282,7 +14025,7 @@ TAGS-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14309,7 +14052,7 @@ install-info-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14335,7 +14078,7 @@ installcheck-libiberty: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14360,7 +14103,7 @@ mostlyclean-libiberty:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14385,7 +14128,7 @@ clean-libiberty:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14410,7 +14153,7 @@ distclean-libiberty:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14435,7 +14178,7 @@ maintainer-clean-libiberty:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in libiberty" ; \
-       (cd libiberty && \
+       (cd $(HOST_SUBDIR)/libiberty && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14451,24 +14194,20 @@ maybe-configure-libtool:
 @if libtool
 maybe-configure-libtool: configure-libtool
 configure-libtool:
-       @test ! -f libtool/Makefile || exit 0; \
-       [ -d libtool ] || mkdir libtool; \
+       @test ! -f $(HOST_SUBDIR)/libtool/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libtool ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in libtool; \
-       cd libtool || exit 1; \
+       cd $(HOST_SUBDIR)/libtool || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libtool"; \
-           libsrcdir="$$s/libtool";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libtool"; \
-           libsrcdir="$$s/libtool";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/libtool/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/libtool"; \
+       libsrcdir="$$s/libtool"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -14484,8 +14223,8 @@ all-libtool: configure-libtool
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libtool && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-libtool))
+       (cd $(HOST_SUBDIR)/libtool && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtool))
 @endif libtool
 
 .PHONY: check-libtool maybe-check-libtool
@@ -14498,7 +14237,8 @@ check-libtool:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/libtool && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif libtool
 
@@ -14512,7 +14252,8 @@ install-libtool: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/libtool && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libtool
 
@@ -14534,7 +14275,7 @@ info-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14560,7 +14301,7 @@ dvi-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14586,7 +14327,7 @@ html-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14612,7 +14353,7 @@ TAGS-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14639,7 +14380,7 @@ install-info-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14665,7 +14406,7 @@ installcheck-libtool: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14690,7 +14431,7 @@ mostlyclean-libtool:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14715,7 +14456,7 @@ clean-libtool:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14740,7 +14481,7 @@ distclean-libtool:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14765,7 +14506,7 @@ maintainer-clean-libtool:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in libtool" ; \
-       (cd libtool && \
+       (cd $(HOST_SUBDIR)/libtool && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14781,24 +14522,20 @@ maybe-configure-m4:
 @if m4
 maybe-configure-m4: configure-m4
 configure-m4:
-       @test ! -f m4/Makefile || exit 0; \
-       [ -d m4 ] || mkdir m4; \
+       @test ! -f $(HOST_SUBDIR)/m4/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/m4 ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in m4; \
-       cd m4 || exit 1; \
+       cd $(HOST_SUBDIR)/m4 || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/m4"; \
-           libsrcdir="$$s/m4";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/m4"; \
-           libsrcdir="$$s/m4";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/m4/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/m4"; \
+       libsrcdir="$$s/m4"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -14814,8 +14551,8 @@ all-m4: configure-m4
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd m4 && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-m4))
+       (cd $(HOST_SUBDIR)/m4 && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-m4))
 @endif m4
 
 .PHONY: check-m4 maybe-check-m4
@@ -14828,7 +14565,8 @@ check-m4:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/m4 && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif m4
 
@@ -14842,7 +14580,8 @@ install-m4: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/m4 && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif m4
 
@@ -14864,7 +14603,7 @@ info-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14890,7 +14629,7 @@ dvi-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14916,7 +14655,7 @@ html-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14942,7 +14681,7 @@ TAGS-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14969,7 +14708,7 @@ install-info-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -14995,7 +14734,7 @@ installcheck-m4: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15020,7 +14759,7 @@ mostlyclean-m4:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15045,7 +14784,7 @@ clean-m4:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15070,7 +14809,7 @@ distclean-m4:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15095,7 +14834,7 @@ maintainer-clean-m4:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in m4" ; \
-       (cd m4 && \
+       (cd $(HOST_SUBDIR)/m4 && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15111,24 +14850,20 @@ maybe-configure-make:
 @if make
 maybe-configure-make: configure-make
 configure-make:
-       @test ! -f make/Makefile || exit 0; \
-       [ -d make ] || mkdir make; \
+       @test ! -f $(HOST_SUBDIR)/make/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/make ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in make; \
-       cd make || exit 1; \
+       cd $(HOST_SUBDIR)/make || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/make"; \
-           libsrcdir="$$s/make";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/make"; \
-           libsrcdir="$$s/make";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/make/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/make"; \
+       libsrcdir="$$s/make"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -15144,8 +14879,8 @@ all-make: configure-make
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd make && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-make))
+       (cd $(HOST_SUBDIR)/make && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-make))
 @endif make
 
 .PHONY: check-make maybe-check-make
@@ -15158,7 +14893,8 @@ check-make:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd make && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/make && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif make
 
@@ -15172,7 +14908,8 @@ install-make: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd make && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/make && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif make
 
@@ -15194,7 +14931,7 @@ info-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15220,7 +14957,7 @@ dvi-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15246,7 +14983,7 @@ html-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15272,7 +15009,7 @@ TAGS-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15299,7 +15036,7 @@ install-info-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15325,7 +15062,7 @@ installcheck-make: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15350,7 +15087,7 @@ mostlyclean-make:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15375,7 +15112,7 @@ clean-make:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15400,7 +15137,7 @@ distclean-make:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15425,7 +15162,7 @@ maintainer-clean-make:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in make" ; \
-       (cd make && \
+       (cd $(HOST_SUBDIR)/make && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15441,24 +15178,20 @@ maybe-configure-mmalloc:
 @if mmalloc
 maybe-configure-mmalloc: configure-mmalloc
 configure-mmalloc:
-       @test ! -f mmalloc/Makefile || exit 0; \
-       [ -d mmalloc ] || mkdir mmalloc; \
+       @test ! -f $(HOST_SUBDIR)/mmalloc/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mmalloc ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in mmalloc; \
-       cd mmalloc || exit 1; \
+       cd $(HOST_SUBDIR)/mmalloc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/mmalloc"; \
-           libsrcdir="$$s/mmalloc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \
-           libsrcdir="$$s/mmalloc";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/mmalloc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/mmalloc"; \
+       libsrcdir="$$s/mmalloc"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -15474,8 +15207,8 @@ all-mmalloc: configure-mmalloc
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-mmalloc))
+       (cd $(HOST_SUBDIR)/mmalloc && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-mmalloc))
 @endif mmalloc
 
 .PHONY: check-mmalloc maybe-check-mmalloc
@@ -15497,7 +15230,8 @@ install-mmalloc: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/mmalloc && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif mmalloc
 
@@ -15519,7 +15253,7 @@ info-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15545,7 +15279,7 @@ dvi-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15571,7 +15305,7 @@ html-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15597,7 +15331,7 @@ TAGS-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15624,7 +15358,7 @@ install-info-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15650,7 +15384,7 @@ installcheck-mmalloc: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15675,7 +15409,7 @@ mostlyclean-mmalloc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15700,7 +15434,7 @@ clean-mmalloc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15725,7 +15459,7 @@ distclean-mmalloc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15750,7 +15484,7 @@ maintainer-clean-mmalloc:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in mmalloc" ; \
-       (cd mmalloc && \
+       (cd $(HOST_SUBDIR)/mmalloc && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15766,24 +15500,20 @@ maybe-configure-patch:
 @if patch
 maybe-configure-patch: configure-patch
 configure-patch:
-       @test ! -f patch/Makefile || exit 0; \
-       [ -d patch ] || mkdir patch; \
+       @test ! -f $(HOST_SUBDIR)/patch/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/patch ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in patch; \
-       cd patch || exit 1; \
+       cd $(HOST_SUBDIR)/patch || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/patch"; \
-           libsrcdir="$$s/patch";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/patch"; \
-           libsrcdir="$$s/patch";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/patch/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/patch"; \
+       libsrcdir="$$s/patch"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -15799,8 +15529,8 @@ all-patch: configure-patch
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd patch && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-patch))
+       (cd $(HOST_SUBDIR)/patch && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-patch))
 @endif patch
 
 .PHONY: check-patch maybe-check-patch
@@ -15813,7 +15543,8 @@ check-patch:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd patch && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/patch && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif patch
 
@@ -15827,7 +15558,8 @@ install-patch: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd patch && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/patch && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif patch
 
@@ -15849,7 +15581,7 @@ info-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15875,7 +15607,7 @@ dvi-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15901,7 +15633,7 @@ html-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15927,7 +15659,7 @@ TAGS-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15954,7 +15686,7 @@ install-info-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -15980,7 +15712,7 @@ installcheck-patch: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16005,7 +15737,7 @@ mostlyclean-patch:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16030,7 +15762,7 @@ clean-patch:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16055,7 +15787,7 @@ distclean-patch:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16080,7 +15812,7 @@ maintainer-clean-patch:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in patch" ; \
-       (cd patch && \
+       (cd $(HOST_SUBDIR)/patch && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16096,24 +15828,20 @@ maybe-configure-perl:
 @if perl
 maybe-configure-perl: configure-perl
 configure-perl:
-       @test ! -f perl/Makefile || exit 0; \
-       [ -d perl ] || mkdir perl; \
+       @test ! -f $(HOST_SUBDIR)/perl/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/perl ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in perl; \
-       cd perl || exit 1; \
+       cd $(HOST_SUBDIR)/perl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/perl"; \
-           libsrcdir="$$s/perl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/perl"; \
-           libsrcdir="$$s/perl";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/perl/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/perl"; \
+       libsrcdir="$$s/perl"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -16129,8 +15857,8 @@ all-perl: configure-perl
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd perl && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-perl))
+       (cd $(HOST_SUBDIR)/perl && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-perl))
 @endif perl
 
 .PHONY: check-perl maybe-check-perl
@@ -16143,7 +15871,8 @@ check-perl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd perl && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/perl && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif perl
 
@@ -16157,7 +15886,8 @@ install-perl: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd perl && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/perl && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif perl
 
@@ -16179,7 +15909,7 @@ info-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16205,7 +15935,7 @@ dvi-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16231,7 +15961,7 @@ html-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16257,7 +15987,7 @@ TAGS-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16284,7 +16014,7 @@ install-info-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16310,7 +16040,7 @@ installcheck-perl: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16335,7 +16065,7 @@ mostlyclean-perl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16360,7 +16090,7 @@ clean-perl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16385,7 +16115,7 @@ distclean-perl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16410,7 +16140,7 @@ maintainer-clean-perl:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in perl" ; \
-       (cd perl && \
+       (cd $(HOST_SUBDIR)/perl && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16426,24 +16156,20 @@ maybe-configure-prms:
 @if prms
 maybe-configure-prms: configure-prms
 configure-prms:
-       @test ! -f prms/Makefile || exit 0; \
-       [ -d prms ] || mkdir prms; \
+       @test ! -f $(HOST_SUBDIR)/prms/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/prms ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in prms; \
-       cd prms || exit 1; \
+       cd $(HOST_SUBDIR)/prms || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/prms"; \
-           libsrcdir="$$s/prms";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/prms"; \
-           libsrcdir="$$s/prms";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/prms/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/prms"; \
+       libsrcdir="$$s/prms"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -16459,8 +16185,8 @@ all-prms: configure-prms
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd prms && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-prms))
+       (cd $(HOST_SUBDIR)/prms && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-prms))
 @endif prms
 
 .PHONY: check-prms maybe-check-prms
@@ -16473,7 +16199,8 @@ check-prms:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd prms && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/prms && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif prms
 
@@ -16487,7 +16214,8 @@ install-prms: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd prms && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/prms && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif prms
 
@@ -16509,7 +16237,7 @@ info-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16535,7 +16263,7 @@ dvi-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16561,7 +16289,7 @@ html-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16587,7 +16315,7 @@ TAGS-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16614,7 +16342,7 @@ install-info-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16640,7 +16368,7 @@ installcheck-prms: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16665,7 +16393,7 @@ mostlyclean-prms:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16690,7 +16418,7 @@ clean-prms:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16715,7 +16443,7 @@ distclean-prms:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16740,7 +16468,7 @@ maintainer-clean-prms:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in prms" ; \
-       (cd prms && \
+       (cd $(HOST_SUBDIR)/prms && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16756,24 +16484,20 @@ maybe-configure-rcs:
 @if rcs
 maybe-configure-rcs: configure-rcs
 configure-rcs:
-       @test ! -f rcs/Makefile || exit 0; \
-       [ -d rcs ] || mkdir rcs; \
+       @test ! -f $(HOST_SUBDIR)/rcs/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/rcs ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in rcs; \
-       cd rcs || exit 1; \
+       cd $(HOST_SUBDIR)/rcs || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/rcs"; \
-           libsrcdir="$$s/rcs";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/rcs"; \
-           libsrcdir="$$s/rcs";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/rcs/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/rcs"; \
+       libsrcdir="$$s/rcs"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -16789,8 +16513,8 @@ all-rcs: configure-rcs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd rcs && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-rcs))
+       (cd $(HOST_SUBDIR)/rcs && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-rcs))
 @endif rcs
 
 .PHONY: check-rcs maybe-check-rcs
@@ -16803,7 +16527,8 @@ check-rcs:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/rcs && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif rcs
 
@@ -16817,7 +16542,8 @@ install-rcs: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/rcs && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif rcs
 
@@ -16839,7 +16565,7 @@ info-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16865,7 +16591,7 @@ dvi-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16891,7 +16617,7 @@ html-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16917,7 +16643,7 @@ TAGS-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16944,7 +16670,7 @@ install-info-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16970,7 +16696,7 @@ installcheck-rcs: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -16995,7 +16721,7 @@ mostlyclean-rcs:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17020,7 +16746,7 @@ clean-rcs:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17045,7 +16771,7 @@ distclean-rcs:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17070,7 +16796,7 @@ maintainer-clean-rcs:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in rcs" ; \
-       (cd rcs && \
+       (cd $(HOST_SUBDIR)/rcs && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17086,24 +16812,20 @@ maybe-configure-readline:
 @if readline
 maybe-configure-readline: configure-readline
 configure-readline:
-       @test ! -f readline/Makefile || exit 0; \
-       [ -d readline ] || mkdir readline; \
+       @test ! -f $(HOST_SUBDIR)/readline/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/readline ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in readline; \
-       cd readline || exit 1; \
+       cd $(HOST_SUBDIR)/readline || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/readline"; \
-           libsrcdir="$$s/readline";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/readline"; \
-           libsrcdir="$$s/readline";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/readline/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/readline"; \
+       libsrcdir="$$s/readline"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -17119,8 +16841,8 @@ all-readline: configure-readline
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd readline && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-readline))
+       (cd $(HOST_SUBDIR)/readline && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-readline))
 @endif readline
 
 .PHONY: check-readline maybe-check-readline
@@ -17133,7 +16855,8 @@ check-readline:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd readline && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/readline && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif readline
 
@@ -17147,7 +16870,8 @@ install-readline: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd readline && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/readline && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif readline
 
@@ -17169,7 +16893,7 @@ info-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17195,7 +16919,7 @@ dvi-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17221,7 +16945,7 @@ html-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17247,7 +16971,7 @@ TAGS-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17274,7 +16998,7 @@ install-info-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17300,7 +17024,7 @@ installcheck-readline: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17325,7 +17049,7 @@ mostlyclean-readline:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17350,7 +17074,7 @@ clean-readline:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17375,7 +17099,7 @@ distclean-readline:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17400,7 +17124,7 @@ maintainer-clean-readline:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in readline" ; \
-       (cd readline && \
+       (cd $(HOST_SUBDIR)/readline && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17416,24 +17140,20 @@ maybe-configure-release:
 @if release
 maybe-configure-release: configure-release
 configure-release:
-       @test ! -f release/Makefile || exit 0; \
-       [ -d release ] || mkdir release; \
+       @test ! -f $(HOST_SUBDIR)/release/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/release ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in release; \
-       cd release || exit 1; \
+       cd $(HOST_SUBDIR)/release || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/release"; \
-           libsrcdir="$$s/release";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/release"; \
-           libsrcdir="$$s/release";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/release/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/release"; \
+       libsrcdir="$$s/release"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -17449,8 +17169,8 @@ all-release: configure-release
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd release && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-release))
+       (cd $(HOST_SUBDIR)/release && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-release))
 @endif release
 
 .PHONY: check-release maybe-check-release
@@ -17489,7 +17209,7 @@ info-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17515,7 +17235,7 @@ dvi-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17541,7 +17261,7 @@ html-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17567,7 +17287,7 @@ TAGS-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17594,7 +17314,7 @@ install-info-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17620,7 +17340,7 @@ installcheck-release: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17645,7 +17365,7 @@ mostlyclean-release:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17670,7 +17390,7 @@ clean-release:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17695,7 +17415,7 @@ distclean-release:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17720,7 +17440,7 @@ maintainer-clean-release:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in release" ; \
-       (cd release && \
+       (cd $(HOST_SUBDIR)/release && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17736,24 +17456,20 @@ maybe-configure-recode:
 @if recode
 maybe-configure-recode: configure-recode
 configure-recode:
-       @test ! -f recode/Makefile || exit 0; \
-       [ -d recode ] || mkdir recode; \
+       @test ! -f $(HOST_SUBDIR)/recode/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/recode ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in recode; \
-       cd recode || exit 1; \
+       cd $(HOST_SUBDIR)/recode || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/recode"; \
-           libsrcdir="$$s/recode";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/recode"; \
-           libsrcdir="$$s/recode";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/recode/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/recode"; \
+       libsrcdir="$$s/recode"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -17769,8 +17485,8 @@ all-recode: configure-recode
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd recode && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-recode))
+       (cd $(HOST_SUBDIR)/recode && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-recode))
 @endif recode
 
 .PHONY: check-recode maybe-check-recode
@@ -17783,7 +17499,8 @@ check-recode:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd recode && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/recode && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif recode
 
@@ -17797,7 +17514,8 @@ install-recode: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd recode && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/recode && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif recode
 
@@ -17819,7 +17537,7 @@ info-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17845,7 +17563,7 @@ dvi-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17871,7 +17589,7 @@ html-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17897,7 +17615,7 @@ TAGS-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17924,7 +17642,7 @@ install-info-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17950,7 +17668,7 @@ installcheck-recode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -17975,7 +17693,7 @@ mostlyclean-recode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18000,7 +17718,7 @@ clean-recode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18025,7 +17743,7 @@ distclean-recode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18050,7 +17768,7 @@ maintainer-clean-recode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in recode" ; \
-       (cd recode && \
+       (cd $(HOST_SUBDIR)/recode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18066,24 +17784,20 @@ maybe-configure-sed:
 @if sed
 maybe-configure-sed: configure-sed
 configure-sed:
-       @test ! -f sed/Makefile || exit 0; \
-       [ -d sed ] || mkdir sed; \
+       @test ! -f $(HOST_SUBDIR)/sed/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sed ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in sed; \
-       cd sed || exit 1; \
+       cd $(HOST_SUBDIR)/sed || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/sed"; \
-           libsrcdir="$$s/sed";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/sed"; \
-           libsrcdir="$$s/sed";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/sed/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/sed"; \
+       libsrcdir="$$s/sed"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -18099,8 +17813,8 @@ all-sed: configure-sed
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sed && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-sed))
+       (cd $(HOST_SUBDIR)/sed && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sed))
 @endif sed
 
 .PHONY: check-sed maybe-check-sed
@@ -18113,7 +17827,8 @@ check-sed:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sed && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/sed && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif sed
 
@@ -18127,7 +17842,8 @@ install-sed: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sed && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/sed && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif sed
 
@@ -18149,7 +17865,7 @@ info-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18175,7 +17891,7 @@ dvi-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18201,7 +17917,7 @@ html-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18227,7 +17943,7 @@ TAGS-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18254,7 +17970,7 @@ install-info-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18280,7 +17996,7 @@ installcheck-sed: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18305,7 +18021,7 @@ mostlyclean-sed:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18330,7 +18046,7 @@ clean-sed:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18355,7 +18071,7 @@ distclean-sed:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18380,7 +18096,7 @@ maintainer-clean-sed:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in sed" ; \
-       (cd sed && \
+       (cd $(HOST_SUBDIR)/sed && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18396,24 +18112,20 @@ maybe-configure-send-pr:
 @if send-pr
 maybe-configure-send-pr: configure-send-pr
 configure-send-pr:
-       @test ! -f send-pr/Makefile || exit 0; \
-       [ -d send-pr ] || mkdir send-pr; \
+       @test ! -f $(HOST_SUBDIR)/send-pr/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/send-pr ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in send-pr; \
-       cd send-pr || exit 1; \
+       cd $(HOST_SUBDIR)/send-pr || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/send-pr"; \
-           libsrcdir="$$s/send-pr";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/send-pr"; \
-           libsrcdir="$$s/send-pr";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/send-pr/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/send-pr"; \
+       libsrcdir="$$s/send-pr"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -18429,8 +18141,8 @@ all-send-pr: configure-send-pr
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd send-pr && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-send-pr))
+       (cd $(HOST_SUBDIR)/send-pr && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-send-pr))
 @endif send-pr
 
 .PHONY: check-send-pr maybe-check-send-pr
@@ -18443,7 +18155,8 @@ check-send-pr:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/send-pr && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif send-pr
 
@@ -18457,7 +18170,8 @@ install-send-pr: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/send-pr && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif send-pr
 
@@ -18479,7 +18193,7 @@ info-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18505,7 +18219,7 @@ dvi-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18531,7 +18245,7 @@ html-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18557,7 +18271,7 @@ TAGS-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18584,7 +18298,7 @@ install-info-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18610,7 +18324,7 @@ installcheck-send-pr: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18635,7 +18349,7 @@ mostlyclean-send-pr:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18660,7 +18374,7 @@ clean-send-pr:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18685,7 +18399,7 @@ distclean-send-pr:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18710,7 +18424,7 @@ maintainer-clean-send-pr:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in send-pr" ; \
-       (cd send-pr && \
+       (cd $(HOST_SUBDIR)/send-pr && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18726,24 +18440,20 @@ maybe-configure-shellutils:
 @if shellutils
 maybe-configure-shellutils: configure-shellutils
 configure-shellutils:
-       @test ! -f shellutils/Makefile || exit 0; \
-       [ -d shellutils ] || mkdir shellutils; \
+       @test ! -f $(HOST_SUBDIR)/shellutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/shellutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in shellutils; \
-       cd shellutils || exit 1; \
+       cd $(HOST_SUBDIR)/shellutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/shellutils"; \
-           libsrcdir="$$s/shellutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/shellutils"; \
-           libsrcdir="$$s/shellutils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/shellutils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/shellutils"; \
+       libsrcdir="$$s/shellutils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -18759,8 +18469,8 @@ all-shellutils: configure-shellutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd shellutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-shellutils))
+       (cd $(HOST_SUBDIR)/shellutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-shellutils))
 @endif shellutils
 
 .PHONY: check-shellutils maybe-check-shellutils
@@ -18773,7 +18483,8 @@ check-shellutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/shellutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif shellutils
 
@@ -18787,7 +18498,8 @@ install-shellutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/shellutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif shellutils
 
@@ -18809,7 +18521,7 @@ info-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18835,7 +18547,7 @@ dvi-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18861,7 +18573,7 @@ html-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18887,7 +18599,7 @@ TAGS-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18914,7 +18626,7 @@ install-info-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18940,7 +18652,7 @@ installcheck-shellutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18965,7 +18677,7 @@ mostlyclean-shellutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -18990,7 +18702,7 @@ clean-shellutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19015,7 +18727,7 @@ distclean-shellutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19040,7 +18752,7 @@ maintainer-clean-shellutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in shellutils" ; \
-       (cd shellutils && \
+       (cd $(HOST_SUBDIR)/shellutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19056,24 +18768,20 @@ maybe-configure-sid:
 @if sid
 maybe-configure-sid: configure-sid
 configure-sid:
-       @test ! -f sid/Makefile || exit 0; \
-       [ -d sid ] || mkdir sid; \
+       @test ! -f $(HOST_SUBDIR)/sid/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sid ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in sid; \
-       cd sid || exit 1; \
+       cd $(HOST_SUBDIR)/sid || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/sid"; \
-           libsrcdir="$$s/sid";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/sid"; \
-           libsrcdir="$$s/sid";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/sid/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/sid"; \
+       libsrcdir="$$s/sid"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -19089,8 +18797,8 @@ all-sid: configure-sid
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sid && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-sid))
+       (cd $(HOST_SUBDIR)/sid && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sid))
 @endif sid
 
 .PHONY: check-sid maybe-check-sid
@@ -19103,7 +18811,8 @@ check-sid:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sid && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/sid && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif sid
 
@@ -19117,7 +18826,8 @@ install-sid: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sid && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/sid && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif sid
 
@@ -19139,7 +18849,7 @@ info-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19165,7 +18875,7 @@ dvi-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19191,7 +18901,7 @@ html-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19217,7 +18927,7 @@ TAGS-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19244,7 +18954,7 @@ install-info-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19270,7 +18980,7 @@ installcheck-sid: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19295,7 +19005,7 @@ mostlyclean-sid:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19320,7 +19030,7 @@ clean-sid:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19345,7 +19055,7 @@ distclean-sid:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19370,7 +19080,7 @@ maintainer-clean-sid:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in sid" ; \
-       (cd sid && \
+       (cd $(HOST_SUBDIR)/sid && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19386,24 +19096,20 @@ maybe-configure-sim:
 @if sim
 maybe-configure-sim: configure-sim
 configure-sim:
-       @test ! -f sim/Makefile || exit 0; \
-       [ -d sim ] || mkdir sim; \
+       @test ! -f $(HOST_SUBDIR)/sim/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sim ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in sim; \
-       cd sim || exit 1; \
+       cd $(HOST_SUBDIR)/sim || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/sim"; \
-           libsrcdir="$$s/sim";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/sim"; \
-           libsrcdir="$$s/sim";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/sim/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/sim"; \
+       libsrcdir="$$s/sim"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -19419,8 +19125,8 @@ all-sim: configure-sim
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sim && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-sim))
+       (cd $(HOST_SUBDIR)/sim && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sim))
 @endif sim
 
 .PHONY: check-sim maybe-check-sim
@@ -19433,7 +19139,8 @@ check-sim:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sim && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/sim && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif sim
 
@@ -19447,7 +19154,8 @@ install-sim: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd sim && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/sim && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif sim
 
@@ -19469,7 +19177,7 @@ info-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19495,7 +19203,7 @@ dvi-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19521,7 +19229,7 @@ html-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19547,7 +19255,7 @@ TAGS-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19574,7 +19282,7 @@ install-info-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19600,7 +19308,7 @@ installcheck-sim: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19625,7 +19333,7 @@ mostlyclean-sim:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19650,7 +19358,7 @@ clean-sim:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19675,7 +19383,7 @@ distclean-sim:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19700,7 +19408,7 @@ maintainer-clean-sim:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in sim" ; \
-       (cd sim && \
+       (cd $(HOST_SUBDIR)/sim && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19716,24 +19424,20 @@ maybe-configure-tar:
 @if tar
 maybe-configure-tar: configure-tar
 configure-tar:
-       @test ! -f tar/Makefile || exit 0; \
-       [ -d tar ] || mkdir tar; \
+       @test ! -f $(HOST_SUBDIR)/tar/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tar ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in tar; \
-       cd tar || exit 1; \
+       cd $(HOST_SUBDIR)/tar || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/tar"; \
-           libsrcdir="$$s/tar";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/tar"; \
-           libsrcdir="$$s/tar";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/tar/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/tar"; \
+       libsrcdir="$$s/tar"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -19749,8 +19453,8 @@ all-tar: configure-tar
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tar && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-tar))
+       (cd $(HOST_SUBDIR)/tar && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tar))
 @endif tar
 
 .PHONY: check-tar maybe-check-tar
@@ -19763,7 +19467,8 @@ check-tar:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tar && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/tar && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif tar
 
@@ -19777,7 +19482,8 @@ install-tar: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tar && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/tar && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif tar
 
@@ -19799,7 +19505,7 @@ info-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19825,7 +19531,7 @@ dvi-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19851,7 +19557,7 @@ html-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19877,7 +19583,7 @@ TAGS-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19904,7 +19610,7 @@ install-info-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19930,7 +19636,7 @@ installcheck-tar: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19955,7 +19661,7 @@ mostlyclean-tar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -19980,7 +19686,7 @@ clean-tar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20005,7 +19711,7 @@ distclean-tar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20030,7 +19736,7 @@ maintainer-clean-tar:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in tar" ; \
-       (cd tar && \
+       (cd $(HOST_SUBDIR)/tar && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20046,24 +19752,20 @@ maybe-configure-texinfo:
 @if texinfo
 maybe-configure-texinfo: configure-texinfo
 configure-texinfo:
-       @test ! -f texinfo/Makefile || exit 0; \
-       [ -d texinfo ] || mkdir texinfo; \
+       @test ! -f $(HOST_SUBDIR)/texinfo/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/texinfo ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in texinfo; \
-       cd texinfo || exit 1; \
+       cd $(HOST_SUBDIR)/texinfo || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/texinfo"; \
-           libsrcdir="$$s/texinfo";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/texinfo"; \
-           libsrcdir="$$s/texinfo";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/texinfo/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/texinfo"; \
+       libsrcdir="$$s/texinfo"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -20079,8 +19781,8 @@ all-texinfo: configure-texinfo
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd texinfo && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-texinfo))
+       (cd $(HOST_SUBDIR)/texinfo && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-texinfo))
 @endif texinfo
 
 .PHONY: check-texinfo maybe-check-texinfo
@@ -20093,7 +19795,8 @@ check-texinfo:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/texinfo && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif texinfo
 
@@ -20124,7 +19827,7 @@ info-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20150,7 +19853,7 @@ dvi-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20176,7 +19879,7 @@ html-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20202,7 +19905,7 @@ TAGS-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20229,7 +19932,7 @@ install-info-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20255,7 +19958,7 @@ installcheck-texinfo: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20280,7 +19983,7 @@ mostlyclean-texinfo:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20305,7 +20008,7 @@ clean-texinfo:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20330,7 +20033,7 @@ distclean-texinfo:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20355,7 +20058,7 @@ maintainer-clean-texinfo:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in texinfo" ; \
-       (cd texinfo && \
+       (cd $(HOST_SUBDIR)/texinfo && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20371,24 +20074,20 @@ maybe-configure-textutils:
 @if textutils
 maybe-configure-textutils: configure-textutils
 configure-textutils:
-       @test ! -f textutils/Makefile || exit 0; \
-       [ -d textutils ] || mkdir textutils; \
+       @test ! -f $(HOST_SUBDIR)/textutils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/textutils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in textutils; \
-       cd textutils || exit 1; \
+       cd $(HOST_SUBDIR)/textutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/textutils"; \
-           libsrcdir="$$s/textutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/textutils"; \
-           libsrcdir="$$s/textutils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/textutils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/textutils"; \
+       libsrcdir="$$s/textutils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -20404,8 +20103,8 @@ all-textutils: configure-textutils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd textutils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-textutils))
+       (cd $(HOST_SUBDIR)/textutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-textutils))
 @endif textutils
 
 .PHONY: check-textutils maybe-check-textutils
@@ -20418,7 +20117,8 @@ check-textutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/textutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif textutils
 
@@ -20432,7 +20132,8 @@ install-textutils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/textutils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif textutils
 
@@ -20454,7 +20155,7 @@ info-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20480,7 +20181,7 @@ dvi-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20506,7 +20207,7 @@ html-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20532,7 +20233,7 @@ TAGS-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20559,7 +20260,7 @@ install-info-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20585,7 +20286,7 @@ installcheck-textutils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20610,7 +20311,7 @@ mostlyclean-textutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20635,7 +20336,7 @@ clean-textutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20660,7 +20361,7 @@ distclean-textutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20685,7 +20386,7 @@ maintainer-clean-textutils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in textutils" ; \
-       (cd textutils && \
+       (cd $(HOST_SUBDIR)/textutils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20701,24 +20402,20 @@ maybe-configure-time:
 @if time
 maybe-configure-time: configure-time
 configure-time:
-       @test ! -f time/Makefile || exit 0; \
-       [ -d time ] || mkdir time; \
+       @test ! -f $(HOST_SUBDIR)/time/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/time ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in time; \
-       cd time || exit 1; \
+       cd $(HOST_SUBDIR)/time || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/time"; \
-           libsrcdir="$$s/time";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/time"; \
-           libsrcdir="$$s/time";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/time/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/time"; \
+       libsrcdir="$$s/time"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -20734,8 +20431,8 @@ all-time: configure-time
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd time && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-time))
+       (cd $(HOST_SUBDIR)/time && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-time))
 @endif time
 
 .PHONY: check-time maybe-check-time
@@ -20748,7 +20445,8 @@ check-time:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd time && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/time && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif time
 
@@ -20762,7 +20460,8 @@ install-time: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd time && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/time && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif time
 
@@ -20784,7 +20483,7 @@ info-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20810,7 +20509,7 @@ dvi-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20836,7 +20535,7 @@ html-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20862,7 +20561,7 @@ TAGS-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20889,7 +20588,7 @@ install-info-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20915,7 +20614,7 @@ installcheck-time: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20940,7 +20639,7 @@ mostlyclean-time:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20965,7 +20664,7 @@ clean-time:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -20990,7 +20689,7 @@ distclean-time:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21015,7 +20714,7 @@ maintainer-clean-time:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in time" ; \
-       (cd time && \
+       (cd $(HOST_SUBDIR)/time && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21031,24 +20730,20 @@ maybe-configure-uudecode:
 @if uudecode
 maybe-configure-uudecode: configure-uudecode
 configure-uudecode:
-       @test ! -f uudecode/Makefile || exit 0; \
-       [ -d uudecode ] || mkdir uudecode; \
+       @test ! -f $(HOST_SUBDIR)/uudecode/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/uudecode ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in uudecode; \
-       cd uudecode || exit 1; \
+       cd $(HOST_SUBDIR)/uudecode || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/uudecode"; \
-           libsrcdir="$$s/uudecode";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/uudecode"; \
-           libsrcdir="$$s/uudecode";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/uudecode/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/uudecode"; \
+       libsrcdir="$$s/uudecode"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -21064,8 +20759,8 @@ all-uudecode: configure-uudecode
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd uudecode && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-uudecode))
+       (cd $(HOST_SUBDIR)/uudecode && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-uudecode))
 @endif uudecode
 
 .PHONY: check-uudecode maybe-check-uudecode
@@ -21078,7 +20773,8 @@ check-uudecode:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/uudecode && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif uudecode
 
@@ -21092,7 +20788,8 @@ install-uudecode: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/uudecode && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif uudecode
 
@@ -21114,7 +20811,7 @@ info-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21140,7 +20837,7 @@ dvi-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21166,7 +20863,7 @@ html-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21192,7 +20889,7 @@ TAGS-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21219,7 +20916,7 @@ install-info-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21245,7 +20942,7 @@ installcheck-uudecode: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21270,7 +20967,7 @@ mostlyclean-uudecode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21295,7 +20992,7 @@ clean-uudecode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21320,7 +21017,7 @@ distclean-uudecode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21345,7 +21042,7 @@ maintainer-clean-uudecode:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in uudecode" ; \
-       (cd uudecode && \
+       (cd $(HOST_SUBDIR)/uudecode && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21361,24 +21058,20 @@ maybe-configure-wdiff:
 @if wdiff
 maybe-configure-wdiff: configure-wdiff
 configure-wdiff:
-       @test ! -f wdiff/Makefile || exit 0; \
-       [ -d wdiff ] || mkdir wdiff; \
+       @test ! -f $(HOST_SUBDIR)/wdiff/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/wdiff ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in wdiff; \
-       cd wdiff || exit 1; \
+       cd $(HOST_SUBDIR)/wdiff || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/wdiff"; \
-           libsrcdir="$$s/wdiff";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/wdiff"; \
-           libsrcdir="$$s/wdiff";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/wdiff/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/wdiff"; \
+       libsrcdir="$$s/wdiff"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -21394,8 +21087,8 @@ all-wdiff: configure-wdiff
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd wdiff && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-wdiff))
+       (cd $(HOST_SUBDIR)/wdiff && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-wdiff))
 @endif wdiff
 
 .PHONY: check-wdiff maybe-check-wdiff
@@ -21408,7 +21101,8 @@ check-wdiff:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/wdiff && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif wdiff
 
@@ -21422,7 +21116,8 @@ install-wdiff: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/wdiff && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif wdiff
 
@@ -21444,7 +21139,7 @@ info-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21470,7 +21165,7 @@ dvi-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21496,7 +21191,7 @@ html-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21522,7 +21217,7 @@ TAGS-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21549,7 +21244,7 @@ install-info-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21575,7 +21270,7 @@ installcheck-wdiff: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21600,7 +21295,7 @@ mostlyclean-wdiff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21625,7 +21320,7 @@ clean-wdiff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21650,7 +21345,7 @@ distclean-wdiff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21675,7 +21370,7 @@ maintainer-clean-wdiff:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in wdiff" ; \
-       (cd wdiff && \
+       (cd $(HOST_SUBDIR)/wdiff && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21691,24 +21386,20 @@ maybe-configure-zip:
 @if zip
 maybe-configure-zip: configure-zip
 configure-zip:
-       @test ! -f zip/Makefile || exit 0; \
-       [ -d zip ] || mkdir zip; \
+       @test ! -f $(HOST_SUBDIR)/zip/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zip ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in zip; \
-       cd zip || exit 1; \
+       cd $(HOST_SUBDIR)/zip || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zip"; \
-           libsrcdir="$$s/zip";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zip"; \
-           libsrcdir="$$s/zip";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/zip/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/zip"; \
+       libsrcdir="$$s/zip"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -21724,8 +21415,8 @@ all-zip: configure-zip
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd zip && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-zip))
+       (cd $(HOST_SUBDIR)/zip && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zip))
 @endif zip
 
 .PHONY: check-zip maybe-check-zip
@@ -21740,7 +21431,8 @@ check-zip:
          s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
          $(SET_LIB_PATH) \
          $(HOST_EXPORTS) \
-         (cd zip && $(MAKE) $(FLAGS_TO_PASS)  check); \
+         (cd $(HOST_SUBDIR)/zip && \
+           $(MAKE) $(FLAGS_TO_PASS)  check); \
        fi
 
 @endif zip
@@ -21755,7 +21447,8 @@ install-zip: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd zip && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/zip && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif zip
 
@@ -21777,7 +21470,7 @@ info-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21803,7 +21496,7 @@ dvi-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21829,7 +21522,7 @@ html-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21855,7 +21548,7 @@ TAGS-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21882,7 +21575,7 @@ install-info-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21908,7 +21601,7 @@ installcheck-zip: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21933,7 +21626,7 @@ mostlyclean-zip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21958,7 +21651,7 @@ clean-zip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -21983,7 +21676,7 @@ distclean-zip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22008,7 +21701,7 @@ maintainer-clean-zip:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in zip" ; \
-       (cd zip && \
+       (cd $(HOST_SUBDIR)/zip && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22025,24 +21718,20 @@ maybe-configure-zlib:
 maybe-configure-zlib: configure-zlib
 configure-zlib:
        @test -f stage_last && exit 0; \
-       test ! -f zlib/Makefile || exit 0; \
-       [ -d zlib ] || mkdir zlib; \
+       test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in zlib; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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}  \
          || exit 1
@@ -22059,8 +21748,8 @@ all-zlib: configure-zlib
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd zlib && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-zlib))
+       (cd $(HOST_SUBDIR)/zlib && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zlib))
 @endif zlib
 
 .PHONY: check-zlib maybe-check-zlib
@@ -22099,7 +21788,7 @@ info-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22125,7 +21814,7 @@ dvi-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22151,7 +21840,7 @@ html-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22177,7 +21866,7 @@ TAGS-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22204,7 +21893,7 @@ install-info-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22230,7 +21919,7 @@ installcheck-zlib: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22255,7 +21944,7 @@ mostlyclean-zlib:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22280,7 +21969,7 @@ clean-zlib:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22305,7 +21994,7 @@ distclean-zlib:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22330,7 +22019,7 @@ maintainer-clean-zlib:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in zlib" ; \
-       (cd zlib && \
+       (cd $(HOST_SUBDIR)/zlib && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22346,24 +22035,20 @@ maybe-configure-gdb:
 @if gdb
 maybe-configure-gdb: configure-gdb
 configure-gdb:
-       @test ! -f gdb/Makefile || exit 0; \
-       [ -d gdb ] || mkdir gdb; \
+       @test ! -f $(HOST_SUBDIR)/gdb/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gdb ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gdb; \
-       cd gdb || exit 1; \
+       cd $(HOST_SUBDIR)/gdb || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gdb"; \
-           libsrcdir="$$s/gdb";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gdb"; \
-           libsrcdir="$$s/gdb";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gdb/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gdb"; \
+       libsrcdir="$$s/gdb"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -22379,8 +22064,8 @@ all-gdb: configure-gdb
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
-         $(TARGET-gdb))
+       (cd $(HOST_SUBDIR)/gdb && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-gdb))
 @endif gdb
 
 .PHONY: check-gdb maybe-check-gdb
@@ -22393,7 +22078,8 @@ check-gdb:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gdb && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gdb && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 @endif gdb
 
@@ -22407,7 +22093,8 @@ install-gdb: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gdb && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gdb && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
 
 @endif gdb
 
@@ -22429,7 +22116,7 @@ info-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22455,7 +22142,7 @@ dvi-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22481,7 +22168,7 @@ html-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22507,7 +22194,7 @@ TAGS-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22534,7 +22221,7 @@ install-info-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22560,7 +22247,7 @@ installcheck-gdb: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22585,7 +22272,7 @@ mostlyclean-gdb:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22610,7 +22297,7 @@ clean-gdb:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22635,7 +22322,7 @@ distclean-gdb:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22660,7 +22347,7 @@ maintainer-clean-gdb:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gdb" ; \
-       (cd gdb && \
+       (cd $(HOST_SUBDIR)/gdb && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22676,24 +22363,20 @@ maybe-configure-expect:
 @if expect
 maybe-configure-expect: configure-expect
 configure-expect:
-       @test ! -f expect/Makefile || exit 0; \
-       [ -d expect ] || mkdir expect; \
+       @test ! -f $(HOST_SUBDIR)/expect/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/expect ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in expect; \
-       cd expect || exit 1; \
+       cd $(HOST_SUBDIR)/expect || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/expect"; \
-           libsrcdir="$$s/expect";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/expect"; \
-           libsrcdir="$$s/expect";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/expect/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/expect"; \
+       libsrcdir="$$s/expect"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -22709,8 +22392,8 @@ all-expect: configure-expect
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
-         $(TARGET-expect))
+       (cd $(HOST_SUBDIR)/expect && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-expect))
 @endif expect
 
 .PHONY: check-expect maybe-check-expect
@@ -22723,7 +22406,8 @@ check-expect:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd expect && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/expect && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 @endif expect
 
@@ -22737,7 +22421,8 @@ install-expect: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd expect && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/expect && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
 
 @endif expect
 
@@ -22759,7 +22444,7 @@ info-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22785,7 +22470,7 @@ dvi-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22811,7 +22496,7 @@ html-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22837,7 +22522,7 @@ TAGS-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22864,7 +22549,7 @@ install-info-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22890,7 +22575,7 @@ installcheck-expect: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22915,7 +22600,7 @@ mostlyclean-expect:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22940,7 +22625,7 @@ clean-expect:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22965,7 +22650,7 @@ distclean-expect:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -22990,7 +22675,7 @@ maintainer-clean-expect:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in expect" ; \
-       (cd expect && \
+       (cd $(HOST_SUBDIR)/expect && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23006,24 +22691,20 @@ maybe-configure-guile:
 @if guile
 maybe-configure-guile: configure-guile
 configure-guile:
-       @test ! -f guile/Makefile || exit 0; \
-       [ -d guile ] || mkdir guile; \
+       @test ! -f $(HOST_SUBDIR)/guile/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/guile ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in guile; \
-       cd guile || exit 1; \
+       cd $(HOST_SUBDIR)/guile || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/guile"; \
-           libsrcdir="$$s/guile";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/guile"; \
-           libsrcdir="$$s/guile";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/guile/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/guile"; \
+       libsrcdir="$$s/guile"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -23039,8 +22720,8 @@ all-guile: configure-guile
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
-         $(TARGET-guile))
+       (cd $(HOST_SUBDIR)/guile && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-guile))
 @endif guile
 
 .PHONY: check-guile maybe-check-guile
@@ -23053,7 +22734,8 @@ check-guile:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd guile && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/guile && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 @endif guile
 
@@ -23067,7 +22749,8 @@ install-guile: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd guile && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/guile && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
 
 @endif guile
 
@@ -23089,7 +22772,7 @@ info-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23115,7 +22798,7 @@ dvi-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23141,7 +22824,7 @@ html-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23167,7 +22850,7 @@ TAGS-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23194,7 +22877,7 @@ install-info-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23220,7 +22903,7 @@ installcheck-guile: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23245,7 +22928,7 @@ mostlyclean-guile:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23270,7 +22953,7 @@ clean-guile:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23295,7 +22978,7 @@ distclean-guile:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23320,7 +23003,7 @@ maintainer-clean-guile:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in guile" ; \
-       (cd guile && \
+       (cd $(HOST_SUBDIR)/guile && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23336,24 +23019,20 @@ maybe-configure-tk:
 @if tk
 maybe-configure-tk: configure-tk
 configure-tk:
-       @test ! -f tk/Makefile || exit 0; \
-       [ -d tk ] || mkdir tk; \
+       @test ! -f $(HOST_SUBDIR)/tk/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tk ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in tk; \
-       cd tk || exit 1; \
+       cd $(HOST_SUBDIR)/tk || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/tk"; \
-           libsrcdir="$$s/tk";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/tk"; \
-           libsrcdir="$$s/tk";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/tk/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/tk"; \
+       libsrcdir="$$s/tk"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -23369,8 +23048,8 @@ all-tk: configure-tk
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
-         $(TARGET-tk))
+       (cd $(HOST_SUBDIR)/tk && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-tk))
 @endif tk
 
 .PHONY: check-tk maybe-check-tk
@@ -23383,7 +23062,8 @@ check-tk:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tk && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/tk && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 @endif tk
 
@@ -23397,7 +23077,8 @@ install-tk: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd tk && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/tk && \
+         $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
 
 @endif tk
 
@@ -23419,7 +23100,7 @@ info-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23445,7 +23126,7 @@ dvi-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23471,7 +23152,7 @@ html-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23497,7 +23178,7 @@ TAGS-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23524,7 +23205,7 @@ install-info-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23550,7 +23231,7 @@ installcheck-tk: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23575,7 +23256,7 @@ mostlyclean-tk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23600,7 +23281,7 @@ clean-tk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23625,7 +23306,7 @@ distclean-tk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23650,7 +23331,7 @@ maintainer-clean-tk:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in tk" ; \
-       (cd tk && \
+       (cd $(HOST_SUBDIR)/tk && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23666,24 +23347,20 @@ maybe-configure-libtermcap:
 @if libtermcap
 maybe-configure-libtermcap: configure-libtermcap
 configure-libtermcap:
-       @test ! -f libtermcap/Makefile || exit 0; \
-       [ -d libtermcap ] || mkdir libtermcap; \
+       @test ! -f $(HOST_SUBDIR)/libtermcap/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libtermcap ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in libtermcap; \
-       cd libtermcap || exit 1; \
+       cd $(HOST_SUBDIR)/libtermcap || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libtermcap"; \
-           libsrcdir="$$s/libtermcap";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \
-           libsrcdir="$$s/libtermcap";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/libtermcap/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/libtermcap"; \
+       libsrcdir="$$s/libtermcap"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -23699,8 +23376,8 @@ all-libtermcap: configure-libtermcap
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-libtermcap))
+       (cd $(HOST_SUBDIR)/libtermcap && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtermcap))
 @endif libtermcap
 
 .PHONY: check-libtermcap maybe-check-libtermcap
@@ -23722,7 +23399,8 @@ install-libtermcap: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/libtermcap && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libtermcap
 
@@ -23744,7 +23422,7 @@ info-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23770,7 +23448,7 @@ dvi-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23796,7 +23474,7 @@ html-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23822,7 +23500,7 @@ TAGS-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23849,7 +23527,7 @@ install-info-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23875,7 +23553,7 @@ installcheck-libtermcap: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in libtermcap" ; \
-       (cd libtermcap && \
+       (cd $(HOST_SUBDIR)/libtermcap && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -23931,24 +23609,20 @@ maybe-configure-utils:
 @if utils
 maybe-configure-utils: configure-utils
 configure-utils:
-       @test ! -f utils/Makefile || exit 0; \
-       [ -d utils ] || mkdir utils; \
+       @test ! -f $(HOST_SUBDIR)/utils/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/utils ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in utils; \
-       cd utils || exit 1; \
+       cd $(HOST_SUBDIR)/utils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/utils"; \
-           libsrcdir="$$s/utils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/utils"; \
-           libsrcdir="$$s/utils";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/utils/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/utils"; \
+       libsrcdir="$$s/utils"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -23964,8 +23638,8 @@ all-utils: configure-utils
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd utils && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-utils))
+       (cd $(HOST_SUBDIR)/utils && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-utils))
 @endif utils
 
 .PHONY: check-utils maybe-check-utils
@@ -23987,7 +23661,8 @@ install-utils: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd utils && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/utils && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif utils
 
@@ -24009,7 +23684,7 @@ info-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24035,7 +23710,7 @@ dvi-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24061,7 +23736,7 @@ html-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24087,7 +23762,7 @@ TAGS-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24114,7 +23789,7 @@ install-info-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24140,7 +23815,7 @@ installcheck-utils: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24165,7 +23840,7 @@ mostlyclean-utils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24190,7 +23865,7 @@ clean-utils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24215,7 +23890,7 @@ distclean-utils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24240,7 +23915,7 @@ maintainer-clean-utils:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in utils" ; \
-       (cd utils && \
+       (cd $(HOST_SUBDIR)/utils && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24256,24 +23931,20 @@ maybe-configure-gnattools:
 @if gnattools
 maybe-configure-gnattools: configure-gnattools
 configure-gnattools:
-       @test ! -f gnattools/Makefile || exit 0; \
-       [ -d gnattools ] || mkdir gnattools; \
+       @test ! -f $(HOST_SUBDIR)/gnattools/Makefile || exit 0; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gnattools ; \
        r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(HOST_EXPORTS) \
        echo Configuring in gnattools; \
-       cd gnattools || exit 1; \
+       cd $(HOST_SUBDIR)/gnattools || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gnattools"; \
-           libsrcdir="$$s/gnattools";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gnattools"; \
-           libsrcdir="$$s/gnattools";; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(HOST_SUBDIR)/gnattools/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
+       srcdiroption="--srcdir=$${topdir}/gnattools"; \
+       libsrcdir="$$s/gnattools"; \
        $(SHELL) $${libsrcdir}/configure \
          $(HOST_CONFIGARGS) $${srcdiroption}  \
          || exit 1
@@ -24289,8 +23960,8 @@ all-gnattools: configure-gnattools
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnattools && $(MAKE) $(FLAGS_TO_PASS)  \
-         $(TARGET-gnattools))
+       (cd $(HOST_SUBDIR)/gnattools && \
+         $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnattools))
 @endif gnattools
 
 .PHONY: check-gnattools maybe-check-gnattools
@@ -24303,7 +23974,8 @@ check-gnattools:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnattools && $(MAKE) $(FLAGS_TO_PASS) check)
+       (cd $(HOST_SUBDIR)/gnattools && \
+         $(MAKE) $(FLAGS_TO_PASS)  check)
 
 @endif gnattools
 
@@ -24317,7 +23989,8 @@ install-gnattools: installdirs
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(SET_LIB_PATH) \
        $(HOST_EXPORTS) \
-       (cd gnattools && $(MAKE) $(FLAGS_TO_PASS) install)
+       (cd $(HOST_SUBDIR)/gnattools && \
+         $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif gnattools
 
@@ -24339,7 +24012,7 @@ info-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing info in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24365,7 +24038,7 @@ dvi-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing dvi in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24391,7 +24064,7 @@ html-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing html in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24417,7 +24090,7 @@ TAGS-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing TAGS in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24444,7 +24117,7 @@ install-info-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing install-info in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24470,7 +24143,7 @@ installcheck-gnattools: \
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing installcheck in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24495,7 +24168,7 @@ mostlyclean-gnattools:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing mostlyclean in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24520,7 +24193,7 @@ clean-gnattools:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing clean in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24545,7 +24218,7 @@ distclean-gnattools:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing distclean in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24570,7 +24243,7 @@ maintainer-clean-gnattools:
          eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
        done; \
        echo "Doing maintainer-clean in gnattools" ; \
-       (cd gnattools && \
+       (cd $(HOST_SUBDIR)/gnattools && \
          $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                  "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
                  "RANLIB=$${RANLIB}" \
@@ -24607,16 +24280,12 @@ configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \
        cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libstdc++-v3/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
-         libsrcdir="$$s/libstdc++-v3"; \
+       srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
+       libsrcdir="$$s/libstdc++-v3"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -24949,16 +24618,12 @@ configure-target-libmudflap: $(TARGET_SUBDIR)/libmudflap/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libmudflap; \
        cd "$(TARGET_SUBDIR)/libmudflap" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libmudflap/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libmudflap"; \
-         libsrcdir="$$s/libmudflap"; \
+       srcdiroption="--srcdir=$${topdir}/libmudflap"; \
+       libsrcdir="$$s/libmudflap"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -25291,16 +24956,12 @@ configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/newlib; \
        cd "$(TARGET_SUBDIR)/newlib" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/newlib/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/newlib"; \
-         libsrcdir="$$s/newlib"; \
+       srcdiroption="--srcdir=$${topdir}/newlib"; \
+       libsrcdir="$$s/newlib"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -25633,16 +25294,12 @@ configure-target-libgfortran: $(TARGET_SUBDIR)/libgfortran/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libgfortran; \
        cd "$(TARGET_SUBDIR)/libgfortran" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgfortran/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libgfortran"; \
-         libsrcdir="$$s/libgfortran"; \
+       srcdiroption="--srcdir=$${topdir}/libgfortran"; \
+       libsrcdir="$$s/libgfortran"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -25975,16 +25632,12 @@ configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libobjc; \
        cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libobjc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libobjc"; \
-         libsrcdir="$$s/libobjc"; \
+       srcdiroption="--srcdir=$${topdir}/libobjc"; \
+       libsrcdir="$$s/libobjc"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -26317,38 +25970,12 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libtermcap; \
        cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libtermcap/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(TARGET_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/libtermcap"; \
-         libsrcdir="$$s/libtermcap"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/libtermcap"; \
+       libsrcdir="$$s/libtermcap"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -26616,16 +26243,12 @@ configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/winsup; \
        cd "$(TARGET_SUBDIR)/winsup" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/winsup/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/winsup"; \
-         libsrcdir="$$s/winsup"; \
+       srcdiroption="--srcdir=$${topdir}/winsup"; \
+       libsrcdir="$$s/winsup"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -26958,16 +26581,12 @@ configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libgloss; \
        cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgloss/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libgloss"; \
-         libsrcdir="$$s/libgloss"; \
+       srcdiroption="--srcdir=$${topdir}/libgloss"; \
+       libsrcdir="$$s/libgloss"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -27295,16 +26914,12 @@ configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libiberty; \
        cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libiberty/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libiberty"; \
-         libsrcdir="$$s/libiberty"; \
+       srcdiroption="--srcdir=$${topdir}/libiberty"; \
+       libsrcdir="$$s/libiberty"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -27637,16 +27252,12 @@ configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/gperf; \
        cd "$(TARGET_SUBDIR)/gperf" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/gperf/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/gperf"; \
-         libsrcdir="$$s/gperf"; \
+       srcdiroption="--srcdir=$${topdir}/gperf"; \
+       libsrcdir="$$s/gperf"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -27979,16 +27590,12 @@ configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/examples; \
        cd "$(TARGET_SUBDIR)/examples" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/examples/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/examples"; \
-         libsrcdir="$$s/examples"; \
+       srcdiroption="--srcdir=$${topdir}/examples"; \
+       libsrcdir="$$s/examples"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -28311,16 +27918,12 @@ configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libffi; \
        cd "$(TARGET_SUBDIR)/libffi" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libffi/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libffi"; \
-         libsrcdir="$$s/libffi"; \
+       srcdiroption="--srcdir=$${topdir}/libffi"; \
+       libsrcdir="$$s/libffi"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -28653,16 +28256,12 @@ configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libjava; \
        cd "$(TARGET_SUBDIR)/libjava" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libjava/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libjava"; \
-         libsrcdir="$$s/libjava"; \
+       srcdiroption="--srcdir=$${topdir}/libjava"; \
+       libsrcdir="$$s/libjava"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -28995,38 +28594,12 @@ configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/zlib; \
        cd "$(TARGET_SUBDIR)/zlib" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-       if [ "$(srcdir)" = "." ] ; then \
-         if [ "$(TARGET_SUBDIR)" != "." ] ; then \
-           if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \
-             if [ -f Makefile ]; then \
-               if $(MAKE) distclean; then \
-                 true; \
-               else \
-                 exit 1; \
-               fi; \
-             else \
-               true; \
-             fi; \
-           else \
-             exit 1; \
-           fi; \
-         else \
-           true; \
-         fi; \
-         srcdiroption="--srcdir=."; \
-         libsrcdir="."; \
-       else \
-         srcdiroption="--srcdir=$${topdir}/zlib"; \
-         libsrcdir="$$s/zlib"; \
-       fi; \
+       srcdiroption="--srcdir=$${topdir}/zlib"; \
+       libsrcdir="$$s/zlib"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -29359,16 +28932,12 @@ configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
        cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/boehm-gc/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
-         libsrcdir="$$s/boehm-gc"; \
+       srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
+       libsrcdir="$$s/boehm-gc"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -29701,16 +29270,12 @@ configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/qthreads; \
        cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/qthreads/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/qthreads"; \
-         libsrcdir="$$s/qthreads"; \
+       srcdiroption="--srcdir=$${topdir}/qthreads"; \
+       libsrcdir="$$s/qthreads"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -30043,16 +29608,12 @@ configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/rda; \
        cd "$(TARGET_SUBDIR)/rda" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/rda/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/rda"; \
-         libsrcdir="$$s/rda"; \
+       srcdiroption="--srcdir=$${topdir}/rda"; \
+       libsrcdir="$$s/rda"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -30385,16 +29946,12 @@ configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out
        echo Configuring in $(TARGET_SUBDIR)/libada; \
        cd "$(TARGET_SUBDIR)/libada" || exit 1; \
        case $(srcdir) in \
-         /* | [A-Za-z]:[\\/]*) \
-           topdir=$(srcdir) ;; \
-         *) \
-           case "$(TARGET_SUBDIR)" in \
-             .) topdir="../$(srcdir)" ;; \
-             *) topdir="../../$(srcdir)" ;; \
-           esac ;; \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libada/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
        esac; \
-         srcdiroption="--srcdir=$${topdir}/libada"; \
-         libsrcdir="$$s/libada"; \
+       srcdiroption="--srcdir=$${topdir}/libada"; \
+       libsrcdir="$$s/libada"; \
        rm -f no-such-file || : ; \
        CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
          $(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -30905,79 +30462,110 @@ POSTSTAGE1_FLAGS_TO_PASS = \
 stage1-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stage1 > stage_current ; \
-       echo stage1 > stage_last
+       echo stage1 > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stage1-bfd ] || mkdir stage1-bfd; \
-       set stage1-bfd bfd ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-bfd ] || \
+         mkdir stage1-bfd; \
+       set stage1-bfd bfd ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @[ -d stage1-opcodes ] || mkdir stage1-opcodes; \
-       set stage1-opcodes opcodes ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-opcodes ] || \
+         mkdir stage1-opcodes; \
+       set stage1-opcodes opcodes ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @[ -d stage1-binutils ] || mkdir stage1-binutils; \
-       set stage1-binutils binutils ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-binutils ] || \
+         mkdir stage1-binutils; \
+       set stage1-binutils binutils ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @[ -d stage1-gas ] || mkdir stage1-gas; \
-       set stage1-gas gas ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-gas ] || \
+         mkdir stage1-gas; \
+       set stage1-gas gas ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @[ -d stage1-gcc ] || mkdir stage1-gcc; \
-       set stage1-gcc gcc ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-gcc ] || \
+         mkdir stage1-gcc; \
+       set stage1-gcc gcc ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @[ -d stage1-intl ] || mkdir stage1-intl; \
-       set stage1-intl intl ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-intl ] || \
+         mkdir stage1-intl; \
+       set stage1-intl intl ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @[ -d stage1-ld ] || mkdir stage1-ld; \
-       set stage1-ld ld ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-ld ] || \
+         mkdir stage1-ld; \
+       set stage1-ld ld ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @[ -d stage1-libcpp ] || mkdir stage1-libcpp; \
-       set stage1-libcpp libcpp ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-libcpp ] || \
+         mkdir stage1-libcpp; \
+       set stage1-libcpp libcpp ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @[ -d stage1-libiberty ] || mkdir stage1-libiberty; \
-       set stage1-libiberty libiberty ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stage1-libiberty ] || \
+         mkdir stage1-libiberty; \
+       set stage1-libiberty libiberty ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @[ -d stage1-zlib ] || mkdir stage1-zlib; \
-       set stage1-zlib zlib ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @set bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stage1-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stage1-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stage1-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stage1-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stage1-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stage1-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stage1-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stage1-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stage1-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
+       @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
@@ -31035,18 +30623,14 @@ configure-stage1-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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)" 
@@ -31057,7 +30641,7 @@ all-stage1-bfd: configure-stage1-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31066,7 +30650,7 @@ clean-stage1-bfd:
        @[ -f bfd/Makefile ] || [ -f stage1-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stage1-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif bfd-bootstrap
@@ -31089,18 +30673,14 @@ configure-stage1-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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)" 
@@ -31111,7 +30691,7 @@ all-stage1-opcodes: configure-stage1-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31120,7 +30700,7 @@ clean-stage1-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stage1-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stage1-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif opcodes-bootstrap
@@ -31143,18 +30723,14 @@ configure-stage1-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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)" 
@@ -31165,7 +30741,7 @@ all-stage1-binutils: configure-stage1-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31174,7 +30750,7 @@ clean-stage1-binutils:
        @[ -f binutils/Makefile ] || [ -f stage1-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stage1-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif binutils-bootstrap
@@ -31197,18 +30773,14 @@ configure-stage1-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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)" 
@@ -31219,7 +30791,7 @@ all-stage1-gas: configure-stage1-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31228,7 +30800,7 @@ clean-stage1-gas:
        @[ -f gas/Makefile ] || [ -f stage1-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stage1-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif gas-bootstrap
@@ -31251,18 +30823,14 @@ configure-stage1-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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)" 
@@ -31273,7 +30841,7 @@ all-stage1-gcc: configure-stage1-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS)
 
@@ -31282,7 +30850,7 @@ clean-stage1-gcc:
        @[ -f gcc/Makefile ] || [ -f stage1-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stage1-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) clean
 @endif gcc-bootstrap
@@ -31305,18 +30873,14 @@ configure-stage1-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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)" 
@@ -31327,7 +30891,7 @@ all-stage1-intl: configure-stage1-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31336,7 +30900,7 @@ clean-stage1-intl:
        @[ -f intl/Makefile ] || [ -f stage1-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stage1-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif intl-bootstrap
@@ -31359,18 +30923,14 @@ configure-stage1-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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)" 
@@ -31381,7 +30941,7 @@ all-stage1-ld: configure-stage1-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31390,7 +30950,7 @@ clean-stage1-ld:
        @[ -f ld/Makefile ] || [ -f stage1-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stage1-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif ld-bootstrap
@@ -31413,18 +30973,14 @@ configure-stage1-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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)" 
@@ -31435,7 +30991,7 @@ all-stage1-libcpp: configure-stage1-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31444,7 +31000,7 @@ clean-stage1-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stage1-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stage1-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif libcpp-bootstrap
@@ -31467,18 +31023,14 @@ configure-stage1-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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)" 
@@ -31489,7 +31041,7 @@ all-stage1-libiberty: configure-stage1-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31498,7 +31050,7 @@ clean-stage1-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stage1-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stage1-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif libiberty-bootstrap
@@ -31521,18 +31073,14 @@ configure-stage1-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
        echo Configuring stage 1 in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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)" 
@@ -31543,7 +31091,7 @@ all-stage1-zlib: configure-stage1-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)" 
 
@@ -31552,7 +31100,7 @@ clean-stage1-zlib:
        @[ -f zlib/Makefile ] || [ -f stage1-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stage1-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                CFLAGS="$(STAGE1_CFLAGS)"  clean
 @endif zlib-bootstrap
@@ -31582,99 +31130,150 @@ distclean-stage1::
 stage2-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stage2 > stage_current ; \
-       echo stage2 > stage_last
+       echo stage2 > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stage2-bfd ] || mkdir stage2-bfd; \
-       set stage2-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-opcodes ] || mkdir stage2-opcodes; \
-       set stage2-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-binutils ] || mkdir stage2-binutils; \
-       set stage2-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-gas ] || mkdir stage2-gas; \
-       set stage2-gas gas ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-gcc ] || mkdir stage2-gcc; \
-       set stage2-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-intl ] || mkdir stage2-intl; \
-       set stage2-intl intl ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-ld ] || mkdir stage2-ld; \
-       set stage2-ld ld ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-libcpp ] || mkdir stage2-libcpp; \
-       set stage2-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-libiberty ] || mkdir stage2-libiberty; \
-       set stage2-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage2-zlib ] || mkdir stage2-zlib; \
-       set stage2-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @set bfd stage2-bfd ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stage2-bfd ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-bfd stage1-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stage2-opcodes ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-opcodes stage1-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stage2-binutils ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stage2-binutils ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-binutils stage1-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stage2-gas ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stage2-gas ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gas stage1-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stage2-gcc ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stage2-gcc ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gcc stage1-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stage2-intl ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stage2-intl ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-intl stage1-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stage2-ld ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stage2-ld ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-ld stage1-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stage2-libcpp ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libcpp stage1-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stage2-libiberty ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libiberty stage1-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stage2-zlib ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
+       @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
@@ -31732,18 +31331,14 @@ configure-stage2-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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@ 
@@ -31754,7 +31349,7 @@ all-stage2-bfd: configure-stage2-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -31764,7 +31359,7 @@ clean-stage2-bfd:
        @[ -f bfd/Makefile ] || [ -f stage2-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stage2-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -31788,18 +31383,14 @@ configure-stage2-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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@ 
@@ -31810,7 +31401,7 @@ all-stage2-opcodes: configure-stage2-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -31820,7 +31411,7 @@ clean-stage2-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stage2-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stage2-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -31844,18 +31435,14 @@ configure-stage2-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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@ 
@@ -31866,7 +31453,7 @@ all-stage2-binutils: configure-stage2-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -31876,7 +31463,7 @@ clean-stage2-binutils:
        @[ -f binutils/Makefile ] || [ -f stage2-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stage2-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -31900,18 +31487,14 @@ configure-stage2-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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@ 
@@ -31922,7 +31505,7 @@ all-stage2-gas: configure-stage2-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -31932,7 +31515,7 @@ clean-stage2-gas:
        @[ -f gas/Makefile ] || [ -f stage2-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stage2-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -31956,18 +31539,14 @@ configure-stage2-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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@ 
@@ -31978,7 +31557,7 @@ all-stage2-gcc: configure-stage2-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS)
@@ -31988,7 +31567,7 @@ clean-stage2-gcc:
        @[ -f gcc/Makefile ] || [ -f stage2-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stage2-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS) clean
@@ -32012,18 +31591,14 @@ configure-stage2-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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@ 
@@ -32034,7 +31609,7 @@ all-stage2-intl: configure-stage2-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32044,7 +31619,7 @@ clean-stage2-intl:
        @[ -f intl/Makefile ] || [ -f stage2-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stage2-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32068,18 +31643,14 @@ configure-stage2-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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@ 
@@ -32090,7 +31661,7 @@ all-stage2-ld: configure-stage2-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32100,7 +31671,7 @@ clean-stage2-ld:
        @[ -f ld/Makefile ] || [ -f stage2-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stage2-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32124,18 +31695,14 @@ configure-stage2-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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@ 
@@ -32146,7 +31713,7 @@ all-stage2-libcpp: configure-stage2-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32156,7 +31723,7 @@ clean-stage2-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stage2-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stage2-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32180,18 +31747,14 @@ configure-stage2-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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@ 
@@ -32202,7 +31765,7 @@ all-stage2-libiberty: configure-stage2-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32212,7 +31775,7 @@ clean-stage2-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stage2-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stage2-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32236,18 +31799,14 @@ configure-stage2-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 2 in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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@ 
@@ -32258,7 +31817,7 @@ all-stage2-zlib: configure-stage2-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32268,7 +31827,7 @@ clean-stage2-zlib:
        @[ -f zlib/Makefile ] || [ -f stage2-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stage2-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32302,99 +31861,150 @@ distclean-stage2::
 stage3-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stage3 > stage_current ; \
-       echo stage3 > stage_last
+       echo stage3 > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stage3-bfd ] || mkdir stage3-bfd; \
-       set stage3-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-opcodes ] || mkdir stage3-opcodes; \
-       set stage3-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-binutils ] || mkdir stage3-binutils; \
-       set stage3-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-gas ] || mkdir stage3-gas; \
-       set stage3-gas gas ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-gcc ] || mkdir stage3-gcc; \
-       set stage3-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-intl ] || mkdir stage3-intl; \
-       set stage3-intl intl ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-ld ] || mkdir stage3-ld; \
-       set stage3-ld ld ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-libcpp ] || mkdir stage3-libcpp; \
-       set stage3-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-libiberty ] || mkdir stage3-libiberty; \
-       set stage3-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage3-zlib ] || mkdir stage3-zlib; \
-       set stage3-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
-       set stage2-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @set bfd stage3-bfd ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage2-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stage3-bfd ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-bfd stage2-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stage3-opcodes ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-opcodes stage2-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stage3-binutils ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage2-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stage3-binutils ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-binutils stage2-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stage3-gas ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage2-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stage3-gas ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gas stage2-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stage3-gcc ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stage3-gcc ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gcc stage2-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stage3-intl ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage2-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stage3-intl ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-intl stage2-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stage3-ld ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage2-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stage3-ld ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-ld stage2-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stage3-libcpp ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libcpp stage2-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stage3-libiberty ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libiberty stage2-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stage3-zlib ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage2-zlib ; @UNDO_LINK_TO_DIR@ 
+       @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
@@ -32453,18 +32063,14 @@ configure-stage3-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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@ 
@@ -32475,7 +32081,7 @@ all-stage3-bfd: configure-stage3-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32485,7 +32091,7 @@ clean-stage3-bfd:
        @[ -f bfd/Makefile ] || [ -f stage3-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stage3-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32509,18 +32115,14 @@ configure-stage3-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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@ 
@@ -32531,7 +32133,7 @@ all-stage3-opcodes: configure-stage3-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32541,7 +32143,7 @@ clean-stage3-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stage3-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stage3-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32565,18 +32167,14 @@ configure-stage3-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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@ 
@@ -32587,7 +32185,7 @@ all-stage3-binutils: configure-stage3-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32597,7 +32195,7 @@ clean-stage3-binutils:
        @[ -f binutils/Makefile ] || [ -f stage3-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stage3-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32621,18 +32219,14 @@ configure-stage3-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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@ 
@@ -32643,7 +32237,7 @@ all-stage3-gas: configure-stage3-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32653,7 +32247,7 @@ clean-stage3-gas:
        @[ -f gas/Makefile ] || [ -f stage3-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stage3-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32677,18 +32271,14 @@ configure-stage3-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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@ 
@@ -32699,7 +32289,7 @@ all-stage3-gcc: configure-stage3-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS)
@@ -32709,7 +32299,7 @@ clean-stage3-gcc:
        @[ -f gcc/Makefile ] || [ -f stage3-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stage3-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS) clean
@@ -32733,18 +32323,14 @@ configure-stage3-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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@ 
@@ -32755,7 +32341,7 @@ all-stage3-intl: configure-stage3-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32765,7 +32351,7 @@ clean-stage3-intl:
        @[ -f intl/Makefile ] || [ -f stage3-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stage3-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32789,18 +32375,14 @@ configure-stage3-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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@ 
@@ -32811,7 +32393,7 @@ all-stage3-ld: configure-stage3-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32821,7 +32403,7 @@ clean-stage3-ld:
        @[ -f ld/Makefile ] || [ -f stage3-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stage3-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32845,18 +32427,14 @@ configure-stage3-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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@ 
@@ -32867,7 +32445,7 @@ all-stage3-libcpp: configure-stage3-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32877,7 +32455,7 @@ clean-stage3-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stage3-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stage3-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32901,18 +32479,14 @@ configure-stage3-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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@ 
@@ -32923,7 +32497,7 @@ all-stage3-libiberty: configure-stage3-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32933,7 +32507,7 @@ clean-stage3-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stage3-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stage3-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -32957,18 +32531,14 @@ configure-stage3-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 3 in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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@ 
@@ -32979,7 +32549,7 @@ all-stage3-zlib: configure-stage3-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -32989,7 +32559,7 @@ clean-stage3-zlib:
        @[ -f zlib/Makefile ] || [ -f stage3-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stage3-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33053,99 +32623,150 @@ cleanstrap: distclean bootstrap
 stage4-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stage4 > stage_current ; \
-       echo stage4 > stage_last
+       echo stage4 > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stage4-bfd ] || mkdir stage4-bfd; \
-       set stage4-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-opcodes ] || mkdir stage4-opcodes; \
-       set stage4-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-binutils ] || mkdir stage4-binutils; \
-       set stage4-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-gas ] || mkdir stage4-gas; \
-       set stage4-gas gas ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-gcc ] || mkdir stage4-gcc; \
-       set stage4-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-intl ] || mkdir stage4-intl; \
-       set stage4-intl intl ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-ld ] || mkdir stage4-ld; \
-       set stage4-ld ld ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-libcpp ] || mkdir stage4-libcpp; \
-       set stage4-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-libiberty ] || mkdir stage4-libiberty; \
-       set stage4-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @[ -d stage4-zlib ] || mkdir stage4-zlib; \
-       set stage4-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
-       set stage3-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
+       @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
-       @set bfd stage4-bfd ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage3-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stage4-bfd ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-bfd stage3-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stage4-opcodes ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stage4-opcodes ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-opcodes stage3-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stage4-binutils ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage3-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stage4-binutils ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-binutils stage3-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stage4-gas ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage3-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stage4-gas ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gas stage3-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stage4-gcc ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stage4-gcc ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gcc stage3-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stage4-intl ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage3-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stage4-intl ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-intl stage3-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stage4-ld ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage3-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stage4-ld ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-ld stage3-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stage4-libcpp ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stage4-libcpp ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libcpp stage3-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stage4-libiberty ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stage4-libiberty ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libiberty stage3-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stage4-zlib ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage3-zlib ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set zlib stage4-zlib ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-zlib stage3-zlib ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif zlib
 
 # Bubble a bugfix through all the stages up to stage 4.  They
@@ -33204,18 +32825,14 @@ configure-stage4-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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@ 
@@ -33226,7 +32843,7 @@ all-stage4-bfd: configure-stage4-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33236,7 +32853,7 @@ clean-stage4-bfd:
        @[ -f bfd/Makefile ] || [ -f stage4-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stage4-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33260,18 +32877,14 @@ configure-stage4-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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@ 
@@ -33282,7 +32895,7 @@ all-stage4-opcodes: configure-stage4-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33292,7 +32905,7 @@ clean-stage4-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stage4-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stage4-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33316,18 +32929,14 @@ configure-stage4-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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@ 
@@ -33338,7 +32947,7 @@ all-stage4-binutils: configure-stage4-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33348,7 +32957,7 @@ clean-stage4-binutils:
        @[ -f binutils/Makefile ] || [ -f stage4-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stage4-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33372,18 +32981,14 @@ configure-stage4-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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@ 
@@ -33394,7 +32999,7 @@ all-stage4-gas: configure-stage4-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33404,7 +33009,7 @@ clean-stage4-gas:
        @[ -f gas/Makefile ] || [ -f stage4-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stage4-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33428,18 +33033,14 @@ configure-stage4-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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@ 
@@ -33450,7 +33051,7 @@ all-stage4-gcc: configure-stage4-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS)
@@ -33460,7 +33061,7 @@ clean-stage4-gcc:
        @[ -f gcc/Makefile ] || [ -f stage4-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stage4-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 $(EXTRA_GCC_FLAGS) clean
@@ -33484,18 +33085,14 @@ configure-stage4-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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@ 
@@ -33506,7 +33103,7 @@ all-stage4-intl: configure-stage4-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33516,7 +33113,7 @@ clean-stage4-intl:
        @[ -f intl/Makefile ] || [ -f stage4-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stage4-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33540,18 +33137,14 @@ configure-stage4-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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@ 
@@ -33562,7 +33155,7 @@ all-stage4-ld: configure-stage4-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33572,7 +33165,7 @@ clean-stage4-ld:
        @[ -f ld/Makefile ] || [ -f stage4-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stage4-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33596,18 +33189,14 @@ configure-stage4-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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@ 
@@ -33618,7 +33207,7 @@ all-stage4-libcpp: configure-stage4-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33628,7 +33217,7 @@ clean-stage4-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stage4-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stage4-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33652,18 +33241,14 @@ configure-stage4-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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@ 
@@ -33674,7 +33259,7 @@ all-stage4-libiberty: configure-stage4-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33684,7 +33269,7 @@ clean-stage4-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stage4-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stage4-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33708,18 +33293,14 @@ configure-stage4-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage 4 in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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@ 
@@ -33730,7 +33311,7 @@ all-stage4-zlib: configure-stage4-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                 
@@ -33740,7 +33321,7 @@ clean-stage4-zlib:
        @[ -f zlib/Makefile ] || [ -f stage4-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stage4-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                  clean
@@ -33801,99 +33382,150 @@ distclean-stage4::
 stageprofile-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stageprofile > stage_current ; \
-       echo stageprofile > stage_last
+       echo stageprofile > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stageprofile-bfd ] || mkdir stageprofile-bfd; \
-       set stageprofile-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-bfd ] || \
+         mkdir stageprofile-bfd; \
+       set stageprofile-bfd bfd ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-bfd prev-bfd ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @[ -d stageprofile-opcodes ] || mkdir stageprofile-opcodes; \
-       set stageprofile-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-opcodes ] || \
+         mkdir stageprofile-opcodes; \
+       set stageprofile-opcodes opcodes ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-opcodes prev-opcodes ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @[ -d stageprofile-binutils ] || mkdir stageprofile-binutils; \
-       set stageprofile-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-binutils ] || \
+         mkdir stageprofile-binutils; \
+       set stageprofile-binutils binutils ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-binutils prev-binutils ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @[ -d stageprofile-gas ] || mkdir stageprofile-gas; \
-       set stageprofile-gas gas ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-gas ] || \
+         mkdir stageprofile-gas; \
+       set stageprofile-gas gas ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-gas prev-gas ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @[ -d stageprofile-gcc ] || mkdir stageprofile-gcc; \
-       set stageprofile-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-gcc ] || \
+         mkdir stageprofile-gcc; \
+       set stageprofile-gcc gcc ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-gcc prev-gcc ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @[ -d stageprofile-intl ] || mkdir stageprofile-intl; \
-       set stageprofile-intl intl ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-intl ] || \
+         mkdir stageprofile-intl; \
+       set stageprofile-intl intl ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-intl prev-intl ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @[ -d stageprofile-ld ] || mkdir stageprofile-ld; \
-       set stageprofile-ld ld ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-ld ] || \
+         mkdir stageprofile-ld; \
+       set stageprofile-ld ld ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-ld prev-ld ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @[ -d stageprofile-libcpp ] || mkdir stageprofile-libcpp; \
-       set stageprofile-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-libcpp ] || \
+         mkdir stageprofile-libcpp; \
+       set stageprofile-libcpp libcpp ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-libcpp prev-libcpp ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @[ -d stageprofile-libiberty ] || mkdir stageprofile-libiberty; \
-       set stageprofile-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-libiberty ] || \
+         mkdir stageprofile-libiberty; \
+       set stageprofile-libiberty libiberty ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-libiberty prev-libiberty ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @[ -d stageprofile-zlib ] || mkdir stageprofile-zlib; \
-       set stageprofile-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stageprofile-zlib ] || \
+         mkdir stageprofile-zlib; \
+       set stageprofile-zlib zlib ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-zlib prev-zlib ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif zlib
 
 stageprofile-end::
        @rm -f stage_current
 @if bfd
-       @set bfd stageprofile-bfd ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stageprofile-bfd ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-bfd stage1-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stageprofile-opcodes ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stageprofile-opcodes ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-opcodes stage1-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stageprofile-binutils ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stageprofile-binutils ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-binutils stage1-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stageprofile-gas ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stageprofile-gas ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gas stage1-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stageprofile-gcc ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stageprofile-gcc ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gcc stage1-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stageprofile-intl ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stageprofile-intl ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-intl stage1-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stageprofile-ld ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stageprofile-ld ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-ld stage1-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stageprofile-libcpp ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stageprofile-libcpp ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libcpp stage1-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stageprofile-libiberty ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stageprofile-libiberty ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libiberty stage1-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stageprofile-zlib ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set zlib stageprofile-zlib ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-zlib stage1-zlib ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif zlib
 
 # Bubble a bugfix through all the stages up to stage profile.  They
@@ -33951,18 +33583,14 @@ configure-stageprofile-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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@ 
@@ -33973,7 +33601,7 @@ all-stageprofile-bfd: configure-stageprofile-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -33983,7 +33611,7 @@ clean-stageprofile-bfd:
        @[ -f bfd/Makefile ] || [ -f stageprofile-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34007,18 +33635,14 @@ configure-stageprofile-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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@ 
@@ -34029,7 +33653,7 @@ all-stageprofile-opcodes: configure-stageprofile-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34039,7 +33663,7 @@ clean-stageprofile-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stageprofile-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34063,18 +33687,14 @@ configure-stageprofile-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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@ 
@@ -34085,7 +33705,7 @@ all-stageprofile-binutils: configure-stageprofile-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34095,7 +33715,7 @@ clean-stageprofile-binutils:
        @[ -f binutils/Makefile ] || [ -f stageprofile-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34119,18 +33739,14 @@ configure-stageprofile-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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@ 
@@ -34141,7 +33757,7 @@ all-stageprofile-gas: configure-stageprofile-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34151,7 +33767,7 @@ clean-stageprofile-gas:
        @[ -f gas/Makefile ] || [ -f stageprofile-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34175,18 +33791,14 @@ configure-stageprofile-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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@ 
@@ -34197,7 +33809,7 @@ all-stageprofile-gcc: configure-stageprofile-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS)
@@ -34207,7 +33819,7 @@ clean-stageprofile-gcc:
        @[ -f gcc/Makefile ] || [ -f stageprofile-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) clean
@@ -34231,18 +33843,14 @@ configure-stageprofile-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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@ 
@@ -34253,7 +33861,7 @@ all-stageprofile-intl: configure-stageprofile-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34263,7 +33871,7 @@ clean-stageprofile-intl:
        @[ -f intl/Makefile ] || [ -f stageprofile-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34287,18 +33895,14 @@ configure-stageprofile-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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@ 
@@ -34309,7 +33913,7 @@ all-stageprofile-ld: configure-stageprofile-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34319,7 +33923,7 @@ clean-stageprofile-ld:
        @[ -f ld/Makefile ] || [ -f stageprofile-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34343,18 +33947,14 @@ configure-stageprofile-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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@ 
@@ -34365,7 +33965,7 @@ all-stageprofile-libcpp: configure-stageprofile-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34375,7 +33975,7 @@ clean-stageprofile-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stageprofile-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34399,18 +33999,14 @@ configure-stageprofile-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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@ 
@@ -34421,7 +34017,7 @@ all-stageprofile-libiberty: configure-stageprofile-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34431,7 +34027,7 @@ clean-stageprofile-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stageprofile-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34455,18 +34051,14 @@ configure-stageprofile-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage profile in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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@ 
@@ -34477,7 +34069,7 @@ all-stageprofile-zlib: configure-stageprofile-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
@@ -34487,7 +34079,7 @@ clean-stageprofile-zlib:
        @[ -f zlib/Makefile ] || [ -f stageprofile-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stageprofile-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
@@ -34518,99 +34110,150 @@ distclean-stageprofile::
 stagefeedback-start::
        @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
        echo stagefeedback > stage_current ; \
-       echo stagefeedback > stage_last
+       echo stagefeedback > stage_last; \
+       $(mkinstalldirs) $(HOST_SUBDIR)
 @if bfd
-       @[ -d stagefeedback-bfd ] || mkdir stagefeedback-bfd; \
-       set stagefeedback-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-bfd ] || \
+         mkdir stagefeedback-bfd; \
+       set stagefeedback-bfd bfd ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-bfd prev-bfd ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @[ -d stagefeedback-opcodes ] || mkdir stagefeedback-opcodes; \
-       set stagefeedback-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-opcodes ] || \
+         mkdir stagefeedback-opcodes; \
+       set stagefeedback-opcodes opcodes ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-opcodes prev-opcodes ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @[ -d stagefeedback-binutils ] || mkdir stagefeedback-binutils; \
-       set stagefeedback-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-binutils ] || \
+         mkdir stagefeedback-binutils; \
+       set stagefeedback-binutils binutils ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-binutils prev-binutils ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @[ -d stagefeedback-gas ] || mkdir stagefeedback-gas; \
-       set stagefeedback-gas gas ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-gas ] || \
+         mkdir stagefeedback-gas; \
+       set stagefeedback-gas gas ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-gas prev-gas ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @[ -d stagefeedback-gcc ] || mkdir stagefeedback-gcc; \
-       set stagefeedback-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-gcc ] || \
+         mkdir stagefeedback-gcc; \
+       set stagefeedback-gcc gcc ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-gcc prev-gcc ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @[ -d stagefeedback-intl ] || mkdir stagefeedback-intl; \
-       set stagefeedback-intl intl ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-intl ] || \
+         mkdir stagefeedback-intl; \
+       set stagefeedback-intl intl ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-intl prev-intl ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @[ -d stagefeedback-ld ] || mkdir stagefeedback-ld; \
-       set stagefeedback-ld ld ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-ld ] || \
+         mkdir stagefeedback-ld; \
+       set stagefeedback-ld ld ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-ld prev-ld ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @[ -d stagefeedback-libcpp ] || mkdir stagefeedback-libcpp; \
-       set stagefeedback-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-libcpp ] || \
+         mkdir stagefeedback-libcpp; \
+       set stagefeedback-libcpp libcpp ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-libcpp prev-libcpp ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @[ -d stagefeedback-libiberty ] || mkdir stagefeedback-libiberty; \
-       set stagefeedback-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-libiberty ] || \
+         mkdir stagefeedback-libiberty; \
+       set stagefeedback-libiberty libiberty ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-libiberty prev-libiberty ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @[ -d stagefeedback-zlib ] || mkdir stagefeedback-zlib; \
-       set stagefeedback-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
-       set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); [ -d stagefeedback-zlib ] || \
+         mkdir stagefeedback-zlib; \
+       set stagefeedback-zlib zlib ; \
+       @CREATE_LINK_TO_DIR@  ; \
+       set stage1-zlib prev-zlib ; \
+       @CREATE_LINK_TO_DIR@ 
 @endif zlib
 
 stagefeedback-end::
        @rm -f stage_current
 @if bfd
-       @set bfd stagefeedback-bfd ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set bfd stagefeedback-bfd ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-bfd stage1-bfd ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif bfd
 @if opcodes
-       @set opcodes stagefeedback-opcodes ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set opcodes stagefeedback-opcodes ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-opcodes stage1-opcodes ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif opcodes
 @if binutils
-       @set binutils stagefeedback-binutils ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set binutils stagefeedback-binutils ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-binutils stage1-binutils ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif binutils
 @if gas
-       @set gas stagefeedback-gas ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gas stagefeedback-gas ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gas stage1-gas ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gas
 @if gcc
-       @set gcc stagefeedback-gcc ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set gcc stagefeedback-gcc ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-gcc stage1-gcc ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif gcc
 @if intl
-       @set intl stagefeedback-intl ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set intl stagefeedback-intl ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-intl stage1-intl ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif intl
 @if ld
-       @set ld stagefeedback-ld ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set ld stagefeedback-ld ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-ld stage1-ld ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif ld
 @if libcpp
-       @set libcpp stagefeedback-libcpp ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libcpp stagefeedback-libcpp ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libcpp stage1-libcpp ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libcpp
 @if libiberty
-       @set libiberty stagefeedback-libiberty ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set libiberty stagefeedback-libiberty ; \
+       @UNDO_LINK_TO_DIR@  ; \
+       set prev-libiberty stage1-libiberty ; \
+       @UNDO_LINK_TO_DIR@ 
 @endif libiberty
 @if zlib
-       @set zlib stagefeedback-zlib ; @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
+       @cd $(HOST_SUBDIR); set zlib stagefeedback-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 feedback.  They
@@ -34668,18 +34311,14 @@ configure-stagefeedback-bfd:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in bfd ; \
-       cd bfd || exit 1; \
+       cd $(HOST_SUBDIR)/bfd || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/bfd"; \
-           libsrcdir="$$s/bfd";; \
+         /* | [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@ 
@@ -34690,7 +34329,7 @@ all-stagefeedback-bfd: configure-stagefeedback-bfd
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -34700,7 +34339,7 @@ clean-stagefeedback-bfd:
        @[ -f bfd/Makefile ] || [ -f stagefeedback-bfd/Makefile ] \
          || exit 0 ; \
        [ -f bfd/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd bfd && \
+       cd $(HOST_SUBDIR)/bfd && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -34724,18 +34363,14 @@ configure-stagefeedback-opcodes:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in opcodes ; \
-       cd opcodes || exit 1; \
+       cd $(HOST_SUBDIR)/opcodes || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
-           libsrcdir="$$s/opcodes";; \
+         /* | [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@ 
@@ -34746,7 +34381,7 @@ all-stagefeedback-opcodes: configure-stagefeedback-opcodes
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -34756,7 +34391,7 @@ clean-stagefeedback-opcodes:
        @[ -f opcodes/Makefile ] || [ -f stagefeedback-opcodes/Makefile ] \
          || exit 0 ; \
        [ -f opcodes/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd opcodes && \
+       cd $(HOST_SUBDIR)/opcodes && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -34780,18 +34415,14 @@ configure-stagefeedback-binutils:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in binutils ; \
-       cd binutils || exit 1; \
+       cd $(HOST_SUBDIR)/binutils || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/binutils"; \
-           libsrcdir="$$s/binutils";; \
+         /* | [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@ 
@@ -34802,7 +34433,7 @@ all-stagefeedback-binutils: configure-stagefeedback-binutils
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -34812,7 +34443,7 @@ clean-stagefeedback-binutils:
        @[ -f binutils/Makefile ] || [ -f stagefeedback-binutils/Makefile ] \
          || exit 0 ; \
        [ -f binutils/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd binutils && \
+       cd $(HOST_SUBDIR)/binutils && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -34836,18 +34467,14 @@ configure-stagefeedback-gas:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in gas ; \
-       cd gas || exit 1; \
+       cd $(HOST_SUBDIR)/gas || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gas"; \
-           libsrcdir="$$s/gas";; \
+         /* | [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@ 
@@ -34858,7 +34485,7 @@ all-stagefeedback-gas: configure-stagefeedback-gas
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -34868,7 +34495,7 @@ clean-stagefeedback-gas:
        @[ -f gas/Makefile ] || [ -f stagefeedback-gas/Makefile ] \
          || exit 0 ; \
        [ -f gas/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd gas && \
+       cd $(HOST_SUBDIR)/gas && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -34892,18 +34519,14 @@ configure-stagefeedback-gcc:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in gcc ; \
-       cd gcc || exit 1; \
+       cd $(HOST_SUBDIR)/gcc || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/gcc"; \
-           libsrcdir="$$s/gcc";; \
+         /* | [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@ 
@@ -34914,7 +34537,7 @@ all-stagefeedback-gcc: configure-stagefeedback-gcc
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS)
@@ -34924,7 +34547,7 @@ clean-stagefeedback-gcc:
        @[ -f gcc/Makefile ] || [ -f stagefeedback-gcc/Makefile ] \
          || exit 0 ; \
        [ -f gcc/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd gcc && \
+       cd $(HOST_SUBDIR)/gcc && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) clean
@@ -34948,18 +34571,14 @@ configure-stagefeedback-intl:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in intl ; \
-       cd intl || exit 1; \
+       cd $(HOST_SUBDIR)/intl || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/intl"; \
-           libsrcdir="$$s/intl";; \
+         /* | [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@ 
@@ -34970,7 +34589,7 @@ all-stagefeedback-intl: configure-stagefeedback-intl
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -34980,7 +34599,7 @@ clean-stagefeedback-intl:
        @[ -f intl/Makefile ] || [ -f stagefeedback-intl/Makefile ] \
          || exit 0 ; \
        [ -f intl/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd intl && \
+       cd $(HOST_SUBDIR)/intl && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -35004,18 +34623,14 @@ configure-stagefeedback-ld:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in ld ; \
-       cd ld || exit 1; \
+       cd $(HOST_SUBDIR)/ld || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/ld"; \
-           libsrcdir="$$s/ld";; \
+         /* | [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@ 
@@ -35026,7 +34641,7 @@ all-stagefeedback-ld: configure-stagefeedback-ld
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -35036,7 +34651,7 @@ clean-stagefeedback-ld:
        @[ -f ld/Makefile ] || [ -f stagefeedback-ld/Makefile ] \
          || exit 0 ; \
        [ -f ld/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd ld && \
+       cd $(HOST_SUBDIR)/ld && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -35060,18 +34675,14 @@ configure-stagefeedback-libcpp:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in libcpp ; \
-       cd libcpp || exit 1; \
+       cd $(HOST_SUBDIR)/libcpp || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
-           libsrcdir="$$s/libcpp";; \
+         /* | [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@ 
@@ -35082,7 +34693,7 @@ all-stagefeedback-libcpp: configure-stagefeedback-libcpp
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -35092,7 +34703,7 @@ clean-stagefeedback-libcpp:
        @[ -f libcpp/Makefile ] || [ -f stagefeedback-libcpp/Makefile ] \
          || exit 0 ; \
        [ -f libcpp/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd libcpp && \
+       cd $(HOST_SUBDIR)/libcpp && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -35116,18 +34727,14 @@ configure-stagefeedback-libiberty:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in libiberty ; \
-       cd libiberty || exit 1; \
+       cd $(HOST_SUBDIR)/libiberty || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
-           libsrcdir="$$s/libiberty";; \
+         /* | [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@ 
@@ -35138,7 +34745,7 @@ all-stagefeedback-libiberty: configure-stagefeedback-libiberty
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -35148,7 +34755,7 @@ clean-stagefeedback-libiberty:
        @[ -f libiberty/Makefile ] || [ -f stagefeedback-libiberty/Makefile ] \
          || exit 0 ; \
        [ -f libiberty/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd libiberty && \
+       cd $(HOST_SUBDIR)/libiberty && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -35172,18 +34779,14 @@ configure-stagefeedback-zlib:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
        echo Configuring stage feedback in zlib ; \
-       cd zlib || exit 1; \
+       cd $(HOST_SUBDIR)/zlib || exit 1; \
        case $(srcdir) in \
-         \.) \
-           srcdiroption="--srcdir=."; \
-           libsrcdir=".";; \
-         /* | [A-Za-z]:[\\/]*) \
-           srcdiroption="--srcdir=$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
-         *) \
-           srcdiroption="--srcdir=../$(srcdir)/zlib"; \
-           libsrcdir="$$s/zlib";; \
+         /* | [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@ 
@@ -35194,7 +34797,7 @@ all-stagefeedback-zlib: configure-stagefeedback-zlib
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
        $(STAGE_HOST_EXPORTS)  \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
@@ -35204,7 +34807,7 @@ clean-stagefeedback-zlib:
        @[ -f zlib/Makefile ] || [ -f stagefeedback-zlib/Makefile ] \
          || exit 0 ; \
        [ -f zlib/Makefile ] || $(MAKE) stagefeedback-start ; \
-       cd zlib && \
+       cd $(HOST_SUBDIR)/zlib && \
        $(MAKE) $(FLAGS_TO_PASS)  \
                $(POSTSTAGE1_FLAGS_TO_PASS)  \
                CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
@@ -35898,7 +35501,7 @@ $(srcdir)/Makefile.in: @MAINT@ $(srcdir)/Makefile.tpl $(srcdir)/Makefile.def
 Makefile: $(srcdir)/Makefile.in config.status
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
-config.status: configure $(gcc_version_trigger)
+config.status: configure
        CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
 
 # Rebuilding configure.