2 Design Discussion
This section of the document provides an overview to the build process for UEFI and PI compliant modules. This includes existing EDK components and EDK II modules. EDK II build tools process the following meta-data files:
EDK II build configuration files
EDK Component and EDK II Module (INF) Files
EDK Library (only used by EDK Components) INF Files
EDK II Package Declaration (DEC) Files
EDK II Platform Description (DSC) Files
EDK II Flash Description (FDF) Files
The meta-data file content is used to generate:
Module specific C files, both .c and .h files
PI compliant dependency files
Makefiles used by third party compiler utilities
PCI Option ROM images
UEFI compliant image files
Platform firmware images
Platform update capsules
Note: Path and Filename elements within the EDK II Meta-Data files and command line arguments are case-sensitive in order to support building on UNIX style operating systems.
Note: The total path and file name length is limited by the operating system and third party tools. It is recommended that for EDK II builds that the project directories under a subst drive in Windows (s:/ build as an example) or be located in either the /opt directory or in the user's /home/username directory for Linux and OS/X.This will minimize the path lengths of filenames for the command-line tools.
Reference Implementation
The EDK II build system is a reference implementation. Its description starts with chapter EDK II Build Process, after discussing the design and architectural elements of UEFI/PI compliant files.