Placing Dependent & Target Files in Different Directories

Last reviewed: January 24, 1995
Article ID: Q46354
The information in this article applies to:
  • Microsoft NMAKE Utility for MS-DOS, versions 1.01, 1.11, 1.12, 1.13, 1.2, 1.3, and 1.4
  • Microsoft NMAKE Utility for OS/2, versions 1.01, 1.11, and 1.21
  • Microsoft NMAKE Utility for Windows NT, versions 1.4 and 1.5

SUMMARY

To place a target file into a directory other than its dependent file, you must explicitly specify the path for the target and/or the dependents. To place an object file into a different directory using a Microsoft language compiler, specify the /Fo compiler option switch and the destination path for the object file. To place an executable file in a directory other than the directory that contains the source files, specify the full pathname for the EXE file parameter when linking, or use the /Fe compiler switch if you compile and link your application in the same step.

MORE INFORMATION

The following makefile demonstrates placing an object file in a different directory than the source file.

Sample Makefile

# Build options required: None

ObjDir    = c:\obj^\
SourceDir = c:\src^\

$(ObjDir)pixel.obj : $(SourceDir)pixel.c

   cl /Fo$(ObjDir) /c $*

NOTE: When you use a macro in the makefile to specify a pathname, you must specify a caret (^) before the backslash (\) character that ends the line. Otherwise, NMAKE interprets the trailing backslash as a line- continuation character.


Additional reference words: kbinf kbinf 1.20 1.30 1.40 1.50
KBCategory: kbtool
KBSubcategory: NmakeIss


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 24, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.