NMAKE Builds Only the First Target in MakefileLast reviewed: January 24, 1995Article ID: Q40184 |
The information in this article applies to:
SUMMARYBy default, the NMAKE file maintenance utility builds only the first target in a makefile, if the command line does not explicitly list a target to build. The MAKE file maintenance utility defaults to building each target listed in the makefile.
MORE INFORMATIONThe following code example demonstrates this behavior. The MAKE utility compiles PROG1.C and links PROG1.OBJ while the NMAKE utility only compiles PROG1.C. This is an important consideration when you port a makefile from MAKE to NMAKE.
Sample Code
# Build options required: None PROG1.OBJ : PROG1.C cl /Zi /c PROG1.C PROG1.EXE : PROG1.OBJ link /CO PROG1.OBJIf all files are out-of-date with respect to PROG1.C and the NMAKE command line is as follows
NMAKE /f makefilethe NMAKE utility executes only the following command:
cl /Zi /c prog1.cNMAKE defaults to building only the first target in the makefile. To achieve the desired results, specify the desired target, PROG1.EXE, on the NMAKE command-line or modify the makefile to add the following line to the beginning of the file:
ALL : PROG1.EXENMAKE builds the pseudotarget "ALL" because it is the first target in the makefile. Using a pseudotarget causes NMAKE to build all the dependencies because the pseudotarget is always out-of-date.
REFERENCEFor more information, see the NMAKE documentation provided with your compiler or assembler.
|
Additional reference words: kbinf kbinf 1.20 1.30 1.40 1.50
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |