diff --git a/gdb/doc/Makefile.in b/gdb/doc/Makefile.in
index 8007f6373d4..b999e3ffd3b 100644
--- a/gdb/doc/Makefile.in
+++ b/gdb/doc/Makefile.in
@@ -33,6 +33,8 @@ man5dir = $(mandir)/man5
 
 transform = @program_transform_name@
 
+include $(srcdir)/../silent-rules.mk
+
 SHELL = @SHELL@
 
 LN_S = @LN_S@
@@ -406,55 +408,58 @@ de-stage3: force
 
 # GDB QUICK REFERENCE (dvi output)
 refcard.dvi : refcard.tex $(REFEDITS)
-	echo > tmp.sed
-	for f in x $(REFEDITS) ; do \
+	$(ECHO_GEN)
+	$(SILENCE) echo > tmp.sed
+	$(SILENCE) for f in x $(REFEDITS) ; do \
 		test x$$f = xx && continue ; \
 		cat $(srcdir)/$$f >>tmp.sed ; \
 	done
-	sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
-	$(SET_TEXINPUTS) $(TEX) sedref.tex
-	mv sedref.dvi refcard.dvi
-	rm -f sedref.log sedref.tex tmp.sed
+	$(SILENCE) sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
+	$(SILENCE) $(SET_TEXINPUTS) $(TEX) sedref.tex
+	$(SILENCE) mv sedref.dvi refcard.dvi
+	$(SILENCE) rm -f sedref.log sedref.tex tmp.sed
 
 refcard.ps : refcard.dvi
-	$(DVIPS) -t landscape -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -t landscape -o $@ $?
 
 refcard.pdf : refcard.tex $(REFEDITS)
-	echo > tmp.sed
-	for f in x $(REFEDITS) ; do \
+	$(ECHO_GEN)
+	$(SILENCE) echo > tmp.sed
+	$(SILENCE) for f in x $(REFEDITS) ; do \
 		test x$$f = xx && continue ; \
 		cat $(srcdir)/$$f >>tmp.sed ; \
 	done
-	sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
-	$(SET_TEXINPUTS) $(PDFTEX) sedref.tex
-	mv sedref.pdf refcard.pdf
-	rm -f sedref.log sedref.tex tmp.sed
+	$(SILENCE) sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
+	$(SILENCE) $(SET_TEXINPUTS) $(PDFTEX) sedref.tex
+	$(SILENCE) mv sedref.pdf refcard.pdf
+	$(SILENCE) rm -f sedref.log sedref.tex tmp.sed
 
 # File to record current GDB version number.
 GDBvn.texi : version.subst
-	echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new
-	if [ -n "$(PKGVERSION)" ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new
+	$(SILENCE) if [ -n "$(PKGVERSION)" ]; then \
 	  echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \
 	fi
-	echo "@set BUGURL $(BUGURL_TEXI)" >> ./GDBvn.new
-	if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \
+	$(SILENCE) echo "@set BUGURL $(BUGURL_TEXI)" >> ./GDBvn.new
+	$(SILENCE) if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \
 	  echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \
 	fi
-	if test -z "$(READLINE_TEXI_INCFLAG)"; then \
+	$(SILENCE) if test -z "$(READLINE_TEXI_INCFLAG)"; then \
 	  echo "@set SYSTEM_READLINE" >> ./GDBvn.new; \
 	fi
-	if [ -n "$(SYSTEM_GDBINIT)" ]; then \
+	$(SILENCE) if [ -n "$(SYSTEM_GDBINIT)" ]; then \
 	  escaped_system_gdbinit=`echo $(SYSTEM_GDBINIT) | sed 's/@/@@/g'`; \
 	  echo "@set SYSTEM_GDBINIT $$escaped_system_gdbinit" >> ./GDBvn.new; \
 	fi
-	if [ -n "$(SYSTEM_GDBINIT_DIR)" ]; then \
+	$(SILENCE) if [ -n "$(SYSTEM_GDBINIT_DIR)" ]; then \
 	  escaped_system_gdbinit_dir=`echo $(SYSTEM_GDBINIT_DIR) | sed 's/@/@@/g'`; \
 	  echo "@set SYSTEM_GDBINIT_DIR $$escaped_system_gdbinit_dir" >> ./GDBvn.new; \
 	fi
-	mv GDBvn.new GDBvn.texi
+	$(SILENCE) mv GDBvn.new GDBvn.texi
 
 version.subst: $(gdbdir)/version.in $(gdbdir)/../bfd/version.h
-	date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \
+	$(ECHO_GEN) date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \
 	sed -e "s/DATE/$$date/" < $(gdbdir)/version.in > version.subst
 
 # Updated atomically
@@ -465,7 +470,7 @@ version.subst: $(gdbdir)/version.in $(gdbdir)/../bfd/version.h
 # not one for their binary config---which may not be specifically
 # defined anyways).
 gdb-cfg.texi: ${srcdir}/${DOC_CONFIG}-cfg.texi
-	(test "$(LN_S)" = "ln -s" && \
+	$(ECHO_GEN) (test "$(LN_S)" = "ln -s" && \
 	  ln -s ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi) || \
 	ln ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi || \
 	cp ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi
@@ -487,29 +492,32 @@ GDB_TEX_TMPS = gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc \
 
 # GDB MANUAL: TeX dvi file
 gdb.dvi: ${GDB_DOC_FILES}
-	if [ ! -f ./GDBvn.texi ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) if [ ! -f ./GDBvn.texi ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(srcdir)/GDBvn.texi .) || \
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
-	rm -f $(GDB_TEX_TMPS)
-	$(TEXI2DVI) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
-		$(srcdir)/gdb.texinfo
+	$(SILENCE) rm -f $(GDB_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) $(READLINE_TEXI_INCFLAG) \
+		-I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo
 
 gdb.ps: gdb.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 gdb.pdf: ${GDB_DOC_FILES}
-	if [ ! -f ./GDBvn.texi ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) if [ ! -f ./GDBvn.texi ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(srcdir)/GDBvn.texi .) || \
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
-	rm -f $(GDB_TEX_TMPS)
-	$(TEXI2DVI) --pdf $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
+	$(SILENCE) rm -f $(GDB_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf \
+		$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		$(srcdir)/gdb.texinfo
 
 # GDB MANUAL: info file
 gdb.info: ${GDB_DOC_FILES}
-	$(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
+	$(ECHO_GEN) $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		-o gdb.info $(srcdir)/gdb.texinfo
 
 # GDB MANUAL: roff translations
@@ -527,16 +535,16 @@ gdb.info: ${GDB_DOC_FILES}
 # it out for gdb manual's include files---but only if not configured
 # in main sourcedir.
 links2roff: $(GDB_DOC_SOURCE_INCLUDES)
-	if [ ! -f gdb.texinfo ]; then \
+	$(ECHO_GEN) if [ ! -f gdb.texinfo ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(GDB_DOC_SOURCE_INCLUDES) .) || \
 		ln $(GDB_DOC_SOURCE_INCLUDES)    . || \
 		cp $(GDB_DOC_SOURCE_INCLUDES)    . ; \
 	fi
-	touch links2roff
+	$(SILENCE) touch links2roff
 
 # gdb manual suitable for [gtn]roff -me
 gdb.me: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -551,7 +559,7 @@ gdb.me: $(GDB_DOC_FILES) links2roff
 
 # gdb manual suitable for [gtn]roff -ms
 gdb.ms: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -568,7 +576,7 @@ gdb.ms: $(GDB_DOC_FILES) links2roff
 # '@noindent's removed due to texi2roff-2 mm bug; if yours is newer, 
 #   try leaving them in
 gdb.mm: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -585,18 +593,18 @@ gdb.mm: $(GDB_DOC_FILES) links2roff
 # GDB MANUAL: HTML file
 
 gdb/index.html: ${GDB_DOC_FILES}
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o gdb \
 		$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		$(srcdir)/gdb.texinfo
 
 stabs.info: $(STABS_DOC_FILES)
-	$(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) $(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
 
 # STABS DOCUMENTATION: HTML file
 
 stabs/index.html: $(STABS_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o stabs \
 		-I $(srcdir) \
 		$(srcdir)/stabs.texinfo
@@ -609,15 +617,17 @@ STABS_TEX_TMPS = stabs.aux stabs.cp* stabs.fn* stabs.ky* \
 
 # STABS DOCUMENTATION: TeX dvi file
 stabs.dvi : $(STABS_DOC_FILES)
-	rm -f $(STABS_TEX_TMPS)
-	$(TEXI2DVI) -I $(srcdir) $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) rm -f $(STABS_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \
+		$(srcdir)/stabs.texinfo
 
 stabs.ps: stabs.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 stabs.pdf: $(STABS_DOC_FILES)
-	rm -f $(STABS_TEX_TMPS)
-	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) rm -f $(STABS_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf -I $(srcdir) \
+		$(srcdir)/stabs.texinfo
 
 # Clean these up before each run.  Avoids a catch 22 with not being
 # able to re-generate these files (to fix a corruption) because these
@@ -627,65 +637,67 @@ ANNOTATE_TEX_TMPS = annotate.aux annotate.cp* annotate.fn* annotate.ky* \
 
 # ANNOTATE DOCUMENTATION: TeX dvi file
 annotate.dvi : $(ANNOTATE_DOC_FILES)
-	rm -f $(ANNOTATE_TEX_TMPS)
-	$(TEXI2DVI) -I $(srcdir) $(srcdir)/annotate.texinfo
+	$(SILENCE) rm -f $(ANNOTATE_TEX_TMPS)
+	$(ECHO_GEN) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \
+		$(srcdir)/annotate.texinfo
 
 annotate.ps: annotate.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 annotate.pdf: $(ANNOTATE_DOC_FILES)
-	rm -f $(ANNOTATE_TEX_TMPS)
-	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo
+	$(SILENCE) rm -f $(ANNOTATE_TEX_TMPS)
+	$(ECHO_GEN) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf -I $(srcdir) \
+		$(srcdir)/annotate.texinfo
 
 annotate.info: $(ANNOTATE_DOC_FILES)
-	$(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
+	$(ECHO_GEN) $(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
 
 annotate/index.html: $(ANNOTATE_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o annotate \
 		-I $(srcdir) \
 		$(srcdir)/annotate.texinfo
 
 # Man pages
 gdb.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod
-	-($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod
+	$(SILENCE) -($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdb.pod
+	$(SILENCE) rm -f gdb.pod
 
 gdbserver.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod
-	-($(POD2MAN1) gdbserver.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod
+	$(SILENCE) -($(POD2MAN1) gdbserver.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdbserver.pod
+	$(SILENCE) rm -f gdbserver.pod
 
 gcore.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod
-	-($(POD2MAN1) gcore.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod
+	$(SILENCE) -($(POD2MAN1) gcore.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gcore.pod
+	$(SILENCE) rm -f gcore.pod
 
 gdb-add-index.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
-	-($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
+	$(SILENCE) -($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdb-add-index.pod
+	$(SILENCE) rm -f gdb-add-index.pod
 
 gdbinit.5: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod
-	-($(POD2MAN5) gdbinit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod
+	$(SILENCE) -($(POD2MAN5) gdbinit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdbinit.pod
+	$(SILENCE) rm -f gdbinit.pod
 
 force:
 
 Makefile: Makefile.in $(host_makefile_frag) ../config.status
-	cd .. && $(SHELL) ./config.status doc/Makefile
+	$(ECHO_GEN) cd .. && $(SHELL) ./config.status $(SILENT_FLAG) doc/Makefile
 
 
 # The "least clean" level of cleaning.  Get rid of files which are
diff --git a/gdb/silent-rules.mk b/gdb/silent-rules.mk
index 43dc2bf3aca..324dae52954 100644
--- a/gdb/silent-rules.mk
+++ b/gdb/silent-rules.mk
@@ -20,6 +20,7 @@ ECHO_RANLIB = @echo "  RANLIB $@";
 SILENCE = @
 # Silence libtool.
 SILENT_FLAG = --silent
+SILENT_QUIET_FLAG = -q
 # Used in shell snippets instead of 'echo'.
 SILENT_ECHO = true
 else
