PlatformPkgBuildOption.dsc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. ## @file
  2. #
  3. # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
  4. # Copyright (c) 2021, American Megatrends International LLC.<BR>
  5. # SPDX-License-Identifier: BSD-2-Clause-Patent
  6. #
  7. ##
  8. [BuildOptions.Common.EDKII]
  9. # Append build options for EDK and EDKII drivers (= is Append, == is Replace)
  10. DEFINE CRB_EDKII_BUILD_OPTIONS = -D CRB_FLAG
  11. DEFINE EDKII_CPU_BUILD_OPTIONS = -D PURLEY_FLAG
  12. DEFINE TRAD_BUILD_OPTION = -D TRAD_FLAG=1
  13. DEFINE SUS_WELL_RESTORE_BUILD_OPTION = -D SUS_WELL_RESTORE=1
  14. DEFINE PCH_BUILD_OPTION = -D PCH_SERVER_BIOS_FLAG=1
  15. DEFINE SERVER_BUILD_OPTION = -D SERVER_BIOS_FLAG=1
  16. DEFINE PCH_PKG_OPTIONS = -D PCH_SPT
  17. DEFINE MAX_SOCKET_OPTIONS = -D MAX_SOCKET=2
  18. DEFINE EDKII_ALL_PPO_OPTIONS = $(EDKII_CPU_BUILD_OPTIONS)
  19. DEFINE PCH_BIOS_BUILD_OPTIONS = $(TRAD_BUILD_OPTION) $(ULT_BUILD_OPTION) $(PCH_BUILD_OPTION) $(SUS_WELL_RESTORE_BUILD_OPTION) $(SERVER_BUILD_OPTION)
  20. DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(CRB_EDKII_BUILD_OPTIONS) $(PCH_BIOS_BUILD_OPTIONS) $(PCH_PKG_OPTIONS) $(EDKII_ALL_PPO_OPTIONS) $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) $(MAX_SOCKET_OPTIONS) -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST
  21. !if $(TARGET) == "DEBUG"
  22. DEFINE DEBUG_BUILD_FLAG = -D SERIAL_DBG_MSG=1
  23. !else
  24. DEFINE DEBUG_BUILD_FLAG = -D MDEPKG_NDEBUG -D SILENT_MODE
  25. !endif
  26. DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) $(DEBUG_BUILD_FLAG)
  27. #
  28. # PC_BUILD_END
  29. #
  30. DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  31. *_*_*_CC_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  32. *_*_*_VFRPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  33. *_*_*_APP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  34. *_*_*_PP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  35. *_*_*_ASLPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  36. *_*_*_ASLCC_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
  37. #
  38. # Enable source level debugging for RELEASE build
  39. #
  40. !if $(TARGET) == "RELEASE"
  41. DEFINE EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS = /Zi
  42. DEFINE EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS = /Zi /Gm
  43. DEFINE EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS = /DEBUG
  44. MSFT:*_*_*_ASM_FLAGS = $(EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS)
  45. MSFT:*_*_*_CC_FLAGS = $(EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS)
  46. MSFT:*_*_*_DLINK_FLAGS = $(EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS)
  47. !endif
  48. #
  49. # Override the existing iasl path in tools_def.template
  50. #
  51. # MSFT:*_*_*_ASL_PATH == c:/Iasl/iasl.exe
  52. #
  53. # Override the VFR compile flags to speed the build time
  54. #
  55. *_*_*_VFR_FLAGS == -n
  56. # Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection
  57. [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
  58. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  59. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  60. # Force PE/COFF sections to be aligned at 4KB boundaries to support MemoryAttribute table
  61. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  62. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  63. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  64. [BuildOptions]
  65. !include NetworkPkg/NetworkBuildOptions.dsc.inc