8a0
Using Empty Commands
Contents|Index|Previous|Next
Using Empty Commands
It is sometimes useful to define commands which do nothing. This is done
simply by giving a command that consists of nothing but whitespace. For example, target: ; defines an empty command string for ‘target’. You could also use a line beginning with a tab character to define an empty
command string, but this would be confusing because such a line looks empty.
You may be wondering why you would want to define a command string that does
nothing. The only reason this is useful is to prevent a target from getting
implicit commands (from implicit rules or the
.DEFAULT special target; for more information, see Implicit Rules and Defining Last-Resort Default Rules).
You may be inclined to define empty command strings for targets that are not
actual files, but only exist so that their dependencies can be remade. However,
this is not the best way to do that, because the dependencies may not be remade
properly if the target file actually does exist. See
Phony Targets for a better way to execute this requirement.
0