git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Makefile: add QUIET_GEN to "tags" and "TAGS" targets

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 28, 2021, 05:56 UTC
Message-ID
<xmqqpmzjom7n.fsf@gitster.g>
In-Reply-To
<patch-1.1-afd0c18ca86-20210328T021814Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
> Don't show the very verbose $(FIND_SOURCE_FILES) command on every
> "make TAGS" invocation. Let's also use the "cmd >x+ && mv x+ x"
> pattern here so we don't momentarily clobber the file.
We do not "redirect" ctags and etags output into x+.  
	Let's use "generate into temporary and rename to the final
	after seeing the command that generated the output finished
	successfully" pattern.

Please also correct the explanation of why it is a good idea to use the pattern in this case. It is not about avoiding momentarily clobbering the output. It is to avoid leaving an incorrect output generated by a failed command in the file with the filename that consumers expect.

Thanks for making our Makefile a bit less noisy. Anybody who makes "clean" and its friends quiet will get a gold star ;-)

Show 29 quoted lines
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Makefile | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 55c8035fa80..f317af1b602 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2690,12 +2690,15 @@ FIND_SOURCE_FILES = ( \
>  	)
>  
>  $(ETAGS_TARGET): FORCE
> -	$(RM) $(ETAGS_TARGET)
> -	$(FIND_SOURCE_FILES) | xargs etags -a -o $(ETAGS_TARGET)
> +	echo $(ALL_SOURCE_FILES)
> +	$(QUIET_GEN)$(RM) "$(ETAGS_TARGET)+" && \
> +	$(FIND_SOURCE_FILES) | xargs etags -a -o "$(ETAGS_TARGET)+" && \
> +	mv "$(ETAGS_TARGET)+" "$(ETAGS_TARGET)"
>  
>  tags: FORCE
> -	$(RM) tags
> -	$(FIND_SOURCE_FILES) | xargs ctags -a
> +	$(QUIET_GEN)$(RM) tags+ && \
> +	$(FIND_SOURCE_FILES) | xargs ctags -a -o tags+ && \
> +	mv tags+ tags
>  
>  cscope:
>  	$(RM) cscope*
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 2 of 3 in “Makefile: add QUIET_GEN to "tags" and "TAGS" targets”
  1. Makefile: add QUIET_GEN to "tags" and "TAGS" targetsÆvar Arnfjörð Bjarmason, Mar 28, 2021
  2. Junio C HamanoMar 28, 2021
  3. Junio C HamanoMar 31, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.