From https://www.gnu.org/software/make/manual/make.html#Echoing:
Normally
make
prints each line of the recipe before it is executed. We call this echoing because it gives the appearance that you are typing the lines yourself.When a line starts with ‘
@
’, the echoing of that line is suppressed. The ‘@
’ is discarded before the line is passed to the shell. Typically you would use this for a command whose only effect is to print something, such as anecho
command to indicate progress through the makefile:0[@echo](/bitcoin-bitcoin/contributor/echo/) About to make distribution files
Since there is no way to turn off the @
-prefix behaviour other than giving the --just-print
flag (which puts make
in dry-run mode and thus does not always work properly), we should make sure that we only put @
where we mean to for debuggability’s sake. In practice, this probably means using @
-prefix only when we’re @echo
-ing.
For example: https://github.com/bitcoin/bitcoin/blob/fbd522721cb89ef0efea0c1bc912c00b268d1c2a/Makefile.am#L83-L85
Will silence the printing of $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi
, which might be useful information. In fact, this whole snippet could just be:
0 $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi
Let me know what you think!