The NMAKE32 syntax includes prefixes that change the way it handles command processing. By prepending these special characters in front of a command you can alter NMAKE32 default behavior for a given command.
The following are the defined prefixes and their usages:
Example:
This example will execute a command that has a non-zero return code and NOT interrupt NMAKE32 execution. It will propagate the return code from that command for later processing.
# Execute an intentionally bad command target: -copy garbage.txt filename !if %status()==1 ~@echo the %status is set to 1 ~@echo these commands would usually update %status !endif copy hello.c hello.z !if %status()==0 @echo the status value is 0
Note: The built-in commands, such as %echo and %cd, ignore the command line modifiers, and the -n command line modifier cannot be used with a built-in command. Remember the built-in commands are handled internally, so they do not provide return codes and are not echoed.