A sources file is a text file that sets the macro definitions for the source code in a subdirectory. Build.exe uses these macro definitions to determine how to compile and link the source code.
Note The directory and file names used in the code examples in this section are samples that demonstrate the way to set up a sources file. You would choose different names for any sources files and directories that you create.
The following code example shows the placement of the common sources file, Sources.cmn, and other sources files in a sample directory.
\Public \MyProj Sources.cmn Dirs \Proj2 Dirs Makefile Sources Proj2.cpp Proj2.h . . .
The following table shows the macro variables for the sources file in the MyProj\Proj2 directory.
|TARGETNAME=Proj2||Defines the base name of the file to be built. Build.exe creates a file named Proj2.extension, where extension can be .lib, .dll, or .exe.|
|TARGETTYPE=PROGRAM||Defines the type of file, and hence the extension in that file's name. PROGRAM generates an .exe file.|
|TARGETLIBS=$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\Coredll.lib||Defines the libraries to be linked.|
|SOURCES=Proj2.cpp \||Defines the source code files to compile. Header files do not need to be on the SOURCES line if they are included inside other files.|
|EXEENTRY=WinMain||Defines the entry point for the .exe file. WinMain sets the entry point for a Windows application.|
Your source code tree can optionally include Sources.cmn. Any macro variables in a common sources file apply to all sources files in that directory and its associated subdirectories.
The Platform Builder sample code includes a common sources file in each of the following directories:
The following code example shows the contents of Public\Common\Sources.cmn. These macro definitions apply to every sources file in the Public\Common directory.
Sample SOURCES.CMN from \Common WINCEOEM=1 WINCEPROJ=COMMON WINCETREE=winceos WARNISERROR=1
After Build.exe parses the sources file, Nmake.exe incorporates the sources file into the common makefile file, Makefile.def. Build.exe follows only the macro assignments and ignores any other lines, such as conditional Nmake.exe statements. Conditional statements in sources files are not supported.
The following code example shows that Build.exe ignores the first, second, fourth, and sixth lines, and appends the SOURCES macro twice.
# Bad example !IF "$(LOCALE)" == "0409" SOURCES= $(SOURCES) us-src.c !ELSE SOURCES= $(SOURCES) inter-src.c !ENDIF
Last updated on Friday, October 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.