Command Syntax

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