A pseudotarget is a target in a description block that is not a file. It is a name that serves as a handle for building a group of files or executing a command block. There are two types of pseudotargets recognized by NMAKE32, predefined and user defined.

Predefined pseudotargets start with a period (.) and are used to control NMAKE32 processing characteristics. NMAKE32 provided pseudotargets and function follow:

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³.IGNORE: [targets]       ³Tells NMAKE32 to ignore return codes from    ³
³                         ³invoked commands. Same function as /i option ³
³                         ³on the command line.  If  specified with     ³
³                         ³targets, only return codes of those targets  ³
³                         ³are ignored.                                 ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.MAKEINIT: [command]     ³The commands of this target are executed just³
³                         ³before the first real target is  examined    ³
³                         ³(after the command line and the description  ³
³                         ³file have been processed).                   ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.INIT: [command]         ³The commands of this target are executed just³
³                         ³before the first real target is built (just  ³
³                         ³before the first user command is invoked).   ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.MAKEDEINIT: [command]   ³The commands of this target are executed just³
³                         ³before NMAKE32 terminates.                   ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.DEINIT: [command]       ³The commands of this target are executed just³
³                         ³before the commands of the .MAKEDEINIT:      ³
³                         ³target are executed, but only if the commands³
³                         ³of the .INIT: target and at least one user   ³
³                         ³command have been executed.                  ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.RECHECK:                ³Instructs NMAKE32 to recheck the date, time  ³
³                         ³and path of each target (the check occurs    ³
³                         ³after all commands for that target have been ³
³                         ³executed).                                   ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.NORECHECK:              ³Instructs NMAKE32 to not recheck the date,   ³
³                         ³time and path of each target. This is the    ³
³                         ³default behavior.                            ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.PRECIOUS: [targets]     ³Instructs NMAKE32 not to delete the targets  ³
³                         ³if the command completes with a nonzero      ³
³                         ³return code.    If  specified with targets,  ³
³                         ³only those targets are saved for nonzero     ³
³                         ³return codes.                                ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.SILENT:                 ³Instructs NMAKE32 not to echo commands. Same ³
³                         ³function as /s option on the command line.   ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³.SUFFIXES: [exts]        ³Used to change the defined extensions that   ³
³                         ³NMAKE32 recognizes for inference rule        ³
³                         ³processing. If specified without extensions, ³
³                         ³resets the defined extensions to null. If    ³
³                         ³followed by extensions, these are added to   ³
³                         ³the defined recognized extensions.           ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Example:

# Example of .SUFFIXES and .PRECIOUS

.sav.exe:
    -copy keep.sav keepthis.exe

.SUFFIXES:                 # This set .SUFFIXES to null
.SUFFIXES: .sav .exe       # These two extensions can be used
                           # in inference rules

.PRECIOUS:   keepthis.exe  # This protects keepthis.exe from
                           # being deleted

keepthis.exe :keep.sav
                           #  Inference rule will be used here

User defined pseudotargets are used when you wish to invoke a block of commands without having them associated to a target. This would allow you to invoke the block of commands either from the command line by specifying the pseudotarget name, or from the description file via a dependency. (The commands for a pseudotarget without dependencies are always executed.)

Example:

ALWAYS:
  @echo  These commands will always execute if you
  @echo  specify the pseudotarget ALWAYS on the NMAKE32
  @echo  invocation, or you run a description file where
  @echo  ALWAYS appears as a dependent, or the only target
  @echo  in the description file.  There is no actual
  @echo  file named ALWAYS.


[Back] [Next]