Corrupted MAKEDIR Macro in Real Mode NMAKE 1.11 Causes U1001

ID Number: Q61978

1.11

MS-DOS

buglist1.11 fixlist1.12

Summary:

NMAKE version 1.11 may produce a U1001 "syntax error: illegal

character <character> in macro" while building a project because of a

problem with the MAKEDIR macro. The problem occurs only with the DOS

version of NMAKE 1.11 and not the protected mode version.

More Information:

NMAKE has an internal macro, MAKEDIR, which contains the full drive

and path to the directory from where NMAKE was invoked. This macro is

corrupted in NMAKE version 1.11 under DOS. Rather than the correct

pathname, the macro contains "garbage" or graphics characters. This

macro can cause the U1001 "illegal character" error message.

To display the contents of MAKEDIR, invoke NMAKE with the /P switch.

This switch causes all macros to be displayed to the screen. To work

around this problem, manually set MAKEDIR in the .MAK file for the

project. Set it to the drive and path where the project is being

built. If MAKEDIR is manually set in the .MAK file, it will override

the default setting and correct the problem.

Microsoft has confirmed this to be a problem in NMAKE version 1.11.

This problem was corrected in NMAKE version 1.12.