diff --git a/gas/ChangeLog b/gas/ChangeLog
index a064943090f..4cc10f54c1f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun  7 13:33:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* Makefile.in (mostlyclean, realclean): New targets.
+	* doc/Makefile.in, testsuite/Makefile.in: Likewise.
+
 Mon Jun  6 13:10:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
 	* config/tc-mips.c (RDATA_SECTION_NAME): Define.
diff --git a/gas/Makefile.in b/gas/Makefile.in
index 84b0c0bafe9..c9e4d8d0914 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -19,7 +19,7 @@
 
 # The targets for external use include:
 # all, doc, proto, install, uninstall, includes, TAGS,
-# clean, cleanconfig, realclean, stage1, stage2, stage3, stage4.
+# clean, mostlyclean, distclean, realclean, stage1, stage2, stage3, stage4.
 
 # Variables that exist for you to override.
 # See below for how to change them for certain systems.
@@ -430,17 +430,17 @@ $(srcdir)/as.info: $(srcdir)/doc/as.texinfo
 clean-here:
 	-rm -f $(STAGESTUFF) core
 
-clean: clean-here
-	@cd doc ; $(MAKE) $(FLAGS_TO_PASS) clean
+clean mostlyclean: clean-here
+	@cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@
 	@if [ -d testsuite ] ; then \
-	  cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) clean ; \
+	  cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) $@ ; \
 	else true; fi
 
 # Like clean but also delete the links made to configure gas.
-distclean: clean-here
-	@cd doc ; $(MAKE) $(FLAGS_TO_PASS) distclean
+distclean realclean: clean-here
+	@cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@
 	@if [ -d testsuite ] ; then \
-	  cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) distclean ; \
+	  cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) $@ ; \
 	else true; fi
 	-rm -f config.status Makefile host.h targ-env.h targ-cpu.h \
 		targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \
@@ -534,7 +534,8 @@ de-stage3: force
 	- rmdir stage3
 
 #In GNU Make, ignore whether `stage*' exists.
-.PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap
+.PHONY: stage1 stage2 stage3 stage4 clean mostlyclean realclean distclean
+.PHONY: TAGS bootstrap
 
 force:
 
diff --git a/gas/testsuite/Makefile.in b/gas/testsuite/Makefile.in
index aa774be7007..80bdf09ec1b 100644
--- a/gas/testsuite/Makefile.in
+++ b/gas/testsuite/Makefile.in
@@ -134,10 +134,10 @@ check:  site.exp
 
 force:
 
-clean:
+clean mostlyclean:
 	-rm -f *~ core *.o a.out xgdb *.x a.out b.out
 
-distclean: clean
+distclean realclean: clean
 	-rm -f *~ core
 	-rm -f Makefile config.status
 	-rm -fr *.log summary detail