A command line must begin with one or more spaces or tabs. NMAKE uses this indentation to distinguish between a dependency line and a command line.
Blank lines cannot appear between the dependency line and the commands block. However, a line containing only spaces or tabs can appear; this line is interpreted as a null command, and no error occurs. Blank lines can appear between command lines.
Summary: A command can be continued over more than one line.
A long command can span several lines if each line ends with a backslash (\). A backslash at the end of a line is interpreted as a space on the command line. For example, the command shown in Figure 18.1 can be expressed as:
link myapp\
another, , NUL, mylib, myapp
NMAKE passes the continued lines to the operating system as one long command. A command continued with a backslash must still be within the operating system's limit on the length of a command line. If any other character, such as a space or tab, follows the backslash, NMAKE interprets the backslash and the trailing characters literally.
Summary: A command can appear on a dependency line.
You can also place a single command at the end of a dependency line, whether or not other commands follow in the indented commands block. Use a semicolon (;) to separate the command from the rightmost dependent, as in:
project.obj : project.c project.h ; cl /c project.c