From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: bob.c.feng@intel.com) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by groups.io with SMTP; Wed, 10 Apr 2019 20:18:50 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Apr 2019 20:18:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,335,1549958400"; d="scan'208";a="149851454" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 10 Apr 2019 20:18:49 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 10 Apr 2019 20:18:49 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 10 Apr 2019 20:18:48 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.164]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.39]) with mapi id 14.03.0415.000; Thu, 11 Apr 2019 11:18:46 +0800 From: "BobCF" To: "Fan, ZhijuX" , "devel@edk2.groups.io" CC: "Gao, Liming" , "Feng, Bob C" Subject: Re: [edk2][PATCH V2] BaseTools:Enable the /MP option of MSVC compiler Thread-Topic: [edk2][PATCH V2] BaseTools:Enable the /MP option of MSVC compiler Thread-Index: AdTvenjqziXLQ0SNTOWl43634l5HawAmpmuA Date: Thu, 11 Apr 2019 03:18:46 +0000 Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D1600DD9AD@SHSMSX101.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I also added the incremental build performance data in BZ https://bugzilla.= tianocore.org/show_bug.cgi?id=3D1672 -Bob -----Original Message----- From: Fan, ZhijuX=20 Sent: Wednesday, April 10, 2019 4:51 PM To: devel@edk2.groups.io Cc: Gao, Liming ; Feng, Bob C Subject: [edk2][PATCH V2] BaseTools:Enable the /MP option of MSVC compiler BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=3D1672 The /MP option of MSVC compiler can reduce the total time to compile the so= urce files on the command line. This patch is going to enable this MSVC option in BaseTools. Cc: Bob Feng Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan --- BaseTools/Conf/tools_def.template | 126 ++++++++++++++-----------= ---- BaseTools/Source/Python/AutoGen/GenMake.py | 81 +++++++++++++++++-- 2 files changed, 137 insertions(+), 70 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index abda2164a6..bffb6d63eb 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -674,9 +674,9 @@ NOOPT_VS2008_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF *_VS2008_X64_ASLPP_PATH =3D DEF(VS2008_BINX64)\cl.exe *_VS2008_X64_ASLDLINK_PATH =3D DEF(VS2008_BINX64)\link.exe =20 - DEBUG_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -RELEASE_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2008_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2008_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -876,9 +876,9 @@ NOOPT_VS2008xASL_X64_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:RE *_VS2008x86_IA32_ASM_PATH =3D DEF(VS2008x86_BIN)\ml.exe =20 *_VS2008x86_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -RELEASE_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP +RELEASE_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Z= i RELEASE_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -908,9 +908,9 @@ NOOPT_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAU= LTLIB /IGNORE:4001 /OPT:REF *_VS2008x86_X64_DLINK_PATH =3D DEF(VS2008x86_BINX64)\link.exe *_VS2008x86_X64_ASLDLINK_PATH =3D DEF(VS2008x86_BINX64)\link.exe =20 - DEBUG_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -RELEASE_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2008x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2008x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -1109,9 +1109,9 @@ NOOPT_VS2008x86xASL_X64_DLINK_FLAGS =3D /NOLOGO /N= ODEFAULTLIB /IGNORE:4001 /OPT *_VS2010_IA32_ASLDLINK_PATH =3D DEF(VS2010_BIN)\link.exe =20 *_VS2010_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -RELEASE_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP +RELEASE_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /MP =20 DEBUG_VS2010_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2010_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -1141,9 +1141,9 @@ NOOPT_VS2010_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2010_X64_ASLPP_PATH =3D DEF(VS2010_BINX64)\cl.exe *_VS2010_X64_ASLDLINK_PATH =3D DEF(VS2010_BINX64)\link.exe =20 - DEBUG_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -RELEASE_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2010_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2010_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -1343,9 +1343,9 @@ NOOPT_VS2010xASL_X64_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:RE *_VS2010x86_IA32_ASM_PATH =3D DEF(VS2010x86_BIN)\ml.exe =20 *_VS2010x86_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -RELEASE_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP +RELEASE_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Z= i RELEASE_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -1375,9 +1375,9 @@ NOOPT_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2010x86_X64_DLINK_PATH =3D DEF(VS2010x86_BINX64)\link.exe *_VS2010x86_X64_ASLDLINK_PATH =3D DEF(VS2010x86_BINX64)\link.exe =20 - DEBUG_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -RELEASE_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2010x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2010x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -1576,9 +1576,9 @@ NOOPT_VS2010x86xASL_X64_DLINK_FLAGS =3D /NOLOGO /N= ODEFAULTLIB /IGNORE:4001 /OPT *_VS2012_IA32_ASLDLINK_PATH =3D DEF(VS2012_BIN)\link.exe =20 *_VS2012_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -RELEASE_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP +RELEASE_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2012_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2012_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -1608,9 +1608,9 @@ NOOPT_VS2012_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2012_X64_ASLPP_PATH =3D DEF(VS2012_BINX64)\cl.exe *_VS2012_X64_ASLDLINK_PATH =3D DEF(VS2012_BINX64)\link.exe =20 - DEBUG_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -RELEASE_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2012_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2012_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -1810,9 +1810,9 @@ NOOPT_VS2012xASL_X64_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:RE *_VS2012x86_IA32_ASM_PATH =3D DEF(VS2012x86_BIN)\ml.exe =20 *_VS2012x86_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 -RELEASE_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od + DEBUG_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /MP +RELEASE_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Z= i RELEASE_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -1842,9 +1842,9 @@ NOOPT_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2012x86_X64_DLINK_PATH =3D DEF(VS2012x86_BINX64)\link.exe *_VS2012x86_X64_ASLDLINK_PATH =3D DEF(VS2012x86_BINX64)\link.exe =20 - DEBUG_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 -RELEASE_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -NOOPT_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od + DEBUG_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /MP +RELEASE_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /MP +NOOPT_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2012x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2012x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -2042,9 +2042,9 @@ NOOPT_VS2012x86xASL_X64_DLINK_FLAGS =3D /NOLOGO /N= ODEFAULTLIB /IGNORE:4001 /OPT *_VS2013_IA32_ASLDLINK_PATH =3D DEF(VS2013_BIN)\link.exe =20 *_VS2013_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw -RELEASE_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw /MP +RELEASE_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2013_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2013_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2013_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -2074,9 +2074,9 @@ NOOPT_VS2013_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2013_X64_ASLPP_PATH =3D DEF(VS2013_BINX64)\cl.exe *_VS2013_X64_ASLDLINK_PATH =3D DEF(VS2013_BINX64)\link.exe =20 - DEBUG_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw -RELEASE_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw /MP +RELEASE_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2013_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2013_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -2276,9 +2276,9 @@ NOOPT_VS2013xASL_X64_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:RE *_VS2013x86_IA32_ASM_PATH =3D DEF(VS2013x86_BIN)\ml.exe =20 *_VS2013x86_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw -RELEASE_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od + DEBUG_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw /MP +RELEASE_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Z= i RELEASE_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -2308,9 +2308,9 @@ NOOPT_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2013x86_X64_DLINK_PATH =3D DEF(VS2013x86_BINX64)\link.exe *_VS2013x86_X64_ASLDLINK_PATH =3D DEF(VS2013x86_BINX64)\link.exe =20 - DEBUG_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw -RELEASE_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od + DEBUG_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw /MP +RELEASE_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2013x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2013x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -2510,9 +2510,9 @@ NOOPT_VS2013x86xASL_X64_DLINK_FLAGS =3D /NOLOGO /N= ODEFAULTLIB /IGNORE:4001 /OPT *_VS2015_IA32_ASLDLINK_PATH =3D DEF(VS2015_BIN)\link.exe =20 *_VS2015_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw -RELEASE_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od + DEBUG_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw /MP +RELEASE_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2015_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /= Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2015_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2015_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -2542,9 +2542,9 @@ NOOPT_VS2015_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2015_X64_ASLPP_PATH =3D DEF(VS2015_BINX64)\cl.exe *_VS2015_X64_ASLDLINK_PATH =3D DEF(VS2015_BINX64)\link.exe =20 - DEBUG_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw -RELEASE_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od + DEBUG_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw /MP +RELEASE_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2015_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2015_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -2746,9 +2746,9 @@ NOOPT_VS2015xASL_X64_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:RE *_VS2015x86_IA32_ASM_PATH =3D DEF(VS2015x86_BIN)\ml.exe =20 *_VS2015x86_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw -RELEASE_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od + DEBUG_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw /MP +RELEASE_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 = /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Z= i RELEASE_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -2778,9 +2778,9 @@ NOOPT_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2015x86_X64_DLINK_PATH =3D DEF(VS2015x86_BINX64)\link.exe *_VS2015x86_X64_ASLDLINK_PATH =3D DEF(VS2015x86_BINX64)\link.exe =20 - DEBUG_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw -RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od + DEBUG_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw /MP +RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd @@ -2976,9 +2976,9 @@ NOOPT_VS2015x86xASL_X64_DLINK_FLAGS =3D /NOLOGO /N= ODEFAULTLIB /IGNORE:4001 /OPT *_VS2017_IA32_ASM_PATH =3D DEF(VS2017_BIN_IA32)\ml.exe =20 *_VS2017_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw -RELEASE_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od + DEBUG_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw /MP +RELEASE_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od /MP =20 DEBUG_VS2017_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2017_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd @@ -3006,9 +3006,9 @@ NOOPT_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /O *_VS2017_X64_DLINK_PATH =3D DEF(VS2017_BIN_X64)\link.exe *_VS2017_X64_ASLDLINK_PATH =3D DEF(VS2017_BIN_X64)\link.exe =20 - DEBUG_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw -RELEASE_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -NOOPT_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od + DEBUG_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw /MP +RELEASE_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /MP +NOOPT_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP =20 DEBUG_VS2017_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2017_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/= Python/AutoGen/GenMake.py index b441817b52..adf06065d3 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -435,7 +435,7 @@ cleanlib: self.CommonFileDependency =3D [] self.FileListMacros =3D {} self.ListFileMacros =3D {} - + self.ObjTargetDict =3D {} self.FileCache =3D {} self.LibraryBuildCommandList =3D [] self.LibraryFileList =3D [] @@ -518,6 +518,9 @@ cleanlib: # Remove duplicated include path, if any if Attr =3D=3D "FLAGS": Value =3D RemoveDupOption(Value, IncPrefix, MyAgo.= IncludePathList) + if self._AutoGenObject.BuildRuleFamily =3D=3D TAB_= COMPILER_MSFT and Tool =3D=3D 'CC' and '/GM' in Value: + Value =3D Value.replace(' /MP', '') + MyAgo.BuildOption[Tool][Attr] =3D Value if Tool =3D=3D "OPTROM" and PCI_COMPRESS_Flag: ValueList =3D Value.split() if ValueList: @@ -618,6 +621,11 @@ cleanlib: False ) =20 + # Generate objlist used to create .obj file + for Type in self.ObjTargetDict: + NewLine =3D ' '.join(list(self.ObjTargetDict[Type])) + FileMacroList.append("OBJLIST_%s =3D %s" %=20 + (list(self.ObjTargetDict.keys()).index(Type), NewLine)) + BcTargetList =3D [] =20 MakefileName =3D self._FILE_NAME_[self._FileType] @@ -927,6 +935,1= 0 @@ cleanlib: for File in DepSet: self.CommonFileDependency.append(self.PlaceMacro(File.Path, se= lf.Macros)) =20 + CmdSumDict =3D {} + CmdTargetDict =3D {} + CmdCppDict =3D {} + DependencyDict =3D FileDependencyDict.copy() for File in FileDependencyDict: # skip non-C files if File.Ext not in [".c", ".C"] or File.Name =3D=3D "AutoGen.c= ": @@ -934,6 +946,7 @@ cleanlib: NewDepSet =3D set(FileDependencyDict[File]) NewDepSet -=3D DepSet FileDependencyDict[File] =3D ["$(COMMON_DEPS)"] + list(NewDepS= et) + DependencyDict[File] =3D list(NewDepSet) =20 # Convert target description object to target string in makefile for Type in self._AutoGenObject.Targets: @@ -945,11 +958,21 @@ cleanlib: self.ListFileMacros[T.ListFileMacro] =3D [] if T.GenIncListFile and T.IncListFileMacro not in self.Lis= tFileMacros: self.ListFileMacros[T.IncListFileMacro] =3D [] + if self._AutoGenObject.BuildRuleFamily =3D=3D TAB_COMPILER= _MSFT and Type =3D=3D TAB_C_CODE_FILE: + NewFile =3D self.PlaceMacro(str(T), self.Macros) + if self.ObjTargetDict.get(T.Target.SubDir): + self.ObjTargetDict[T.Target.SubDir].add(NewFile) + else: + self.ObjTargetDict[T.Target.SubDir] =3D set() + =20 + self.ObjTargetDict[T.Target.SubDir].add(NewFile) =20 Deps =3D [] + CCodeDeps =3D [] # Add force-dependencies for Dep in T.Dependencies: Deps.append(self.PlaceMacro(str(Dep), self.Macros)) + if Dep !=3D '$(MAKE_FILE)': + CCodeDeps.append(self.PlaceMacro(str(Dep),=20 + self.Macros)) # Add inclusion-dependencies if len(T.Inputs) =3D=3D 1 and T.Inputs[0] in FileDependenc= yDict: for F in FileDependencyDict[T.Inputs[0]]: @@ -973,12 +996,56 @@ cleanlib: if Type in [TAB_OBJECT_FILE, TAB_STATIC_LIBRARY]: Deps.append("$(%s)" % T.ListFileMacro) =20 - TargetDict =3D { - "target" : self.PlaceMacro(T.Target.Path, self.Ma= cros), - "cmd" : "\n\t".join(T.Commands), - "deps" : Deps - } - self.BuildTargetList.append(self._BUILD_TARGET_TEMPLATE.Re= place(TargetDict)) + if self._AutoGenObject.BuildRuleFamily =3D=3D TAB_COMPILER= _MSFT and Type =3D=3D TAB_C_CODE_FILE: + T, CmdTarget, CmdTargetDict, CmdCppDict =3D self.Parse= rCCodeFile(T, Type, CmdSumDict, CmdTargetDict, CmdCppDict, DependencyDict) + TargetDict =3D {"target": self.PlaceMacro(T.Target.Pat= h, self.Macros), "cmd": "\n\t".join(T.Commands),"deps": CCodeDeps} + CmdLine =3D self._BUILD_TARGET_TEMPLATE.Replace(Target= Dict).rstrip().replace('\t$(OBJLIST', '$(OBJLIST') + if T.Commands: + CmdLine =3D '%s%s' %(CmdLine, TAB_LINE_BREAK) + if CCodeDeps or CmdLine: + self.BuildTargetList.append(CmdLine) + else: + TargetDict =3D {"target": self.PlaceMacro(T.Target.Pat= h, self.Macros), "cmd": "\n\t".join(T.Commands),"deps": Deps} + =20 + self.BuildTargetList.append(self._BUILD_TARGET_TEMPLATE.Replace(Target + Dict)) + + def ParserCCodeFile(self, T, Type, CmdSumDict, CmdTargetDict, CmdCppDi= ct, DependencyDict): + if not CmdSumDict: + for item in self._AutoGenObject.Targets[Type]: + CmdSumDict[item.Target.SubDir] =3D item.Target.BaseName + for CppPath in item.Inputs: + Path =3D self.PlaceMacro(CppPath.Path, self.Macros) + if CmdCppDict.get(item.Target.SubDir): + CmdCppDict[item.Target.SubDir].append(Path) + else: + CmdCppDict[item.Target.SubDir] =3D ['$(MAKE_FILE)'= , Path] + if CppPath.Path in DependencyDict: + for Temp in DependencyDict[CppPath.Path]: + Path =3D self.PlaceMacro(Temp.Path, self.Macro= s) + if Path not in (self.CommonFileDependency + Cm= dCppDict[item.Target.SubDir]): + CmdCppDict[item.Target.SubDir].append(Path= ) + if T.Commands: + CommandList =3D T.Commands[:] + for Item in CommandList[:]: + SingleCommandList =3D Item.split() + if len(SingleCommandList) > 0 and '$(CC)' in SingleCommand= List[0]: + for Temp in SingleCommandList: + if Temp.startswith('/Fo'): + CmdSign =3D '%s%s' % (Temp.rsplit(TAB_SLASH, 1= )[0], TAB_SLASH) + break + else: continue + if CmdSign not in list(CmdTargetDict.keys()): + CmdTargetDict[CmdSign] =3D Item.replace(Temp, CmdS= ign) + else: + CmdTargetDict[CmdSign] =3D "%s %s" % (CmdTargetDic= t[CmdSign], SingleCommandList[-1]) + Index =3D CommandList.index(Item) + CommandList.pop(Index) + if SingleCommandList[-1].endswith("%s%s.c" % (TAB_SLAS= H, CmdSumDict[CmdSign.lstrip('/Fo').rsplit(TAB_SLASH, 1)[0]])): + Cpplist =3D CmdCppDict[T.Target.SubDir] + Cpplist.insert(0, '$(OBJLIST_%d): $(COMMON_DEPS)' = % list(self.ObjTargetDict.keys()).index(T.Target.SubDir)) + T.Commands[Index] =3D '%s\n\t%s' % (' \\\n\t'.join= (Cpplist), CmdTargetDict[CmdSign]) + else: + T.Commands.pop(Index) + return T, CmdSumDict, CmdTargetDict, CmdCppDict =20 ## For creating makefile targets for dependent libraries def ProcessDependentLibrary(self): -- 2.14.1.windows.1