Name
GenDepex.exe or GenDepex.py – Convert the dependency string of file to the binary PI dependency expression. 
Synopsis
GenDepex.exe [options] [dependency_expression_file]
Description
GenDepex tool parses the input dependency expression string or the preprocessed dxs file to generate the binary PI dependency expression according to their module type. 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 together by Build tool. Build tool first parses the content in [depex] section to create the dependency expression string, then GenDepex will parse the generated string. When [depex] section is not specified, but File.dxs file exist, GenDepex tool will be used together with Compiler and EDKII trim too. The File.dxs first is preprocessed by Compiler, then processed by trim tool to remove all other code except for dependency content, last GenPepex will process the preprocessed dependency file.
Options
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
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-buildtools-devel@lists.sourceforge.net
Files
None
See also
None
License
Copyright (c) 2007 - 2009, 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.