From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 30C1A3858D35 for ; Tue, 16 Apr 2024 08:47:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 30C1A3858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 30C1A3858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713257246; cv=none; b=Pm2pgXbkgsUV1U28F5oGo3sd3GXzKXS6sciU82fmCpP9jAFbVrkP/3eBbnkPgUR8Wo3U5IYYBZ+ixO18+t4qxKfmzzJZxeJAYrIK2r+2W1vK/kglCaObQAw9+6moO2NQ/gx84GPCL5b7pQG1xcPY/mqaXXfFWkvPyKcFhijYp18= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713257246; c=relaxed/simple; bh=p8XS/9Wi9A7lTX7rs651CQnnkwHi2gyIGZAaNP6E1e4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ksHsWvrJ3ZY1JHH3RxIoznd2KL5s2yXzDsWQ8rybtnwmDYGhVO3aTHiths8CMnEZ/QdEg02mrzYS8g9aO2MvXXnp24lYUhBGbzQvzHtgS3ciuShuvTjuN9ukMY/qhJx2TGRqhu0ngbsc0yX8ZVCuwDwO8knO741UptXLJ4dY2yU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713257242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=35/ErTe8MAB6syIuECcUA8yllkuHxTVtWkZKO1H26pI=; b=U46pEZtsi0C6oc6MtzywhwpO0/KMIZaMVfjScbObkfhNJyyy/Egn+BCRNx75YufbJE8Kmv FplRxp1wO22DQUzoCiZr7vYYrO4/AFWZOB5o2NfAm9u7dQXT3OQu/kkXeLPzhZ4D0Lgd8q e1Y8a/fHrG0+jBADSHIs0SHaA1EqU5k= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-57-EcJBh8iiPhmQG0MHSVxd8Q-1; Tue, 16 Apr 2024 04:47:13 -0400 X-MC-Unique: EcJBh8iiPhmQG0MHSVxd8Q-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-417de456340so20621765e9.2 for ; Tue, 16 Apr 2024 01:47:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713257231; x=1713862031; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=35/ErTe8MAB6syIuECcUA8yllkuHxTVtWkZKO1H26pI=; b=CHbvJ4iJ9BTXKk5+TH70JNguMPoWqtfIArBVRHLeGMC/qPpl40dnlzm0O4eNFE/Mqc +y4R4s29RMDBIG31bChB8NzTLWQnFJIhuKh4Y50K4r3Wsoffev2NBDmZFptmzMBsHfkX u7GsKkA2P4Pqv2GTnol2dvlaEqxy4euAKnuFgOuXaUUHh4SoJgHQT4movFVfapJqhNBa /PKWOqo1m7FuteVV96GseQPhUlvIaEK59YdE74xmiBs7WmWlBZLmFvd+Axi3+q2VKric tSDV1nnIYZOKqu8SXLpdb8FeLVIeW3WdgO4Sxo+gF03lNpwVxY99Ou1As6UfhywR8Ttw DTmg== X-Gm-Message-State: AOJu0YyqlIA1YbMfiiwJbT9CFp8tNAyAhCGSd8Ig/SB6EDmZTbLMMFhY nQnNBub/O2Wmu7HnQzArz1pKsT5dpUQW2bZiRkwcn6OUVPSztHJ14VlkP8rV3m5MaPREcPRiCYR O1EGmoDWpMeR/sxXy05Ls3tA8uAGXl50pZclBxsd4DfFRKuAj022+Sk2+mZrzjAuPb6E= X-Received: by 2002:a05:600c:3ca2:b0:414:8aa7:f3b7 with SMTP id bg34-20020a05600c3ca200b004148aa7f3b7mr9982424wmb.19.1713257230570; Tue, 16 Apr 2024 01:47:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHYroGs0g5p0DKvarnOaJFcSE/mgOswvy1NRCsFRZgYJPvEgwlb8I3zP2PEX8aQzAwoxVFA0g== X-Received: by 2002:a05:600c:3ca2:b0:414:8aa7:f3b7 with SMTP id bg34-20020a05600c3ca200b004148aa7f3b7mr9982393wmb.19.1713257229807; Tue, 16 Apr 2024 01:47:09 -0700 (PDT) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id fl16-20020a05600c0b9000b00418631f91c1sm6753209wmb.28.2024.04.16.01.47.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Apr 2024 01:47:09 -0700 (PDT) From: Andrew Burgess To: Simon Marchi , Eli Zaretskii Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] gdb/doc: use silent-rules.mk in the Makefile In-Reply-To: <87v84hhhou.fsf@redhat.com> References: <09d4a16a33cf31f558a8982075800b113ed4a14e.1712940998.git.aburgess@redhat.com> <868r1isaad.fsf@gnu.org> <87frvq43gj.fsf@redhat.com> <86wmp1rbi7.fsf@gnu.org> <874jc2ivcb.fsf@redhat.com> <81120371-21de-45ab-8ea7-bd8146a7f7a3@simark.ca> <87v84hhhou.fsf@redhat.com> Date: Tue, 16 Apr 2024 09:47:08 +0100 Message-ID: <87sezlheyb.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Andrew Burgess writes: > Simon Marchi writes: > >> On 4/15/24 9:55 AM, Andrew Burgess wrote: >>> Eli Zaretskii writes: >>>> So my preference would be for having the above emit something like the >>>> below instead >>>> >>>> TEXI2POD gdb.pod >>>> POD2MAN1 gdb.1 >>> >>> That one's harder. The target information comes from make's $@ >>> variable, so it's easy enough to do: >>> >>> TEXI2POD gdb.1 >>> POD2MAN gdb.1 >>> >>> which isn't exactly what you asked for. >> >> Could you split the rule in two? One rule generating gdb.pod and one >> rule generating gdb.1. >> >> I personally think the original output from Andrew's patch is fine. In >> the silent mode, all I need to know is that make is currently working on >> getting gdb.1 generated. The intermediary gdb.pod file is an >> implementation detail of the rule. If I want to see it, then I'll use >> `make V=1`. > > I agree. > >> But if it makes everyone happy, I don't mind if we split the rule in >> two. Smaller and simpler rules are easier to understand. > > I didn't really want to split the rule as the .pod really is an > intermediate step: > > $(SILENCE) touch $@ > -$(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod > -$(ECHO_TEXI2MAN) ($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ > mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) > $(SILENCE) rm -f gdb.pod > > We create the .pod and then consume it, before finally deleting it. > > If the rule was split then we'd end up creating the .pod in one rule > before deleting it in another, which didn't seem great. But if you're > happy with that change then I can split the rule. Below is a reworked patch which splits the man page and .pod creation. Let me know what you think. Thanks, Andrew --- commit 1b0c9eb959212f175092da0e200811ba47f2000f Author: Andrew Burgess Date: Fri Apr 12 17:47:20 2024 +0100 gdb/doc: use silent-rules.mk in the Makefile Make use of silent-rules.mk when building the GDB docs. During review it was requested that there be more specific rules than just reusing the general 'GEN' rule everywhere in the doc/ directory, so I've added: ECHO_DVIPS = @echo " DVIPS $@"; ECHO_TEX = @echo " TEX $@"; ECHO_PDFTEX = @echo " PDFTEX $@"; ECHO_TEXI2DVI = @echo " TEXI2DVI $@"; ECHO_MAKEHTML = @echo " MAKEHTML $@"; ECHO_TEXI2POD = @echo " TEXI2POD $@"; ECHO_TEXI2MAN = @echo " TEXI2MAN $@"; ECHO_MAKEINFO = @echo " MAKEINFO $@"; Then I've made use of these new silent rules and added lots of uses of SILENT to reduce additional clutter. As the man page generation is done in two phases, first the creation of a .pod file, then the creation of the final man page file, I've restructured the man page rules. Previously we had one rule for each of the 5 man pages. I now have one general rule that will generate all of the 5 .pod files, then I have two rules that convert the .pod files into the final man pages. I needed two rules for the man page generation as some man pages match %.1 and some match %.5. I could combine these by using the GNU Make .SECONDARYEXPANSION extension, but I'm not sure if we are OK to depend on GNU only Make features, and having the two separate rules seems clear enough. I've also added a new SILENT_QUIET_FLAG to silent-rules.mk, this is like SILENT_FLAG, but is set to '-q' when in silent mode, this can be used with the 'dvips' and 'texi2dvi' commands, both of which use '-q' to mean: only report errors. As with the rest of the GDB makefiles, I've only converted the "generation" rules to use silent-rules.mk, the install / uninstall rules are left unchanged. There are still a few "generation" targets that produce output, there seems to be no flag to silence the 'tex' and 'pdftex' commands which some recipes use, I've not worried about these for now, e.g. the refcard.dvi and refcard.pdf targets still produce some output. Luckily, when doing a 'make all' in the gdb/ directory, we only build the info docs by default, and those rules are now nice and silent, so a complete GDB build is now looking nice and quiet by default. diff --git a/gdb/doc/Makefile.in b/gdb/doc/Makefile.in index 8007f6373d4..ed8f7be5227 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@ @@ -238,7 +240,7 @@ Doxyfile-gdbserver: $(srcdir)/Doxyfile-gdbserver.in all-doc: info dvi ps pdf diststuff: info man - rm -f gdb-cfg.texi + $(SILENCE) rm -f gdb-cfg.texi install-info: $(INFO_DEPS) $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(infodir) @@ -406,55 +408,56 @@ de-stage3: force # GDB QUICK REFERENCE (dvi output) refcard.dvi : refcard.tex $(REFEDITS) - echo > tmp.sed - for f in x $(REFEDITS) ; do \ + $(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 + $(ECHO_TEX) $(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_DVIPS) $(DVIPS) $(SILENT_QUIET_FLAG) -t landscape -o $@ $? refcard.pdf : refcard.tex $(REFEDITS) - echo > tmp.sed - for f in x $(REFEDITS) ; do \ + $(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 + $(ECHO_PDFTEX) $(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 +468,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 +490,30 @@ 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 \ + $(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) + $(ECHO_TEXI2DVI) $(TEXI2DVI) $(SILENT_QUIET_FLAG) $(READLINE_TEXI_INCFLAG) \ + -I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo gdb.ps: gdb.dvi - $(DVIPS) -o $@ $? + $(ECHO_DVIPS) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $? gdb.pdf: ${GDB_DOC_FILES} - if [ ! -f ./GDBvn.texi ]; then \ + $(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) + $(ECHO_TEXI2DVI) $(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_MAKEINFO) $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \ -o gdb.info $(srcdir)/gdb.texinfo # GDB MANUAL: roff translations @@ -527,16 +531,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 +555,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 +572,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 +589,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_MAKEINFO) $(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 +613,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 + $(SILENCE) rm -f $(STABS_TEX_TMPS) + $(ECHO_TEXI2DVI) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \ + $(srcdir)/stabs.texinfo stabs.ps: stabs.dvi - $(DVIPS) -o $@ $? + $(ECHO_DVIPS) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $? stabs.pdf: $(STABS_DOC_FILES) - rm -f $(STABS_TEX_TMPS) - $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/stabs.texinfo + $(SILENCE) rm -f $(STABS_TEX_TMPS) + $(ECHO_TEXI2DVI) $(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 +633,47 @@ 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_TEXI2DVI) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \ + $(srcdir)/annotate.texinfo annotate.ps: annotate.dvi - $(DVIPS) -o $@ $? + $(ECHO_DVIPS) $(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_TEXI2DVI) $(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_MAKEINFO) $(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo annotate/index.html: $(ANNOTATE_DOC_FILES) - $(MAKEHTML) $(MAKEHTMLFLAGS) \ + $(ECHO_MAKEHTML) $(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$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - 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$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - 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$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f gcore.pod +%.pod : gdb.texinfo $(GDB_DOC_FILES) + $(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -D$* < $(srcdir)/gdb.texinfo > $@ -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$$$$ && \ +$(MAN1S) : %.1 : %.pod $(GDB_DOC_FILES) + $(SILENCE) touch $@ + $(ECHO_TEXI2MAN) ($(POD2MAN1) $*.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 $*.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$$$$ && \ +$(MAN5S) : %.5 : %.pod $(GDB_DOC_FILES) + $(SILENCE) touch $@ + $(ECHO_TEXI2MAN) ($(POD2MAN1) $*.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f gdbinit.pod + $(SILENCE) rm -f $*.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..745720ecc80 100644 --- a/gdb/silent-rules.mk +++ b/gdb/silent-rules.mk @@ -17,9 +17,23 @@ ECHO_YACC = @echo " YACC $@"; ECHO_LEX = @echo " LEX $@"; ECHO_AR = @echo " AR $@"; ECHO_RANLIB = @echo " RANLIB $@"; +ECHO_DVIPS = @echo " DVIPS $@"; +ECHO_TEX = @echo " TEX $@"; +ECHO_PDFTEX = @echo " PDFTEX $@"; +ECHO_TEXI2DVI = \ + @echo " TEXI2DVI $@"; +ECHO_MAKEHTML = \ + @echo " MAKEHTML $@"; +ECHO_TEXI2POD = \ + @echo " TEXI2POD $@"; +ECHO_TEXI2MAN = \ + @echo " TEXI2MAN $@"; +ECHO_MAKEINFO = \ + @echo " MAKEINFO $@"; SILENCE = @ # Silence libtool. SILENT_FLAG = --silent +SILENT_QUIET_FLAG = -q # Used in shell snippets instead of 'echo'. SILENT_ECHO = true else