Build Tool
The Windows CE Build tool (Build.exe) builds the source code in a directory
and in specified subdirectories. Build.exe uses dirs and sources files to
determine the following:
- Which directories to traverse
- Which C-language and Microsoft Visual C++® source files to compile
- What type of binary file to build
Note The Microsoft® Windows CE Build
tool differs significantly from the Build utility in the Microsoft Windows NT®
4.0 Device Driver Kit (DDK). Several environment variables differ, as do many
sources file entries.
Build.exe performs the following procedures in each directory it runs:
- Build.exe looks for a dirs file in the current directory; then, if the dirs
file exists, the file directs Build.exe to additional subdirectories that
contain source code or additional dirs files.
- If there is no dirs file in the current directory, Build.exe searches for a
sources file.
The sources file contains a list of C or C++ source files to compile, and the
type of executable file to build, if any.
- If Build.exe finds a sources file in the current directory, Build.exe calls
the Microsoft Program Maintenance Utility (Nmake.exe), also known as the Nmake
tool, to compile the specified C or C++ sources files or to link an object
module.
When successful, Build.exe completes a binary executable file (.exe),
dynamic-link library file (.dll), or static Common Object File Format file
(.lib) and places it in the applicable subdirectory of the %PROJECTOAKROOT%
directory.
The %PROJECTOAKROOT% directory is equivalent to the %_PROJECTROOT%\Oak
directory. In general, you can build only one binary file in a subdirectory,
either a .lib, .exe, or.dll file.
The following table shows the subdirectory where Build.exe places completed
binary files.
| File type |
Subdirectory |
| .exe, .dll |
Target\%_TGTCPU%\%WINCEDEBUG%.
If the environment variable WINCEREL is defined, the .exe or .dll file is
also copied to the %_FLATRELEASEDIR% directory. |
| .lib |
Lib\%_TGTCPU%\%WINCEDEBUG%. |
build [Parameters]
Parameters
- -?
- Displays a list of command-line options for Build.exe, in the
Public\Common\Oak\Bin\i386 directory in the directory where you installed the
Windows CE OS.
This list is displayed when the current directory contains buildable content.
- -b
- Displays the full text of error messages.
- -c
- Deletes all object files.
- -C
- Deletes all .lib object files.
- -clean
- Executes -nmake clean.
- -d
- Displays debug information.
- -e
- Generates Build.log, Build.wrn, and Build.err files in which Build.exe
stores messages produced during the build process.
- -E
- Keeps the Build.log, Build.wrn, and Build.err files (use with -z).
- -f
- Forces a rescan of all source and include files.
- -F
- Prints the full path when displaying errors and warnings to stdout.
- -i
- Ignores compiler warning messages.
- -j File
- Uses File as the name for log files.
- -k
- Keeps out-of-date targets.
- -l
- Runs a link pass only; does not compile.
- -L
- Runs a compile pass only; does not link.
- -m
- Runs Build.exe in the idle priority class.
- -M [n]
- Runs Build.exe on n microprocessors (for multiprocessor computers).
If the dirs and sources files in your OS design have dependencies, this can
cause synchronization issues. For more information, see SYNCHRONIZE_DRAIN and
SYNCHRONIZE_BLOCK.
- -nmake Arg
- Invokes Nmake.exe with Arg.
- -o
- Displays out-of-date files.
- -O
- Generates an _Objects.mac file for the current directory.
- -p
- Pauses before compile and link phases.
- -P
- Prints the elapsed time after every directory.
- -q
- Queries dependencies only; does not run Nmake.exe.
- -r Directory
- Restarts a clean build at Directory.
- -s
- Displays a status line at the top of the command window.
- -S
- Displays a status line with include file line counts.
- -t
- Displays the first level of the dependency tree.
- -T
- Displays the dependency tree.
- -$
- Displays the dependency tree hierarchically.
- -u
- Displays unused BUILD_OPTIONS.
- -v
- Enables include-file version checking.
- -w
- Shows warnings on screen.
- -why
- Lists reasons for building targets.
- -x File
- Excludes the include file from dependency checks.
- -y
- Shows files that are scanned.
- -z
- Does not check dependencies of or scan source files — one-pass compile and
link.
- -Z
- Does not check dependencies of or scan source files — two-pass compile and
link.
- Other
- Specifies additional source directories.
Error Messages
- No _TGTCPU environment variable set
- No _TGTCPUFAMILY environment variable set
- Unknown _TGTCPU variable
- The environment variables %_TGTCPU% or %_TGTCPUFAMILY%, which are normally
set by Wince.bat, were not set. This error generally occurs if you did not use
Wince.bat to start the command prompt build window for your OS design.
- Error finding topmost directory containing dirs file
- The current directory in which you run Build.exe does not contain a dirs
file or a sources file. Build.exe cannot determine which code directories to
build. To troubleshoot, be sure you have the following:
- A dirs file, outlining your subdirectories, in the current directory of your
source code tree.
- A sources file in each subdirectory specified in the dirs file.
Example
The following code example shows how to use Build.exe to perform a clean
build that forces a rescan of all source and include files.
build -cfs
Remarks
During the build process, Build.exe generates several log files in the root
directory where it was called.
The following table shows the log files and their contents.
| Log file |
Description |
| Build.log |
Contains a log of commands invoked by Nmake.exe. |
| Build.wrn |
Contains a list of warnings generated during the build
process. |
| Build.err |
Contains a list of errors generated during the build
process. |
Note Build.exe reports some compiler
and linker warnings only in the Build.wrn file. Do not expect all warnings to be
returned as messages in the command prompt build window.
阅读(1959) | 评论(1) | 转发(0) |