NMAKE32 automatically accesses all environment variables, converting each into a macro of the same name. Following is the evaluation precedence of macros:
Priority
Note that macro definitions found at a higher priority replace macro definitions at a lower priority (for example, macros from the description file replace macros from the built-ins file).
The -e flag causes macros defined from environment variables to overwrite previously defined macros (switches the processing of numbers 2 and 3).
The MAKEFLAGS environment variable is generated by NMAKE32 to contain all input flags specified on the NMAKE32 command line, except for the -b, -f, -x, -o and -p flags (and their corresponding values).
If it is not already in the environment, NMAKE32 creates the MAKEFLAGS variable and sets it according to the current flags, and passes it on to nested NMAKE32 invocations as they are called. Therefore, MAKEFLAGS always contains the current input flags.
Each time NMAKE32 is executed, it reads the MAKEFLAGS variable from the environment. If it exists and is non-null, its contents are processed before the NMAKE32 command line is processed.