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 B8EC73858D32 for ; Mon, 15 Apr 2024 13:55:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B8EC73858D32 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 B8EC73858D32 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=1713189345; cv=none; b=oCUoAUos9pJ1O6dp3mNdf4iM2bVHBmhj/5jxRWGhTOM1GiR8t0eIN2JB9WtDwTN5uwWVpfLKqr1GH4QqTDvlQ2EalI6NGLveo/NVeDvSwalV65YEcgQvlfCPRIPzgCR9tR0bvrlTnmfTIAQ6v3rB/sNamsYt3G4OIYwu5cW5mYk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713189345; c=relaxed/simple; bh=kRZfm1h3eKFOY6qFJPnr3M16kMyPae/7WGjwQb/VlwM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ie6d1kn8YsCr8Y6/QAScRuH7/gZXBAY6Ez+z29aEUMg/EczQqDBZfCbav9z7Etg1brxrvdinCMbxI6jvCqSpSIOZ5wsD+kDhmxrQvY18jBt1xyUqOJYf8+Gevq+ie6/q710JfOL62CPg3y8zoJRNF1SLZPTQ2t246oG3wfffEiI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713189339; 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=aGAtppjYIMURccugBLg6cu4q5Ys2g/AgIV6xPPRViHg=; b=JnuZHL4rN1TmV2TBo5A6dlcowmczCgFvTskO/tpfgWZpggkpsoHJs6Uy++xbBy/4JMnOw0 AkPDl9Asm4eTZ3d9a/MUlQLnwGlofaixaxztbCdrHI80hSiMDEuSytuwe5cP2dC/dwEt/b ZTGtbiBLSDTs+LfyRYpeIlynBxQ//wk= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-445-VXjhH7DTNkGDxTR5uK7yYA-1; Mon, 15 Apr 2024 09:55:36 -0400 X-MC-Unique: VXjhH7DTNkGDxTR5uK7yYA-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-343ee356227so2065511f8f.2 for ; Mon, 15 Apr 2024 06:55:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713189334; x=1713794134; 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=aGAtppjYIMURccugBLg6cu4q5Ys2g/AgIV6xPPRViHg=; b=ePLgCb/e5qzOS7QkFaBs12luT8MVNGnyazYoRX0lM64eGSfmmb39z4KyQEmpAXan3X 2DDnPwczUbM0ZPzaCdyyKFFZYaRUWWF26hu1MnbTyBmqgG5RUwL0tFEKeGe6qNQBFumk pswcPFq5vDiaTXoO8V5bDITHp8xkDuzzfS/+jXR5APJaIpBGSkr1KV1mOdhyAaPQrHC9 kWofRduHZjPXXXtH5P/4e+ZVTy6hl9JsqUt79sM/sOayXRyt9F9efmLJdixl5dHHj+do /Fhg+N+zE3RJjnzFcRtdt9KRibDI9M60hZmY7/TZkU7nQw5E+/cNIzxHOpxkRkSfyjPT tIqA== X-Gm-Message-State: AOJu0Ywt06DyydhSkJt6LUn+7w740blLD+V+jj+ABPZtfkryoJk2C/Xx AXNFARwzyROKHVvhLTo98WiuoaXa5CenWzWvmeiHMh81eYkFVTPxrccleXF9kOFGnSmIAl9mDoE wyhvGfZXduGpvzrrLQuKg9QXlU0T7pHMQC07hLyv/ERDpHDtW1xACRPzw9YE4ABCk4bI= X-Received: by 2002:a5d:47c2:0:b0:343:6b0c:7553 with SMTP id o2-20020a5d47c2000000b003436b0c7553mr8184106wrc.55.1713189334070; Mon, 15 Apr 2024 06:55:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFPFEYran+XW+jLADHMKu8EtrMEZW6UDQnQhDK3lmll+Z2rSrlKVeFo1qGOcQnv6wXczNfeLw== X-Received: by 2002:a5d:47c2:0:b0:343:6b0c:7553 with SMTP id o2-20020a5d47c2000000b003436b0c7553mr8184074wrc.55.1713189333244; Mon, 15 Apr 2024 06:55:33 -0700 (PDT) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id q4-20020adff504000000b0034635bd6ba5sm12115258wro.92.2024.04.15.06.55.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 06:55:32 -0700 (PDT) From: Andrew Burgess To: Eli Zaretskii Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] gdb/doc: use silent-rules.mk in the Makefile In-Reply-To: <86wmp1rbi7.fsf@gnu.org> References: <09d4a16a33cf31f558a8982075800b113ed4a14e.1712940998.git.aburgess@redhat.com> <868r1isaad.fsf@gnu.org> <87frvq43gj.fsf@redhat.com> <86wmp1rbi7.fsf@gnu.org> Date: Mon, 15 Apr 2024 14:55:32 +0100 Message-ID: <874jc2ivcb.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=-11.7 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,SCC_5_SHORT_WORD_LINES,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: Eli Zaretskii writes: >> From: Andrew Burgess >> Cc: gdb-patches@sourceware.org >> Date: Fri, 12 Apr 2024 23:32:28 +0100 >> >> Eli Zaretskii writes: >> >> >> gdb/doc/Makefile.in | 158 ++++++++++++++++++++++++-------------------- >> >> gdb/silent-rules.mk | 1 + >> >> 2 files changed, 86 insertions(+), 73 deletions(-) >> > >> > Doesn't this silence too much? Can you should the output of each rule >> > after the changes? >> >> Yes you can. As with the rest of GDB, if you do: >> >> make all-gdb V=1 > > Yes, I know. But that's not what I meant, sorry for being unclear. I > meant to ask _you_ to show the output of each rule that you change to > be silent, so that I could compare that with what it outputs > un-silenced, and decide whether we remove too much from the output. > > I've now tried to figure that out by reading the silent-rules.mk > macros, and I feel that, indeed, in some cases we silence too much, > without (IMO) a good reason. For example: > >> 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 > > This completely conceals the fact that we run texi2pod and pod2man, > ending with just a single vague > > GEN gdb.1 > > I think significant commands should be shown to the user, for better > "situational awareness". The analogy with compilation and linking > here, if that's what served the model for these changes, is IMO > incomplete: when we compile or link, seeing just "CXX foo.o" or > "CXXLD gdb" is enough to tell us what happens, whereas with the > generic "GEN foo" we don't really know what happens at all. > > 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. Anyway an updated patch is below. I've then included the output of 'make -C gdb/doc all-doc diststuff' with and without V=1 flag. Let me know if this is acceptable or not. Thanks, Andrew --- Updated Patch --- commit ffcabda2a2c7fef79fc3999b0d31828990731838 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. 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..09769fbff10 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,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_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$$$$ && \ + $(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) - 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$$$$ && \ + $(SILENCE) touch $@ + -$(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod + -$(ECHO_TEXI2MAN) ($(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$$$$ && \ + $(SILENCE) touch $@ + -$(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod + -$(ECHO_TEXI2MAN) ($(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$$$$ && \ + $(SILENCE) touch $@ + -$(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod + -$(ECHO_TEXI2MAN) ($(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$$$$ && \ + $(SILENCE) touch $@ + -$(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod + -$(ECHO_TEXI2MAN) ($(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..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 --- Default Output --- $shell$ > make -C gdb/doc all-doc diststuff make: Entering directory '/tmp/build/gdb/doc' GEN Makefile GEN gdb-cfg.texi MAKEINFO gdb.info MAKEINFO stabs.info MAKEINFO annotate.info TEXI2DVI gdb.dvi TEXI2DVI stabs.dvi TEX refcard.dvi This is TeX, Version 3.14159265 (TeX Live 2019) (preloaded format=tex) (./sedref.tex [1] Underfull \hbox (badness 1297) in paragraph at lines 569--569 []\rm octal, dec-i-mal, or hex num-ber [2] ) (see the transcript file for additional information) Output written on sedref.dvi (2 pages, 21812 bytes). Transcript written on sedref.log. TEXI2DVI annotate.dvi DVIPS gdb.ps DVIPS stabs.ps DVIPS refcard.ps DVIPS annotate.ps TEXI2DVI gdb.pdf TEXI2DVI stabs.pdf PDFTEX refcard.pdf This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdftex) restricted \write18 enabled. entering extended mode (./sedref.tex [1{/usr/share/texlive/texmf-dist/fonts/map/pdftex/updmap/pdftex.m ap}] Underfull \hbox (badness 1297) in paragraph at lines 569--569 []\rm octal, dec-i-mal, or hex num-ber [2] ) (see the transcript file for additional information) Output written on sedref.pdf (2 pages, 118801 bytes). Transcript written on sedref.log. TEXI2DVI annotate.pdf TEXI2POD gdb.1 TEXI2MAN gdb.1 TEXI2POD gdbserver.1 TEXI2MAN gdbserver.1 TEXI2POD gcore.1 TEXI2MAN gcore.1 TEXI2POD gdb-add-index.1 TEXI2MAN gdb-add-index.1 TEXI2POD gdbinit.5 TEXI2MAN gdbinit.5 make: Leaving directory '/tmp/build/gdb/doc' $shell$ > --- Output With V=1 (I've removed some command output to reduce length) --- $shell$ > make -C gdb/doc all-doc diststuff V=1 make: Entering directory '/tmp/build/gdb/doc' cd .. && /bin/sh ./config.status doc/Makefile config.status: creating doc/Makefile makeinfo -DHAVE_MAKEINFO_CLICK -I ../../../src/gdb/doc/../../readline/readline/doc -I ../../../src/gdb/doc/../mi -I ../../../src/gdb/doc \ -o gdb.info ../../../src/gdb/doc/gdb.texinfo makeinfo -DHAVE_MAKEINFO_CLICK -I ../../../src/gdb/doc -o stabs.info ../../../src/gdb/doc/stabs.texinfo makeinfo -DHAVE_MAKEINFO_CLICK -I ../../../src/gdb/doc -o annotate.info ../../../src/gdb/doc/annotate.texinfo if [ ! -f ./GDBvn.texi ]; then \ (test "ln -s" = "ln -s" && ln -s ../../../src/gdb/doc/GDBvn.texi .) || \ ln ../../../src/gdb/doc/GDBvn.texi . || \ cp ../../../src/gdb/doc/GDBvn.texi . ; else true; fi rm -f gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc gdb.tp* gdb.vr* texi2dvi -I ../../../src/gdb/doc/../../readline/readline/doc \ -I ../../../src/gdb/doc/../mi -I ../../../src/gdb/doc ../../../src/gdb/doc/gdb.texinfo ... snip pages of output ... rm -f stabs.aux stabs.cp* stabs.fn* stabs.ky* stabs.log stabs.pg* stabs.toc stabs.tp* stabs.vr* texi2dvi -I ../../../src/gdb/doc \ ../../../src/gdb/doc/stabs.texinfo ... snip tex output ... echo > tmp.sed for f in x ; do \ test x$f = xx && continue ; \ cat ../../../src/gdb/doc/$f >>tmp.sed ; \ done sed -f tmp.sed ../../../src/gdb/doc/refcard.tex >sedref.tex TEXINPUTS=../../../src/gdb/doc/../../texinfo:.:../../../src/gdb/doc:../../../src/gdb/doc/../../readline/readline/doc:../../../src/gdb/doc/../mi:$TEXINPUTS tex sedref.tex ... snip tex output ... mv sedref.dvi refcard.dvi rm -f sedref.log sedref.tex tmp.sed rm -f annotate.aux annotate.cp* annotate.fn* annotate.ky* annotate.log annotate.pg* annotate.toc annotate.tp* annotate.vr* texi2dvi -I ../../../src/gdb/doc \ ../../../src/gdb/doc/annotate.texinfo ... snip tex output ... dvips -o gdb.ps gdb.dvi ... snip dvips output ... dvips -o stabs.ps stabs.dvi ... snip dvips output ... dvips -t landscape -o refcard.ps refcard.dvi ... snip dvips output ... dvips -o annotate.ps annotate.dvi ... snip dvips output ... if [ ! -f ./GDBvn.texi ]; then \ (test "ln -s" = "ln -s" && ln -s ../../../src/gdb/doc/GDBvn.texi .) || \ ln ../../../src/gdb/doc/GDBvn.texi . || \ cp ../../../src/gdb/doc/GDBvn.texi . ; else true; fi rm -f gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc gdb.tp* gdb.vr* texi2dvi --pdf \ -I ../../../src/gdb/doc/../../readline/readline/doc -I ../../../src/gdb/doc/../mi -I ../../../src/gdb/doc \ ../../../src/gdb/doc/gdb.texinfo ... snip pages of texi2dvi output ... rm -f stabs.aux stabs.cp* stabs.fn* stabs.ky* stabs.log stabs.pg* stabs.toc stabs.tp* stabs.vr* texi2dvi --pdf -I ../../../src/gdb/doc \ ../../../src/gdb/doc/stabs.texinfo ... snip texi2dvi output ... echo > tmp.sed for f in x ; do \ test x$f = xx && continue ; \ cat ../../../src/gdb/doc/$f >>tmp.sed ; \ done sed -f tmp.sed ../../../src/gdb/doc/refcard.tex >sedref.tex TEXINPUTS=../../../src/gdb/doc/../../texinfo:.:../../../src/gdb/doc:../../../src/gdb/doc/../../readline/readline/doc:../../../src/gdb/doc/../mi:$TEXINPUTS pdftex sedref.tex ... snip some command output ... mv sedref.pdf refcard.pdf rm -f sedref.log sedref.tex tmp.sed rm -f annotate.aux annotate.cp* annotate.fn* annotate.ky* annotate.log annotate.pg* annotate.toc annotate.tp* annotate.vr* texi2dvi --pdf -I ../../../src/gdb/doc \ ../../../src/gdb/doc/annotate.texinfo ... snip command output ... touch gdb.1 perl ../../../src/gdb/doc/../../etc/texi2pod.pl -DHAVE_MAKEINFO_CLICK -Dman -Dgdb < ../../../src/gdb/doc/gdb.texinfo > gdb.pod (pod2man --center="GNU Development Tools" --release="gdb-`sed q version.subst`" --section=1 gdb.pod | sed -e '/^.if n .na/d' > gdb.1.T$$ && \ mv -f gdb.1.T$$ gdb.1) || (rm -f gdb.1.T$$ && exit 1) rm -f gdb.pod touch gdbserver.1 perl ../../../src/gdb/doc/../../etc/texi2pod.pl -DHAVE_MAKEINFO_CLICK -Dman -Dgdbserver < ../../../src/gdb/doc/gdb.texinfo > gdbserver.pod (pod2man --center="GNU Development Tools" --release="gdb-`sed q version.subst`" --section=1 gdbserver.pod | sed -e '/^.if n .na/d' > gdbserver.1.T$$ && \ mv -f gdbserver.1.T$$ gdbserver.1) || (rm -f gdbserver.1.T$$ && exit 1) rm -f gdbserver.pod touch gcore.1 perl ../../../src/gdb/doc/../../etc/texi2pod.pl -DHAVE_MAKEINFO_CLICK -Dman -Dgcore < ../../../src/gdb/doc/gdb.texinfo > gcore.pod (pod2man --center="GNU Development Tools" --release="gdb-`sed q version.subst`" --section=1 gcore.pod | sed -e '/^.if n .na/d' > gcore.1.T$$ && \ mv -f gcore.1.T$$ gcore.1) || (rm -f gcore.1.T$$ && exit 1) rm -f gcore.pod touch gdb-add-index.1 perl ../../../src/gdb/doc/../../etc/texi2pod.pl -DHAVE_MAKEINFO_CLICK -Dman -Dgdb-add-index < ../../../src/gdb/doc/gdb.texinfo > gdb-add-index.pod (pod2man --center="GNU Development Tools" --release="gdb-`sed q version.subst`" --section=1 gdb-add-index.pod | sed -e '/^.if n .na/d' > gdb-add-index.1.T$$ && \ mv -f gdb-add-index.1.T$$ gdb-add-index.1) || (rm -f gdb-add-index.1.T$$ && exit 1) rm -f gdb-add-index.pod touch gdbinit.5 perl ../../../src/gdb/doc/../../etc/texi2pod.pl -DHAVE_MAKEINFO_CLICK -Dman -Dgdbinit < ../../../src/gdb/doc/gdb.texinfo > gdbinit.pod (pod2man --center="GNU Development Tools" --release="gdb-`sed q version.subst`" --section=5 gdbinit.pod | sed -e '/^.if n .na/d' > gdbinit.5.T$$ && \ mv -f gdbinit.5.T$$ gdbinit.5) || (rm -f gdbinit.5.T$$ && exit 1) rm -f gdbinit.pod rm -f gdb-cfg.texi make: Leaving directory '/tmp/build/gdb/doc' $shell$>