Name
GenDepex.exe or GenDepex.py – Convert the dependency string of file to the binary PI dependency expression. 
Synopsis
GenDepex.exe [-q | -v | -d] [-m] [-o <OutputFile>] –t <ModuleType> –e <Expression> | <dependency_expression_file>
GenDepex.exe –h
GenDepex.exe --version
Description
GenDepex generates the binary PI dependency expression according to module type by parsing the input dependency expression string or the preprocessed dxs file. For PEIM module type, the PEI dependency expression will be generated. For DXE_DRIVER, UEFI_DRIVER, DXE_RUNTIME_DRIVER, DXE_SAL_DRIVER and DXE_SMM_DRIVER, the DXE dependency expression will be generated.
GenDepex tool is not a standalone tool. When [depex] section is specified in module INF, it will be used by the Build tool. The Build tool first parses the content in [depex] section to create the dependency expression string, then GenDepex will parse the generated string. When a [depex] section is not specified, but File.dxs file exist, GenDepex tool will be used together with the Compiler and the EDKII trim tool. The File.dxs first is preprocessed by Compiler, and then processed by the trim tool to remove all other code except for the dependency content, lastly the GenPepex will process the preprocessed dependency file.
Options
If no options are specified, tool prints error message.
dependency_expression_file
Specify the name of the preprocessed dxs file to be parsed into the binary PI dependency expression.
-o FILE, --output=FILE
Specify the name of depex file that contains the generated binary PI dependency expression.
-t MODULETYPE, --module-type=MODULETYPE
The type of module is for which the dependency expression serves. Only EDKII module type is supported.
-e EXPRESSION, --dependency-expression=EXPRESSION
The option value is the string of dependency expression. If this option presents, the input file will be ignored.
-m, --optimize
Do some simple optimization on the expression to remove the duplicated guid.
-v, --verbose
 	Run with verbose information.
-d DEBUG, --debug=DEBUG [0-9]
Enable debug messages at specified level.
-q, --quiet
Run with little information in quiet mode.
--version
Show program's version number and exit
-h, --help
Show this help message and exit
Status codes returned
0	The action was completed as requested.	
1	The action failed.	
Example
1. Parse the input dependency string based on DXE_DRIVER module type to generate the binary PI dependency expression into the output test.depex file.  
GenDepex.exe -o test.depex -t DXE_DRIVER -e "{ 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } AND { 0xf617b358, 0x12cf, 0x414a, 0xa0, 0x69, 0x60, 0x67, 0x7b, 0xda, 0x13, 0xb3 } END"
2. Parse the input dependency string based on DXE_DRIVER module type to generate the binary PI dependency expression into the output test.depex file in the optimization mode.
GenDepex -o test.depex -t DXE_DRIVER -e "{ 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } AND { 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } END" -m
Same to 
GenDepex -o test.depex -t DXE_DRIVER -e "{ 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } END"
3. Parse the input preprocessed dependency file (test.iii) based on DXE_DRIVER module type to generate the binary PI dependency expression into the output test.depex.
GenDepex –o test.depex –t DXE_DRIVER test.iii
Test.iii file is the preprocessed dxs file like:
DEPENDENCY_START
  { 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } AND
  { 0xf617b358, 0x12cf, 0x414a, 0xa0, 0x69, 0x60, 0x67, 0x7b, 0xda, 0x13, 0xb3 }
DEPENDENCY_END
Bugs
No known bugs.
Report bugs to edk2-devel@lists.01.org
Files
None
See also
None
License
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available 
under the terms and conditions of the BSD License which accompanies this 
distribution.  The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.