1## @file
2#
3# Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
4#
5# SPDX-License-Identifier: BSD-2-Clause-Patent
6#
7##
8
9[BuildOptions.Common.EDKII]
10# Append build options for EDK and EDKII drivers (= is Append, == is Replace)
11
12  DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS =
13
14!if $(TARGET) == "DEBUG"
15  DEFINE DEBUG_BUILD_FLAG = -D SERIAL_DBG_MSG=1
16!else
17  DEFINE DEBUG_BUILD_FLAG = -D MDEPKG_NDEBUG -D SILENT_MODE
18!endif
19
20  DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS     = $(EDKII_DSC_FEATURE_BUILD_OPTIONS) $(DEBUG_BUILD_FLAG)
21#
22# PC_BUILD_END
23#
24
25
26  DEFINE EDKII_DSC_FEATURE_BUILD_OPTIONS     = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
27
28
29  *_*_IA32_CC_FLAGS    = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
30  *_*_IA32_VFRPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
31  *_*_IA32_APP_FLAGS   = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
32  *_*_IA32_PP_FLAGS    = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
33  *_*_IA32_ASLPP_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
34  *_*_IA32_ASLCC_FLAGS = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
35
36  *_*_X64_CC_FLAGS     = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
37  *_*_X64_VFRPP_FLAGS  = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
38  *_*_X64_APP_FLAGS    = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
39  *_*_X64_PP_FLAGS     = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
40  *_*_X64_ASLPP_FLAGS  = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
41  *_*_X64_ASLCC_FLAGS  = $(EDKII_DSC_FEATURE_BUILD_OPTIONS)
42
43
44
45#
46# Enable source level debugging for RELEASE build
47#
48!if $(TARGET) == "RELEASE"
49  DEFINE EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS   = /Zi
50  DEFINE EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS    = /Zi /Gm
51  DEFINE EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS = /DEBUG
52
53  MSFT:*_*_*_ASM_FLAGS    = $(EDKII_RELEASE_SRCDBG_ASM_BUILD_OPTIONS)
54  MSFT:*_*_*_CC_FLAGS     = $(EDKII_RELEASE_SRCDBG_CC_BUILD_OPTIONS)
55  MSFT:*_*_*_DLINK_FLAGS  = $(EDKII_RELEASE_SRCDBG_DLINK_BUILD_OPTIONS)
56!endif
57
58
59#
60# Override the existing iasl path in tools_def.template
61#
62#  MSFT:*_*_*_ASL_PATH == c:/Iasl/iasl.exe
63
64#
65# Override the VFR compile flags to speed the build time
66#
67
68*_*_*_VFR_FLAGS                     ==  -n
69
70# Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection
71#[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
72#  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
73#  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
74
75# Force PE/COFF sections to be aligned at 4KB boundaries to support MemoryAttribute table
76#[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
77#  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
78#  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
79