<BuildPassName>_PRODUCES (Compact 2013)
3/26/2014
This macro instructs the Build tool to build this directory before any directories that contain the corresponding <BuildPassName>_CONSUMES macro are built.
Remarks
You use this macro in your Sources file. The Build tool uses each <BuildPassName>_PRODUCES macro only during the pass of the build process named <BuildPassName>. For example, the Build tool uses the ASN_PRODUCES macro only during the ASN pass; during all other build passes, this macro is ignored. The directory with a Sources file that contains a <BuildPassName>_PRODUCES macro with a particular value will be built before any directories with a corresponding <BuildPassName>_CONSUMES macro value. This build order happens regardless of the directories' position in the Dirs File. The values for these macros are case-insensitive strings.
The implementations of this macro are:
- ASN_PRODUCES
- COMPILE_PRODUCES
- EXPLIB_PRODUCES
- LIB_PRODUCES
- LINK_PRODUCES
- LOCALIZE_PRODUCES
- MANAGEDDLL_PRODUCES
- MANAGEDEXE_PRODUCES
- MANAGEDMOD_PRODUCES
- MANAGEDRESX_PRODUCES
- MANAGEDWIN_PRODUCES
- MC_PRODUCES
- MIDL_PRODUCES
- POSTBUILD_PRODUCES
- PRECOMPHEADER_PRODUCES
- RENUMBERICONIDS_PRODUCES
- RES2RES_PRODUCES
- THUNK_PRODUCES
- WCEFILES0_PRODUCES
These implementations correspond to the build passes defined in %_WINCEROOT%\Public\Common\Oak\Misc\Buildtable.xml.
Example
The following code example shows three Sources files for three projects that use the <BuildPassName>_PRODUCES and <BuildPassName>_CONSUMES macros. In this example, projects A and B will be built before project C during the MIDL pass.
#PROJECT A
MIDL_PRODUCES=global_headers
#PROJECT B
MIDL_PRODUCES=ProjectB_files
#PROJECT C
MIDL_CONSUMES=global_headers ProjectB_files
A project can only define one <BuildPassName>_PRODUCES string for each pass. Therefore, the following entry in a Sources file is invalid:
MIDL_PRODUCES=ProjectB_files ProjectC_files