Junio C Hamano <gitster@xxxxxxxxx> writes: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> 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 ;-) > >> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> >> --- >> 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) This echo I presume is a debugging aid to be removed? >> + $(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*