Home GNU Make Manual www.imodulo.com · 2003-04-05


[ Up: Commands ]
[ Previous: Commands ][ Next: Execution ]

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. 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 (Special Built-in Target Names). .SILENT is essentially obsolete since @ is more flexible.