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.