#/*++
# 
# Copyright (c) 2006 - 2007, 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.             
#
#  Module Name:
#    DxeIpl.inf
#
#  Abstract:
#
#--*/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeIpl
  FILE_GUID                      = 2119BBD7-9432-4f47-B5E2-5C4EA31B6BDC
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  EDK_RELEASE_VERSION            = 0x00020000
  EFI_SPECIFICATION_VERSION      = 0x00020000

[Packages]
  MdePkg/MdePkg.dec
  DuetPkg/DuetPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

[LibraryClasses.common]
  BaseLib
  BaseMemoryLib
  PrintLib
  ReportStatusCodeLib

[Sources.common]
  DxeIpl.h
  DxeInit.c
  LegacyTable.c
  LegacyTable.h
  PpisNeededByDxeCore.c
  PpisNeededByDxeCore.h
  HobGeneration.c
  HobGeneration.h
  SerialStatusCode.c
  SerialStatusCode.h
  Debug.c
  Debug.h
  
[Sources.x64]
  X64/CpuIoAccess.asm
  X64/EnterDxeCore.asm
  X64/Paging.c
  X64/VirtualMemory.h

[Sources.Ia32]
  Ia32/CpuIoAccess.asm
  Ia32/EnterDxeCore.asm
  Ia32/Paging.c
  Ia32/VirtualMemory.h

#[BuildOptions.common]
  #MSFT:*_*_IA32_DLINK_FLAGS = /out:"$(BIN_DIR)\SecMain.exe" /base:0x10000000 /pdb:"$(BIN_DIR)\SecMain.pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib
  #MSFT:*_*_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
  #MSFT:*_*_IA32_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h
  #MSFT:*_*_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi
  #MSFT:*_*_IA32_ASMLINK_FLAGS       = /link /nologo /tiny  
  #GCC:*_UNIXGCC_IA32_CC_FLAGS                  = -O2 -falign-functions -falign-jumps -falign-loops -freorder-blocks -freorder-blocks-and-partition -falign-labels -fshort-wchar -fno-strict-aliasing -Wall  -Wno-missing-braces -c -include AutoGen.h
