Command lines are executed in order of appearance if any dependency is newer than the target. The commands executed for a rule should do something that causes the target's modification date to be updated.
The Make program knows nothing about what the command lines mean or do. The command lines are simply passed to the shell for execution. If executing the command line results in an error, then the Make program will terminate.
Sometimes it is desirable to ignore the error returned by a command, because failure to execute the command does not affect the successful completion of the Makefile. If this is true then the error returned by a command can be ignored by preceding the command with a - character. For example:
clean: -delete #?.o
Normally, each command is printed (echoed) before execution. Echoing for each command can be disabled by preceding it with a @ character. This does not affect its execution. The @ character does not redirect the standard output of the program being executed. Redirection must be stated explicitly.