From https://www.gnu.org/software/make/manual/make.html#Echoing:
Normally
makeprints 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 anechocommand 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!