PRB: Spaces in Inference Rules Corrupt NMAKE Macro ExpansionLast reviewed: February 28, 1995Article ID: Q65084 |
The information in this article applies to:
SYMPTOMSAn attempt to use an NMAKE default macro fails and NMAKE generates a message such as the following:
warning u4006: special macro undefined : '$<' CAUSEA space has been inserted between the name of the target and the dependent extensions in an inference rule.
RESOLUTIONIn an inference rule, list the dependent file extension followed by the target file extension without any intervening embedded spaces.
MORE INFORMATIONThe following makefile examples demonstrate a few of the problems that can result when spaces are embedded in an inference rule. In both cases below, note that the embedded spaces cause NMAKE to run commands incorrectly. If you modify the files to remove the spaces, NMAKE generates the desired commands.
Sample Makefile 1# The command executed by NMAKE: # # cl {.} {.}.c {c:\objs\}.obj: cl $*c:\objs\test.obj: .\test.c
Sample Makefile 2# The command executed by NMAKE: # # cl .c .obj: cl $<ALL: myfile.obj myfile.obj: myfile.c
|
Additional reference words: 1.10 1.20 1.30 1.40 1.50
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |