NMAKE32 allows substitutions in macro invocations that allow a user to change the value generated without changing the macro itself. The following syntax is used for macro substitutions:
$(name: character-string1 = character-string2)
where name is the name of the macro whose value is being modified, character-string1 is character or characters between the colon ":" and the equal "=" sign, and character-string2 is the replacement character or characters after the equal "=" sign and before the closing parentheses ")". If character-string2 is null, .character-string1 is removed from name (that is, replaced by a null string).
Example:
The following macro:
FILES = file1.z file2.z file3.z
followed by this macro substitution:
$(FILES:.z=.c)
expands to the value:
file1.c file2.c file3.c
The actual value of FILES remains unchanged.