If you define the same macro name in more than one place, NMAKE uses the macro with the highest precedence. The precedence from highest to lowest is as follows:
1.A macro defined on the command line
2.A macro defined in a makefile or include file
3.An inherited environment-variable macro
4.A macro defined in the TOOLS.INI file
5.A predefined macro, such as CC and AS
The /E option causes macros inherited from environment variables to override any macros with the same name in the makefile. The !UNDEF directive in a makefile overrides a macro defined on the command line.