DOCERR: NMAKE Predefined Macro $(@D) Has Same Value As $@ (64032)



The information in this article applies to:

  • Microsoft NMAKE Utility for MS-DOS 1.11
  • Microsoft NMAKE Utility for OS/2 1.11

This article was previously published under Q64032

SYMPTOMS

With NMAKE version 1.11 the predefined macros $@ and $(@D) both expand to the same value. Page 114 of the "Microsoft C Advanced Programming Techniques" manual that ships with C versions 6.0 and 6.0a shows an example value of the predefined NMAKE macro $@ as:

C:\SOURCE\PROG\SORT.OBJ

The macro $(@D) is listed as having a sample value of:

C:\SOURCE\PROG

With NMAKE version 1.11, both macros give the value of the full path, filename, and extension, or:

C:\SOURCE\PROG\SORT.OBJ

RESOLUTION

This problem has been fixed in NMAKE versions 1.12 and later.

MORE INFORMATION

Running NMAKE version 1.11 with the following makefile gives the result:

echo c:\config.sys c:\config.sys

The result should be:

echo c:\config c:\config

Sample Makefile

c:\config.sys :

echo $(@D)


Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kb16bitonly KB64032