$(#) has new semantics in nmake 3.1. The old semantic of $(#) now is $(;). See Section 2.1.1 and Section 2.1.2.
The variable CCC is changed to PPCC in the base rules file. The usage of $(CCC) now is replaced by $(PPCC).
$("":D) no longer produces "." as the return value.
The syntax of -M is changed. The new syntax is described in Section 2.5.2. -M no longer implies -nF and -M with -o expandview no longer refers to static and port. The usage of
nmake -M -o expandview -k
The -o mamtrace (-m) option has been deleted from nmake 3.1.
The variable CC.OBJ has been changed to CC.SUFFIX.OBJECT. The variable CC.SO has been changed to CC.SUFFIX.SHARED. CC.DIALECT no longer has PTREPOSITORY as its value.
The nmake construct, local, now accepts syntax as
The rule .DO.l.cc has been deleted from the base rules. C++ lex code should be processed by a lex that can handle C++ code.