PRNMK9108002: Inference Rules Not Invoked on Multiple Targets

ID Number: Q75206

1.11 1.12 1.13 | 1.11 1.12 1.13

MS-DOS | OS/2

buglist1.11 buglist1.12 buglist1.13

Summary:

PROBLEM ID: NMK9108002

SYMPTOMS

The Microsoft NMAKE utility versions 1.11, 1.12, and 1.13 will not

invoke inference rules when multiple dependency lines are used for

a single target as illustrated in the sample makefile below.

RESOLUTION/STATUS

To work around this problem, either avoid the use of multiple

dependency lines for a single target, or do not use inference

rules.

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

1.12, and 1.13. We are researching this problem and will post new

information here as it becomes available.

More Information:

In the following sample makefile, the inference rule to build the .EXE

file is never invoked. However, the inference rule to build the .OBJ

file is invoked correctly because the .OBJ file is a single target.

Also, the commands explicitly stated under a multiple target are

executed correctly.

Sample Makefile

---------------

# NMAKE options needed: none

#inference rule that should be invoked

.obj.exe:

LINK /INFO TEST.OBJ;

all : test.exe

#default inference rule does get executed for single target

test.obj : test.c

#inference rule does not get executed for multiple targets

test.exe :: test.obj

test.exe :: test.def

echo Not using .DEF file

Additional reference words: NMK