OpenBoardPkgBuildOption.dsc 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. ## @file
  2. # platform build option configuration file.
  3. #
  4. # Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR>
  5. #
  6. # SPDX-License-Identifier: BSD-2-Clause-Patent
  7. #
  8. ##
  9. [BuildOptions]
  10. # Define Build Options both for EDK and EDKII drivers.
  11. DEFINE DSC_S3_BUILD_OPTIONS =
  12. DEFINE DSC_CSM_BUILD_OPTIONS =
  13. !if gSiPkgTokenSpaceGuid.PcdAcpiEnable == TRUE
  14. DEFINE DSC_ACPI_BUILD_OPTIONS = -DACPI_SUPPORT=1
  15. !else
  16. DEFINE DSC_ACPI_BUILD_OPTIONS =
  17. !endif
  18. DEFINE BIOS_GUARD_BUILD_OPTIONS =
  19. DEFINE OVERCLOCKING_BUILD_OPTION =
  20. DEFINE FSP_BINARY_BUILD_OPTIONS =
  21. DEFINE FSP_WRAPPER_BUILD_OPTIONS = -DFSP_WRAPPER_FLAG
  22. DEFINE SKIP_FSP_TEMPRAM_INIT_AND_EXIT_OPTIONS =
  23. DEFINE RESTRICTED_OPTION =
  24. DEFINE SV_BUILD_OPTIONS =
  25. DEFINE TEST_MENU_BUILD_OPTION =
  26. !if gSiPkgTokenSpaceGuid.PcdOptimizeCompilerEnable == FALSE
  27. DEFINE OPTIMIZE_DISABLE_OPTIONS = -Od -GL-
  28. !else
  29. DEFINE OPTIMIZE_DISABLE_OPTIONS =
  30. !endif
  31. DEFINE UP_SERVER_SUPPORT_BUILD_OPTIONS =
  32. DEFINE TPM_BUILD_OPTION =
  33. DEFINE TPM2_BUILD_OPTION =
  34. DEFINE DSC_TBT_BUILD_OPTIONS =
  35. DEFINE DSC_DCTT_BUILD_OPTIONS =
  36. DEFINE EMB_BUILD_OPTIONS =
  37. DEFINE DSC_MEMORY_DOWN_BUILD_OPTIONS =
  38. DEFINE DSC_KBCEMUL_BUILD_OPTIONS =
  39. DEFINE BOOT_GUARD_BUILD_OPTIONS =
  40. DEFINE SECURE_BOOT_BUILD_OPTIONS =
  41. DEFINE USBTYPEC_BUILD_OPTION =
  42. DEFINE CAPSULE_BUILD_OPTIONS =
  43. DEFINE PERFORMANCE_BUILD_OPTION =
  44. DEFINE DEBUGUSEUSB_BUILD_OPTION =
  45. DEFINE DISABLE_NEW_DEPRECATED_INTERFACES_BUILD_OPTION = -DDISABLE_NEW_DEPRECATED_INTERFACES=1
  46. DEFINE SINITBIN_BUILD_OPTION =
  47. DEFINE MINTREE_FLAG_BUILD_OPTION = -DMINTREE_FLAG=1
  48. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OVERCLOCKING_BUILD_OPTION) $(PERFORMANCE_BUILD_OPTION) $(EMB_BUILD_OPTIONS) $(BIOS_GUARD_BUILD_OPTIONS) $(DSC_TBT_BUILD_OPTIONS)
  49. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(BOOT_GUARD_BUILD_OPTIONS) $(DSC_MEMORY_DOWN_BUILD_OPTIONS) $(DEBUGUSEUSB_BUILD_OPTION) $(DSC_S3_BUILD_OPTIONS)
  50. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(FSP_BINARY_BUILD_OPTIONS) $(FSP_WRAPPER_BUILD_OPTIONS) $(SKIP_FSP_TEMPRAM_INIT_AND_EXIT_OPTIONS)
  51. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(DSC_KBCEMUL_BUILD_OPTIONS) $(CAPSULE_BUILD_OPTIONS) $(SECURE_BOOT_BUILD_OPTIONS) $(DSC_CSM_BUILD_OPTIONS) $(DISABLE_NEW_DEPRECATED_INTERFACES_BUILD_OPTION)
  52. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(TPM2_BUILD_OPTION) $(TPM_BUILD_OPTION) $(DSC_DCTT_BUILD_OPTIONS)
  53. DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(DSC_ACPI_BUILD_OPTIONS) $(UP_SERVER_SUPPORT_BUILD_OPTIONS) $(USBTYPEC_BUILD_OPTION) $(SINITBIN_BUILD_OPTION) $(MINTREE_FLAG_BUILD_OPTION)
  54. # FIXME: $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) is passed multiple times
  55. [BuildOptions.Common.EDKII]
  56. #
  57. # For IA32 Global Build Flag
  58. #
  59. *_*_IA32_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
  60. *_*_IA32_VFRPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  61. *_*_IA32_APP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  62. *_*_IA32_ASLPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  63. *_*_IA32_ASLCC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  64. *_*_IA32_NASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  65. #
  66. # For IA32 Specific Build Flag
  67. #
  68. GCC: *_*_IA32_PP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  69. GCC: *_*_IA32_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI -Wno-unused -Wl,--allow-multiple-definition
  70. MSFT: *_*_IA32_ASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  71. MSFT: *_*_IA32_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
  72. MSFT: *_*_IA32_VFRPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  73. MSFT: *_*_IA32_APP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  74. MSFT: *_*_IA32_ASLPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  75. MSFT: *_*_IA32_ASLCC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  76. #
  77. # For X64 Global Build Flag
  78. #
  79. *_*_X64_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
  80. *_*_X64_VFRPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  81. *_*_X64_APP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  82. *_*_X64_ASLPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  83. *_*_X64_ASLCC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  84. *_*_X64_NASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  85. #
  86. # For X64 Specific Build Flag
  87. #
  88. GCC: *_*_X64_PP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  89. GCC: *_*_X64_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -Wno-unused -Wl,--allow-multiple-definition
  90. MSFT: *_*_X64_ASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  91. MSFT: *_*_X64_CC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
  92. MSFT: *_*_X64_VFRPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  93. MSFT: *_*_X64_APP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  94. MSFT: *_*_X64_ASLPP_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  95. MSFT: *_*_X64_ASLCC_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
  96. # Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection
  97. [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
  98. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  99. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  100. # Force PE/COFF sections to be aligned at 4KB boundaries to support MemoryAttribute table
  101. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  102. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  103. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  104. # FIXME: Protection broken, but works on UefiPayload, and not related to
  105. # FspWrapperNotifyDxe. Cannot be related to SMM?
  106. # Force PE/COFF sections to be aligned at 4KB boundaries to support NX protection
  107. [BuildOptions.common.EDKII.DXE_DRIVER, BuildOptions.common.EDKII.DXE_CORE, BuildOptions.common.EDKII.UEFI_DRIVER, BuildOptions.common.EDKII.UEFI_APPLICATION]
  108. #MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  109. #GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000