Using the Backslash ("\") Character in NMAKE

Retired KB Content Disclaimer

This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.


In NMAKE, the backslash "\" character has two different meanings depending on the context in which it is used. It can be used as a line- continuation character or as a path specifier.

More Information

The backslash is used primarily as a line-continuation character. For example, if a dependency line in your makefile extends to more than one line, use the backslash to continue it to the next line. You can place a space prior to the backslash or append it directly to the last dependent file, as the following examples demonstrate:

TARGET1: obj1 obj2 obj3 obj4 obj5 \

obj6 obj7

TARGET2: obj1 obj2 obj3 obj4 obj5\
obj6 obj7

NMAKE also uses the backslash as a path specifier. When a backslash is the last character on a line and is used as a path specifier, place a caret "^" character before the backslash to override its default use as a line-continuation character.

The following macro definition demonstrates using the backslash as a path specifier.
exe_dir = c:\bin^\ 
In the following case, NMAKE interprets the trailing backslash as a line-continuation character which is contrary to the meaning the context requires:
exe_dir = c:\bin\ 
In a macro, specifying two backslashes in succession ("\\") nullifies its use as a line-continuation character. However, when NMAKE expands the macro, both backslash characters appear and an incorrect path results.

Article ID: 43064 - Last Review: Dec 1, 2003 - Revision: 1