diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e8bfdd0204575034690771eae2b2f815e2330be..4dbcddf828b43054599687ee202b7849f305b0cb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+
+	* Makefile.in (sub-makes): Pass the current value of LANGUAGES down
+	to sub-makes to avoid building more passes than the user might have
+	requested on the command line.
+
 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
 
 	* configure.in: Expurgate `broken_install' (install is
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index adf5db49806af9a1684db285e22e9dad8ebc3214..ebb8fbb034c6c8189776370263283c52c5830585 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -969,6 +969,7 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
 	  	  AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" \
 		  CFLAGS="$(CFLAGS)" HOST_PREFIX="$(HOST_PREFIX)" \
 		  HOST_PREFIX_1="$(HOST_PREFIX_1)" \
+		  LANGUAGES="$(LANGUAGES)" \
 		  LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)" $${f}; \
 	        if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
 	        $(AR) $(AR_FLAGS) tmplibgcc2.a $${f}; \
@@ -1039,6 +1040,7 @@ stmp-multilib: $(LIBGCC1) libgcc2.c libgcc2.ready $(CONFIG_H) \
 	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
 	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
 	    RANLIB="$(RANLIB)" RANLIB_TEST="$(RANLIB_TEST)" \
+	    LANGUAGES="$(LANGUAGES)" \
 	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
 	    LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS) $${flags}" \
 	    MULTILIB_CFLAGS="$${flags}" \
@@ -1059,6 +1061,7 @@ stmp-multilib-sub:
 	$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
 	  AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
 	  HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
+	  LANGUAGES="$(LANGUAGES)" \
 	  LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)" $(LIBGCC2)
 	if [ x$(LIBGCC1) != xlibgcc1-asm.a ]; \
 	then true; \
@@ -1070,6 +1073,7 @@ stmp-multilib-sub:
 	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
 	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
 	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
+	    LANGUAGES="$(LANGUAGES)" \
 	    LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)" $(LIBGCC1); \
 	fi
 	rm -rf tmplibgcc.a tmpcopy
@@ -1088,6 +1092,7 @@ stmp-multilib-sub:
 	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
 	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
 	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
+	    LANGUAGES="$(LANGUAGES" \
 	    MULTILIB_CFLAGS="$(MULTILIB_CFLAGS)" T="t" t$${f}; \
 	  mv t$${f} $(dir)/$${f}; \
 	else true; \