NMAKE Help (nmake.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Calling NMAKE Recursively
                                             Up Contents Index Back
─────NMAKE──────────────────────────────────────────────────────────────────
 
     In a commands block, you can call NMAKE itself. Either invoke the
     MAKE macro or specify NMAKE literally. When you call NMAKE
     recursively by macro rather than by specifying NMAKE, NMAKE does
     not run a new copy of itself. Instead, it uses its own stack for
     the recursive parts of the build. This saves space in memory.
 
     During recursion, the following information is available to the
     called NMAKE session:
 
        ■ Environment-variable macros. To cause all macros to be
          inherited, specify the /V option.
          See: Environment-Variable Macros
               Inherited Macros
               /V Option
 
        ■ The MAKEFLAGS macro. If .IGNORE (or !CMDSWITCHES +I) is set,
          MAKEFLAGS passes an I to the recursive call. If .SILENT (or
          !CMDSWITCHES +S) is set, MAKEFLAGS passes an S.
          See: !CMDSWITCHES Directive
               .IGNORE Directive
               .SILENT Directive
 
        ■ Macros specified on the command line for the recursive call.
 
        ■ All information in TOOLS.INI.
 
     Inference rules defined in the makefile are not passed to the
     called NMAKE session. Settings for .SUFFIXES and .PRECIOUS are
     not inherited. To make .SUFFIXES, .PRECIOUS, and all inference
     rules available to the recursive call, do either of the following:
 
        ■ Specify them in TOOLS.INI
 
        ■ Place them in a file and specify the file in an !INCLUDE
          directive in a makefile passed to each NMAKE session.
 
          See: !INCLUDE Directive
          Inference Rules
          .PRECIOUS Directive
          .SUFFIXES Directive
          The TOOLS.INI File
                                    -♦-