#/** @file
#
#    Component description file for DxeIpl module
#
#   The responsibility of this module is to load the DXE Core from a Firmware Volume. This implementation i used to load a 32-bit DXE Core.
#
#  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
#  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.
#
#**/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = TemplateSec
  FILE_GUID                      = 1D6F730F-5A55-4078-869B-E0A18324BDC8
  MODULE_TYPE                    = SEC
  VERSION_STRING                 = 1.0


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 ARM
#

[Sources.common]
  TemplateSec.c

[Sources.Ia32]
#  Ia32/ResetVector.asm | MSFT
#  Ia32/ResetVector.S   | GCC

[Sources.X64]
#  X64/ResetVector.asm | MSFT
#  X64/ResetVector.S   | GCC

[Sources.ARM]
#  Arm/ResetVector.asm | RVCT
#  Arm/ResetVector.S   | GCC

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  EmbeddedPkg/EmbeddedPkg.dec


[LibraryClasses]
  BaseLib
  DebugLib
  BaseMemoryLib
  UefiDecompressLib
  PeCoffLib
  CacheMaintenanceLib
  PrePiLib

[Pcd]
  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress
  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdSize

