Node:Echoing, Next:Execution, Previous:Commands, Up:Commands

### Command Echoing

Normally `make` prints each command line before it is executed. We call this echoing because it gives the appearance that you are typing the commands yourself.

When a line starts with `@`, the echoing of that line is suppressed. The `@` is discarded before the command is passed to the shell. Typically you would use this for a command whose only effect is to print something, such as an `echo` command to indicate progress through the makefile:

         @echo About to make distribution files

When `make` is given the flag `-n` or `--just-print` it only echoes commands, it won't execute them. See Summary of Options. In this case and only this case, even the commands starting with `@` are printed. This flag is useful for finding out which commands `make` thinks are necessary without actually doing them.

The `-s` or `--silent` flag to `make` prevents all echoing, as if all commands started with `@`. A rule in the makefile for the special target `.SILENT` without prerequisites has the same effect (see Special Built-in Target Names). `.SILENT` is essentially obsolete since `@` is more flexible.