From nobody Tue Apr 23 20:54:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+51589+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51589+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1575363176; cv=none; d=zohomail.com; s=zohoarc; b=DUhiA6NCwBldELLvE5SUvfYfdQAyAlz6RgrAVzFrQMno1dTjcAtfATCoe7dKmT0vCsqBpPk8X0nYL+IWJsppOUtfw71A3TJomW8wHAlEXxYMnLL+leSb0fTqvhsicqs5FCnEkpJW7F+mmx+qp3LOKTKx7fa5B61tALVmPvH7BuQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575363176; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=pVEbPma1xXhsyF3u6MHHcCiOCjmpiklBl9v7X9cG+T8=; b=OlTOb7R9HxbAN66ud29NeW4Pz1vGrzMU/golXzvAb7CT1iVfuPFyy0uuBO5kUmrpEVxugCSC3X5HJzwTR0DSKnxntdReiWwYn0BQKe+zlKeh+aDc+HZ2eJnrVprzzzxyIvpWmSVmvDWGIESNGllVFgKOu/McsA2Qa/Na3T7/DLY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51589+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1575363176131172.0845575515226; Tue, 3 Dec 2019 00:52:56 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id aaaaYY1788612xaaaaaaaaaa; Tue, 03 Dec 2019 00:52:55 -0800 X-Received: from mga05.intel.com (mga05.intel.com []) by mx.groups.io with SMTP id smtpd.web10.3340.1575363172863999682 for ; Tue, 03 Dec 2019 00:52:54 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 00:52:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,272,1571727600"; d="scan'208";a="213342262" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga006.jf.intel.com with ESMTP; 03 Dec 2019 00:52:52 -0800 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Steven Shi Subject: [edk2-devel] [Patch 1/4 V4] BaseTools: Add build option for dependency file generation Date: Tue, 3 Dec 2019 16:52:44 +0800 Message-Id: <20191203085247.17784-2-bob.c.feng@intel.com> In-Reply-To: <20191203085247.17784-1-bob.c.feng@intel.com> References: <20191203085247.17784-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: aaaaaaaaaaaaaaaaaaaaaaaax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1575363175; bh=Df0wWMoeBX2MpHxAn1Y+zRJOclPBOhFhqAbplSmmUaw=; h=Cc:Date:From:Reply-To:Subject:To; b=F7HZHG2X77ly9C3S/zCdV5msMzxMedXxOupMKBA/PTslJ/Lxi2QjnPsXxtuNPfpNA5x TmAitUh2wi3YfH3h2f8t6+6tl5tpVABx+fnr/ohvXQDz54Qkg2Umojv5FHvJyLQdFXTvZ 22SfZdW7/crIRd9VnVk2p07fpL5KUX6yoRk= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2311 Add /showIncludes for msvc and -MMD -MF $@.deps for GCC and CLANG Remove /MP for msvc since /MP does not work with /showIncludes Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Conf/tools_def.template | 173 ++++++++++++++++-------------- 1 file changed, 90 insertions(+), 83 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index ca0b122dbb..8206e97054 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -145,10 +145,11 @@ DEFINE IASL_OUTFLAGS =3D -p =20 DEFINE DEFAULT_WIN_ASL_BIN =3D DEF(WIN_IASL_BIN) DEFINE DEFAULT_WIN_ASL_FLAGS =3D DEF(IASL_FLAGS) DEFINE DEFAULT_WIN_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) =20 +DEFINE MSFT_DEPS_FLAGS =3D /showIncludes DEFINE MSFT_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen.h DEFINE MSFT_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h /TC /Dmain=3DRe= ferenceAcpiTable DEFINE MSFT_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:ReferenceAcpiTable= /SUBSYSTEM:CONSOLE =20 DEFINE IPHONE_TOOLS =3D /Developer/Platforms/iPhoneOS.platform/= Developer @@ -413,11 +414,11 @@ DEFINE DTC_BIN =3D ENV(DTC_PREFIX)dtc =20 *_VS2008_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2008_*_APP_FLAGS =3D /nologo /E /TC *_VS2008_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2008_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MOD= ULE_NAME)StrDefs.h - +*_VS2008_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2008_*_ASM16_PATH =3D DEF(VS2008_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -476,13 +477,13 @@ NOOPT_VS2008_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2008_X64_DLINK_PATH =3D DEF(VS2008_BINX64)\link.exe *_VS2008_X64_ASLCC_PATH =3D DEF(VS2008_BINX64)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2008_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -529,11 +530,11 @@ NOOPT_VS2008_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTL= IB /IGNORE:4001 /OPT:REF /OPT *_VS2008x86_*_MAKE_FLAGS =3D /nologo *_VS2008x86_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2008x86_*_APP_FLAGS =3D /nologo /E /TC *_VS2008x86_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2008x86_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_= NAME)StrDefs.h - +*_VS2008x86_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2008x86_*_ASM16_PATH =3D DEF(VS2008x86_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -560,13 +561,13 @@ NOOPT_VS2008_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTL= IB /IGNORE:4001 /OPT:REF /OPT *_VS2008x86_IA32_APP_PATH =3D DEF(VS2008x86_BIN)\cl.exe *_VS2008x86_IA32_PP_PATH =3D DEF(VS2008x86_BIN)\cl.exe *_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 /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 + DEBUG_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 +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 /Z7 /Od =20 DEBUG_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -592,14 +593,13 @@ NOOPT_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2008x86_X64_ASM_PATH =3D DEF(VS2008x86_BINX64)\ml64.exe *_VS2008x86_X64_SLINK_PATH =3D DEF(VS2008x86_BINX64)\lib.exe *_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 /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 - + DEBUG_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 +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 /Z7 /Od 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 NOOPT_VS2008x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 DEBUG_VS2008x86_X64_NASM_FLAGS =3D -Ox -f win64 -g @@ -648,11 +648,11 @@ NOOPT_VS2008x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF =20 *_VS2010_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2010_*_APP_FLAGS =3D /nologo /E /TC *_VS2010_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2010_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MOD= ULE_NAME)StrDefs.h - +*_VS2010_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2010_*_ASM16_PATH =3D DEF(VS2010_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -679,13 +679,13 @@ NOOPT_VS2008x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2010_IA32_ASLCC_PATH =3D DEF(VS2010_BIN)\cl.exe *_VS2010_IA32_ASLPP_PATH =3D DEF(VS2010_BIN)\cl.exe *_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 /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 + DEBUG_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D = UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 +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 =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 NOOPT_VS2010_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -711,13 +711,13 @@ NOOPT_VS2010_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2010_X64_DLINK_PATH =3D DEF(VS2010_BINX64)\link.exe *_VS2010_X64_ASLCC_PATH =3D DEF(VS2010_BINX64)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2010_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -764,11 +764,11 @@ NOOPT_VS2010_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTL= IB /IGNORE:4001 /OPT:REF /OPT *_VS2010x86_*_MAKE_FLAGS =3D /nologo *_VS2010x86_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2010x86_*_APP_FLAGS =3D /nologo /E /TC *_VS2010x86_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2010x86_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_= NAME)StrDefs.h - +*_VS2010x86_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2010x86_*_ASM16_PATH =3D DEF(VS2010x86_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -795,13 +795,13 @@ NOOPT_VS2010_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTL= IB /IGNORE:4001 /OPT:REF /OPT *_VS2010x86_IA32_APP_PATH =3D DEF(VS2010x86_BIN)\cl.exe *_VS2010x86_IA32_PP_PATH =3D DEF(VS2010x86_BIN)\cl.exe *_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 /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 + DEBUG_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 +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 /Z7 /Od =20 DEBUG_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -827,13 +827,13 @@ NOOPT_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2010x86_X64_ASM_PATH =3D DEF(VS2010x86_BINX64)\ml64.exe *_VS2010x86_X64_SLINK_PATH =3D DEF(VS2010x86_BINX64)\lib.exe *_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 /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 + DEBUG_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D= UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 +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 /Z7 /Od =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 NOOPT_VS2010x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -882,11 +882,11 @@ NOOPT_VS2010x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF =20 *_VS2012_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2012_*_APP_FLAGS =3D /nologo /E /TC *_VS2012_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2012_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MOD= ULE_NAME)StrDefs.h - +*_VS2012_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2012_*_ASM16_PATH =3D DEF(VS2012_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -913,13 +913,13 @@ NOOPT_VS2010x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEF= AULTLIB /IGNORE:4001 /OPT:REF *_VS2012_IA32_ASLCC_PATH =3D DEF(VS2012_BIN)\cl.exe *_VS2012_IA32_ASLPP_PATH =3D DEF(VS2012_BIN)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2012_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -945,13 +945,13 @@ NOOPT_VS2012_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF *_VS2012_X64_DLINK_PATH =3D DEF(VS2012_BINX64)\link.exe *_VS2012_X64_ASLCC_PATH =3D DEF(VS2012_BINX64)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2012_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -998,11 +998,11 @@ NOOPT_VS2012_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTL= IB /IGNORE:4001 /OPT:REF /OPT *_VS2012x86_*_MAKE_FLAGS =3D /nologo *_VS2012x86_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2012x86_*_APP_FLAGS =3D /nologo /E /TC *_VS2012x86_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2012x86_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_= NAME)StrDefs.h - +*_VS2012x86_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2012x86_*_ASM16_PATH =3D DEF(VS2012x86_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -1029,13 +1029,13 @@ NOOPT_VS2012_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /OPT *_VS2012x86_IA32_APP_PATH =3D DEF(VS2012x86_BIN)\cl.exe *_VS2012x86_IA32_PP_PATH =3D DEF(VS2012x86_BIN)\cl.exe *_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 /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 + 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 =20 DEBUG_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1061,13 +1061,13 @@ NOOPT_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2012x86_X64_ASM_PATH =3D DEF(VS2012x86_BINX64)\ml64.exe *_VS2012x86_X64_SLINK_PATH =3D DEF(VS2012x86_BINX64)\lib.exe *_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 /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 + 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 =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 NOOPT_VS2012x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1116,11 +1116,11 @@ NOOPT_VS2012x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF =20 *_VS2013_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2013_*_APP_FLAGS =3D /nologo /E /TC *_VS2013_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2013_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MOD= ULE_NAME)StrDefs.h - +*_VS2013_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2013_*_ASM16_PATH =3D DEF(VS2013_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -1147,13 +1147,13 @@ NOOPT_VS2012x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2013_IA32_ASLCC_PATH =3D DEF(VS2013_BIN)\cl.exe *_VS2013_IA32_ASLPP_PATH =3D DEF(VS2013_BIN)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2013_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1179,13 +1179,13 @@ NOOPT_VS2013_IA32_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:REF *_VS2013_X64_DLINK_PATH =3D DEF(VS2013_BINX64)\link.exe *_VS2013_X64_ASLCC_PATH =3D DEF(VS2013_BINX64)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2013_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1232,11 +1232,11 @@ NOOPT_VS2013_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /OPT *_VS2013x86_*_MAKE_FLAGS =3D /nologo *_VS2013x86_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2013x86_*_APP_FLAGS =3D /nologo /E /TC *_VS2013x86_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2013x86_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_= NAME)StrDefs.h - +*_VS2013x86_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2013x86_*_ASM16_PATH =3D DEF(VS2013x86_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -1263,13 +1263,13 @@ NOOPT_VS2013_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /OPT *_VS2013x86_IA32_APP_PATH =3D DEF(VS2013x86_BIN)\cl.exe *_VS2013x86_IA32_PP_PATH =3D DEF(VS2013x86_BIN)\cl.exe *_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 /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 + 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 =20 DEBUG_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1295,13 +1295,13 @@ NOOPT_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2013x86_X64_ASM_PATH =3D DEF(VS2013x86_BINX64)\ml64.exe *_VS2013x86_X64_SLINK_PATH =3D DEF(VS2013x86_BINX64)\lib.exe *_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 /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 + 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 =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 NOOPT_VS2013x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1351,11 +1351,11 @@ NOOPT_VS2013x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2015_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2015_*_APP_FLAGS =3D /nologo /E /TC *_VS2015_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2015_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MOD= ULE_NAME)StrDefs.h *_VS2015_*_DLINK2_FLAGS =3D - +*_VS2015_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2015_*_ASM16_PATH =3D DEF(VS2015_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -1382,13 +1382,13 @@ NOOPT_VS2013x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2015_IA32_ASLCC_PATH =3D DEF(VS2015_BIN)\cl.exe *_VS2015_IA32_ASLPP_PATH =3D DEF(VS2015_BIN)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2015_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1414,13 +1414,13 @@ NOOPT_VS2015_IA32_DLINK_FLAGS =3D /NOLOGO /NODE= FAULTLIB /IGNORE:4001 /OPT:REF *_VS2015_X64_DLINK_PATH =3D DEF(VS2015_BINX64)\link.exe *_VS2015_X64_ASLCC_PATH =3D DEF(VS2015_BINX64)\cl.exe *_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 /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 + 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 +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 /Z7 /Od =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 NOOPT_VS2015_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1468,11 +1468,11 @@ NOOPT_VS2015_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /OPT *_VS2015x86_*_SLINK_FLAGS =3D /NOLOGO /LTCG *_VS2015x86_*_APP_FLAGS =3D /nologo /E /TC *_VS2015x86_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2015x86_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_= NAME)StrDefs.h *_VS2015x86_*_DLINK2_FLAGS =3D - +*_VS2015x86_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) *_VS2015x86_*_ASM16_PATH =3D DEF(VS2015x86_BIN)\ml.exe =20 ################## # ASL definitions ################## @@ -1499,13 +1499,13 @@ NOOPT_VS2015_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAUL= TLIB /IGNORE:4001 /OPT:REF /OPT *_VS2015x86_IA32_APP_PATH =3D DEF(VS2015x86_BIN)\cl.exe *_VS2015x86_IA32_PP_PATH =3D DEF(VS2015x86_BIN)\cl.exe *_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 /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 + 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 =20 DEBUG_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1531,13 +1531,13 @@ NOOPT_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2015x86_X64_ASM_PATH =3D DEF(VS2015x86_BINX64)\ml64.exe *_VS2015x86_X64_SLINK_PATH =3D DEF(VS2015x86_BINX64)\lib.exe *_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 /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 + 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 =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 NOOPT_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1587,11 +1587,11 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2017_*_APP_FLAGS =3D /nologo /E /TC *_VS2017_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2017_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAM= E)StrDefs.h *_VS2017_*_DLINK2_FLAGS =3D /WHOLEARCHIVE *_VS2017_*_ASM16_PATH =3D DEF(VS2017_BIN_IA32)\ml.exe - +*_VS2017_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) ################## # ASL definitions ################## *_VS2017_*_ASL_PATH =3D DEF(WIN_IASL_BIN) *_VS2017_*_ASL_FLAGS =3D DEF(DEFAULT_WIN_ASL_FLAGS) @@ -1613,13 +1613,13 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2017_IA32_APP_PATH =3D DEF(VS2017_BIN_IA32)\cl.exe *_VS2017_IA32_PP_PATH =3D DEF(VS2017_BIN_IA32)\cl.exe *_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 /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 + 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 =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 NOOPT_VS2017_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1643,13 +1643,13 @@ NOOPT_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF /O *_VS2017_X64_ASM_PATH =3D DEF(VS2017_BIN_X64)\ml64.exe *_VS2017_X64_SLINK_PATH =3D DEF(VS2017_BIN_X64)\lib.exe *_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 /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 + 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 =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 NOOPT_VS2017_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1750,11 +1750,11 @@ NOOPT_VS2017_AARCH64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2019_*_APP_FLAGS =3D /nologo /E /TC *_VS2019_*_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h *_VS2019_*_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAM= E)StrDefs.h *_VS2019_*_DLINK2_FLAGS =3D /WHOLEARCHIVE *_VS2019_*_ASM16_PATH =3D DEF(VS2019_BIN_IA32)\ml.exe - +*_VS2019_*_DEPS_FLAGS =3D DEF(MSFT_DEPS_FLAGS) ################## # ASL definitions ################## *_VS2019_*_ASL_PATH =3D DEF(WIN_IASL_BIN) *_VS2019_*_ASL_FLAGS =3D DEF(DEFAULT_WIN_ASL_FLAGS) @@ -1776,13 +1776,13 @@ NOOPT_VS2017_AARCH64_DLINK_FLAGS =3D /NOLOGO /NOD= EFAULTLIB /IGNORE:4001 /OPT:REF *_VS2019_IA32_APP_PATH =3D DEF(VS2019_BIN_IA32)\cl.exe *_VS2019_IA32_PP_PATH =3D DEF(VS2019_BIN_IA32)\cl.exe *_VS2019_IA32_ASM_PATH =3D DEF(VS2019_BIN_IA32)\ml.exe =20 *_VS2019_IA32_MAKE_FLAGS =3D /nologo - DEBUG_VS2019_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_VS2019_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_VS2019_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 + DEBUG_VS2019_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_VS2019_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_VS2019_IA32_CC_FLAGS =3D /nologo /arch:IA32 /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od =20 DEBUG_VS2019_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2019_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2019_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 @@ -1806,13 +1806,13 @@ NOOPT_VS2019_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFA= ULTLIB /IGNORE:4001 /OPT:REF /O *_VS2019_X64_ASM_PATH =3D DEF(VS2019_BIN_X64)\ml64.exe *_VS2019_X64_SLINK_PATH =3D DEF(VS2019_BIN_X64)\lib.exe *_VS2019_X64_DLINK_PATH =3D DEF(VS2019_BIN_X64)\link.exe *_VS2019_X64_ASLDLINK_PATH =3D DEF(VS2019_BIN_X64)\link.exe =20 - DEBUG_VS2019_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_VS2019_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_VS2019_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od /MP + DEBUG_VS2019_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_VS2019_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw +NOOPT_VS2019_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /D UN= ICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od =20 DEBUG_VS2019_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2019_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2019_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 @@ -1938,10 +1938,11 @@ DEFINE GCC_WINDRES_FLAGS =3D -J rc -O coff DEFINE GCC_DTCPP_FLAGS =3D -E -x assembler-with-cpp -imacros A= utoGen.h -nostdinc -undef DEFINE GCC_IA32_RC_FLAGS =3D -I binary -O elf32-i386 -B= i386 --rename-section .data=3D.hii DEFINE GCC_X64_RC_FLAGS =3D -I binary -O elf64-x86-64 -B= i386 --rename-section .data=3D.hii DEFINE GCC_ARM_RC_FLAGS =3D -I binary -O elf32-littlearm -B= arm --rename-section .data=3D.hii DEFINE GCC_AARCH64_RC_FLAGS =3D -I binary -O elf64-littleaarch64 -B= aarch64 --rename-section .data=3D.hii +DEFINE GCC_DEPS_FLAGS =3D -MMD -MF $@.deps =20 DEFINE GCC48_ALL_CC_FLAGS =3D -g -fshort-wchar -fno-builtin -fn= o-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdat= a-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=3D$(BASE_NAME= )Strings DEFINE GCC48_IA32_X64_DLINK_COMMON =3D -nostdlib -Wl,-n,-q,--gc-sections= -z common-page-size=3D0x20 DEFINE GCC48_IA32_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) -m32 -mar= ch=3Di586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-un= wind-tables -Wno-address DEFINE GCC48_X64_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) -m64 -fno= -stack-protector "-DEFIAPI=3D__attribute__((ms_abi))" -maccumulate-outgoing= -args -mno-red-zone -Wno-address -mcmodel=3Dsmall -fpie -fno-asynchronous-u= nwind-tables -Wno-address @@ -2028,10 +2029,11 @@ DEFINE GCC5_ASLCC_FLAGS =3D DEF(GCC49_= ASLCC_FLAGS) -fno-lto *_GCC48_*_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) *_GCC48_*_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) *_GCC48_*_APP_FLAGS =3D *_GCC48_*_ASL_FLAGS =3D DEF(IASL_FLAGS) *_GCC48_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_GCC48_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 ################## # GCC48 IA32 definitions ################## *_GCC48_IA32_OBJCOPY_PATH =3D DEF(GCC48_IA32_PREFIX)objcopy @@ -2167,10 +2169,11 @@ RELEASE_GCC48_AARCH64_CC_FLAGS =3D DEF(GCC48_AARC= H64_CC_FLAGS) -Wno-unused-but-s *_GCC49_*_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) *_GCC49_*_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) *_GCC49_*_APP_FLAGS =3D *_GCC49_*_ASL_FLAGS =3D DEF(IASL_FLAGS) *_GCC49_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_GCC49_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 ################## # GCC49 IA32 definitions ################## *_GCC49_IA32_OBJCOPY_PATH =3D DEF(GCC49_IA32_PREFIX)objcopy @@ -2313,10 +2316,11 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z common-= page-size=3D0x20 *_GCC5_*_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) *_GCC5_*_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) *_GCC5_*_APP_FLAGS =3D *_GCC5_*_ASL_FLAGS =3D DEF(IASL_FLAGS) *_GCC5_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_GCC5_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 ################## # GCC5 IA32 definitions ################## *_GCC5_IA32_OBJCOPY_PATH =3D DEF(GCC5_IA32_PREFIX)objcopy @@ -2478,10 +2482,11 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-p= age-size=3D0x20 *_CLANG35_*_VFRPP_PATH =3D ENV(CLANG35_BIN)clang *_CLANG35_*_ASLCC_PATH =3D ENV(CLANG35_BIN)clang *_CLANG35_*_ASLPP_PATH =3D ENV(CLANG35_BIN)clang *_CLANG35_*_DLINK_PATH =3D ENV(CLANG35_BIN)clang *_CLANG35_*_ASLDLINK_PATH =3D ENV(CLANG35_BIN)clang +*_CLANG35_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 DEFINE CLANG35_ARM_TARGET =3D -target arm-linux-gnueabi DEFINE CLANG35_AARCH64_TARGET =3D -target aarch64-linux-gnu =20 DEFINE CLANG35_WARNING_OVERRIDES =3D -Wno-parentheses-equality -Wno-tautol= ogical-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-b= ody -Wno-unknown-warning-option @@ -2545,11 +2550,11 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS =3D DEF(CLANG35_AA= RCH64_CC_FLAGS) $(ARCHCC_FLAGS) *_CLANG38_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) =20 *_CLANG38_*_APP_FLAGS =3D *_CLANG38_*_ASL_FLAGS =3D DEF(IASL_FLAGS) *_CLANG38_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) - +*_CLANG38_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) DEFINE CLANG38_IA32_PREFIX =3D ENV(CLANG38_BIN) DEFINE CLANG38_X64_PREFIX =3D ENV(CLANG38_BIN) =20 DEFINE CLANG38_IA32_TARGET =3D -target i686-pc-linux-gnu DEFINE CLANG38_X64_TARGET =3D -target x86_64-pc-linux-gnu @@ -2735,10 +2740,11 @@ RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38= _AARCH64_DLINK_FLAGS) -flto -Wl =20 *_CLANGPDB_*_APP_FLAGS =3D *_CLANGPDB_*_ASL_FLAGS =3D DEF(DEFAULT_WIN_ASL_FLAGS) *_CLANGPDB_*_ASL_OUTFLAGS =3D DEF(DEFAULT_WIN_ASL_OUTFLAGS) *_CLANGPDB_*_ASLDLINK_FLAGS =3D DEF(MSFT_ASLDLINK_FLAGS) +*_CLANGPDB_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 DEFINE CLANGPDB_IA32_PREFIX =3D ENV(CLANG_BIN) DEFINE CLANGPDB_X64_PREFIX =3D ENV(CLANG_BIN) =20 DEFINE CLANGPDB_IA32_TARGET =3D -target i686-unknown-windows @@ -2838,10 +2844,11 @@ NOOPT_CLANGPDB_X64_DLINK2_FLAGS =3D *_XCODE5_*_ASLCC_PATH =3D clang *_XCODE5_*_ASLPP_PATH =3D clang *_XCODE5_*_ASLDLINK_PATH =3D ld *_XCODE5_*_DSYMUTIL_PATH =3D /usr/bin/dsymutil *_XCODE5_*_MTOC_PATH =3D /usr/local/bin/mtoc +*_XCODE5_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) =20 ################## # ASL definitions ################## *_XCODE5_*_ASLCC_FLAGS =3D -x c -save-temps -g -O0 -fshort-wchar -fno= -strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h --=20 2.20.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51589): https://edk2.groups.io/g/devel/message/51589 Mute This Topic: https://groups.io/mt/65666156/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Tue Apr 23 20:54:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+51590+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51590+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1575363176; cv=none; d=zohomail.com; s=zohoarc; b=EdvVD9hV9lggoPnSWyBXo8pSVgJkUxXfjo2HP+zafg28dmta2Upl81NRvLTBFksOq/0xTLyyauwbD0r5XWYdSKPYqbsm8TuC7jhMP8QtM+kNa3UZFQJLGSK2WiTOtzIjqpgyPlemSZZidPRfXp3oNGVMc3qqgviVPO0QW7i/fMw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575363176; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=22zVoc02t00yUmbZmLi+WTpfWo5rCrsRDzdiqF5aUlQ=; b=NtIi0i+UbGHBLXi5v9/UZPw8xeFisKu8r4NY5zZyqEOUHPgdYdEbjg36w3MPa4YnVpzqEoerM2obIafBcoJ5+xAD8dyoEGPKo2MA6mEZ9eCEnGH73P6/zHAcZPV4x0HaN/vI+V+JlgviYSZB0t6d2gjWnokpcPOj9lqylJ2jkxE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51590+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1575363176522280.4477724598987; Tue, 3 Dec 2019 00:52:56 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id aaaaYY1788612xaaaaaaaaaa; Tue, 03 Dec 2019 00:52:56 -0800 X-Received: from mga05.intel.com (mga05.intel.com []) by mx.groups.io with SMTP id smtpd.web10.3340.1575363172863999682 for ; Tue, 03 Dec 2019 00:52:55 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 00:52:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,272,1571727600"; d="scan'208";a="213342267" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga006.jf.intel.com with ESMTP; 03 Dec 2019 00:52:54 -0800 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Steven Shi Subject: [edk2-devel] [Patch 2/4 V4] BaseTools: Generate dependent files for ASL and ASM files Date: Tue, 3 Dec 2019 16:52:45 +0800 Message-Id: <20191203085247.17784-3-bob.c.feng@intel.com> In-Reply-To: <20191203085247.17784-1-bob.c.feng@intel.com> References: <20191203085247.17784-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: aaaaaaaaaaaaaaaaaaaaaaaax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1575363176; bh=btW6pt5s3wkafQw0WJ6XmCLstIlKslj3wtZ4EmPVxgQ=; h=Cc:Date:From:Reply-To:Subject:To; b=fWBilHlqqhqlmDaXZe1NhE7Zbrv/Xaj2iiu5Bx4yyr3fK+iDWE6FNeulku7xhpo7h1T V71H6xEGVXhhK+W/GJiZMIbbYFhpFBFXjU1HCm4yoSDkrzUkjz4Zj+HKNTTgtD54ihuw1 EFI1l0QcnvSvJ81O+dNa4P26bTKlejimiE4= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2311 Implement the function in Trim tool to get the included file list for ASL and ASM file. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Source/Python/Trim/Trim.py | 115 ++++++++++++++++++++++----- 1 file changed, 95 insertions(+), 20 deletions(-) diff --git a/BaseTools/Source/Python/Trim/Trim.py b/BaseTools/Source/Python= /Trim/Trim.py index 24c3fafa76..c5638376e4 100644 --- a/BaseTools/Source/Python/Trim/Trim.py +++ b/BaseTools/Source/Python/Trim/Trim.py @@ -54,10 +54,14 @@ gLongNumberPattern =3D re.compile("(?<=3D[^a-zA-Z0-9_])= (0[xX][0-9a-fA-F]+|[0-9]+)U?L gAslIncludePattern =3D re.compile("^(\s*)[iI]nclude\s*\(\"?([^\"\(\)]+)\"\= )", re.MULTILINE) ## Regular expression for matching C style #include "XXX.asl" in asl file gAslCIncludePattern =3D re.compile(r'^(\s*)#include\s*[<"]\s*([-\\/\w.]+)\= s*([>"])', re.MULTILINE) ## Patterns used to convert EDK conventions to EDK2 ECP conventions =20 +## Regular expression for finding header file inclusions +gIncludePattern =3D re.compile(r"^[ \t]*[%]?[ \t]*include(?:[ \t]*(?:\\(?:= \r\n|\r|\n))*[ \t]*)*(?:\(?[\"<]?[ \t]*)([-\w.\\/() \t]+)(?:[ \t]*[\">]?\)?= )", re.MULTILINE | re.UNICODE | re.IGNORECASE) + + ## file cache to avoid circular include in ASL file gIncludedAslFile =3D [] =20 ## Trim preprocessed source code # @@ -251,13 +255,14 @@ def TrimPreprocessedVfr(Source, Target): # @param IncludePathList The list of external include file # @param LocalSearchPath If LocalSearchPath is specified, this path wil= l be searched # first for the included file; otherwise, only t= he path specified # in the IncludePathList will be searched. # -def DoInclude(Source, Indent=3D'', IncludePathList=3D[], LocalSearchPath= =3DNone): +def DoInclude(Source, Indent=3D'', IncludePathList=3D[], LocalSearchPath= =3DNone, IncludeFileList =3D None, filetype=3DNone): NewFileContent =3D [] - + if IncludeFileList is None: + IncludeFileList =3D [] try: # # Search LocalSearchPath first if it is specified. # if LocalSearchPath: @@ -286,28 +291,41 @@ def DoInclude(Source, Indent=3D'', IncludePathList=3D= [], LocalSearchPath=3DNone): if IncludeFile in gIncludedAslFile: EdkLogger.warn("Trim", "Circular include", ExtraData=3D "%s -> %s" % (" -> ".join(gIncludedAsl= File), IncludeFile)) return [] gIncludedAslFile.append(IncludeFile) - + IncludeFileList.append(IncludeFile.strip()) for Line in F: LocalSearchPath =3D None - Result =3D gAslIncludePattern.findall(Line) - if len(Result) =3D=3D 0: - Result =3D gAslCIncludePattern.findall(Line) - if len(Result) =3D=3D 0 or os.path.splitext(Result[0][1])[1].l= ower() not in [".asl", ".asi"]: + if filetype =3D=3D "ASL": + Result =3D gAslIncludePattern.findall(Line) + if len(Result) =3D=3D 0: + Result =3D gAslCIncludePattern.findall(Line) + if len(Result) =3D=3D 0 or os.path.splitext(Result[0][1])[= 1].lower() not in [".asl", ".asi"]: + NewFileContent.append("%s%s" % (Indent, Line)) + continue + # + # We should first search the local directory if current fi= le are using pattern #include "XXX" + # + if Result[0][2] =3D=3D '"': + LocalSearchPath =3D os.path.dirname(IncludeFile) + CurrentIndent =3D Indent + Result[0][0] + IncludedFile =3D Result[0][1] + NewFileContent.extend(DoInclude(IncludedFile, CurrentIndent, I= ncludePathList, LocalSearchPath,IncludeFileList,filetype)) + NewFileContent.append("\n") + elif filetype =3D=3D "ASM": + Result =3D gIncludePattern.findall(Line) + if len(Result) =3D=3D 0: NewFileContent.append("%s%s" % (Indent, Line)) continue - # - # We should first search the local directory if current file a= re using pattern #include "XXX" - # - if Result[0][2] =3D=3D '"': - LocalSearchPath =3D os.path.dirname(IncludeFile) - CurrentIndent =3D Indent + Result[0][0] - IncludedFile =3D Result[0][1] - NewFileContent.extend(DoInclude(IncludedFile, CurrentIndent, Inclu= dePathList, LocalSearchPath)) - NewFileContent.append("\n") + + IncludedFile =3D Result[0] + + IncludedFile =3D IncludedFile.strip() + IncludedFile =3D os.path.normpath(IncludedFile) + NewFileContent.extend(DoInclude(IncludedFile, '', IncludePathL= ist, LocalSearchPath,IncludeFileList,filetype)) + NewFileContent.append("\n") =20 gIncludedAslFile.pop() =20 return NewFileContent =20 @@ -318,11 +336,11 @@ def DoInclude(Source, Indent=3D'', IncludePathList=3D= [], LocalSearchPath=3DNone): # # @param Source File to be trimmed # @param Target File to store the trimmed content # @param IncludePathFile The file to log the external include path # -def TrimAslFile(Source, Target, IncludePathFile): +def TrimAslFile(Source, Target, IncludePathFile,AslDeps =3D False): CreateDirectory(os.path.dirname(Target)) =20 SourceDir =3D os.path.dirname(Source) if SourceDir =3D=3D '': SourceDir =3D '.' @@ -347,12 +365,15 @@ def TrimAslFile(Source, Target, IncludePathFile): IncludePathList.append(Line[2:].strip()) else: EdkLogger.warn("Trim", "Invalid include line in includ= e list file.", IncludePathFile, LineNum) except: EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=3DInclude= PathFile) - - Lines =3D DoInclude(Source, '', IncludePathList) + AslIncludes =3D [] + Lines =3D DoInclude(Source, '', IncludePathList,IncludeFileList=3DAslI= ncludes,filetype=3D'ASL') + AslIncludes =3D [item for item in AslIncludes if item !=3DSource] + if AslDeps and AslIncludes: + SaveFileOnChange(os.path.join(os.path.dirname(Target),os.path.base= name(Source))+".trim.deps", " \\\n".join([Source+":"] +AslIncludes),False) =20 # # Undef MIN and MAX to avoid collision in ASL source code # Lines.insert(0, "#undef MIN\n#undef MAX\n") @@ -362,10 +383,58 @@ def TrimAslFile(Source, Target, IncludePathFile): with open(Target, 'w') as File: File.writelines(Lines) except: EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=3DTarget) =20 +## Trim ASM file +# +# Output ASM include statement with the content the included file +# +# @param Source File to be trimmed +# @param Target File to store the trimmed content +# @param IncludePathFile The file to log the external include path +# +def TrimAsmFile(Source, Target, IncludePathFile): + CreateDirectory(os.path.dirname(Target)) + + SourceDir =3D os.path.dirname(Source) + if SourceDir =3D=3D '': + SourceDir =3D '.' + + # + # Add source directory as the first search directory + # + IncludePathList =3D [SourceDir] + # + # If additional include path file is specified, append them all + # to the search directory list. + # + if IncludePathFile: + try: + LineNum =3D 0 + with open(IncludePathFile, 'r') as File: + FileLines =3D File.readlines() + for Line in FileLines: + LineNum +=3D 1 + if Line.startswith("/I") or Line.startswith ("-I"): + IncludePathList.append(Line[2:].strip()) + else: + EdkLogger.warn("Trim", "Invalid include line in includ= e list file.", IncludePathFile, LineNum) + except: + EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=3DInclude= PathFile) + AsmIncludes =3D [] + Lines =3D DoInclude(Source, '', IncludePathList,IncludeFileList=3DAsmI= ncludes,filetype=3D'ASM') + AsmIncludes =3D [item for item in AsmIncludes if item !=3D Source] + if AsmIncludes: + SaveFileOnChange(os.path.join(os.path.dirname(Target),os.path.base= name(Source))+".trim.deps", " \\\n".join([Source+":"] +AsmIncludes),False) + # save all lines trimmed + try: + with open(Target, 'w') as File: + File.writelines(Lines) + except: + EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=3DTarget) + def GenerateVfrBinSec(ModuleName, DebugDir, OutputFile): VfrNameList =3D [] if os.path.isdir(DebugDir): for CurrentDir, Dirs, Files in os.walk(DebugDir): for FileName in Files: @@ -438,12 +507,16 @@ def Options(): help=3D"The input file is preprocessed source co= de, including C or assembly code"), make_option("-r", "--vfr-file", dest=3D"FileType", const=3D"Vfr", = action=3D"store_const", help=3D"The input file is preprocessed VFR file"= ), make_option("--Vfr-Uni-Offset", dest=3D"FileType", const=3D"VfrOff= setBin", action=3D"store_const", help=3D"The input file is EFI image"), + make_option("--asl-deps", dest=3D"AslDeps", const=3D"True", action= =3D"store_const", + help=3D"Generate Asl dependent files."), make_option("-a", "--asl-file", dest=3D"FileType", const=3D"Asl", = action=3D"store_const", help=3D"The input file is ASL file"), + make_option( "--asm-file", dest=3D"FileType", const=3D"Asm", actio= n=3D"store_const", + help=3D"The input file is asm file"), make_option("-c", "--convert-hex", dest=3D"ConvertHex", action=3D"= store_true", help=3D"Convert standard hex format (0xabcd) to = MASM format (abcdh)"), =20 make_option("-l", "--trim-long", dest=3D"TrimLong", action=3D"stor= e_true", help=3D"Remove postfix of long number"), @@ -513,13 +586,15 @@ def Main(): CommandOptions.OutputFile =3D os.path.splitext(InputFile)[= 0] + '.iii' TrimPreprocessedVfr(InputFile, CommandOptions.OutputFile) elif CommandOptions.FileType =3D=3D "Asl": if CommandOptions.OutputFile is None: CommandOptions.OutputFile =3D os.path.splitext(InputFile)[= 0] + '.iii' - TrimAslFile(InputFile, CommandOptions.OutputFile, CommandOptio= ns.IncludePathFile) + TrimAslFile(InputFile, CommandOptions.OutputFile, CommandOptio= ns.IncludePathFile,CommandOptions.AslDeps) elif CommandOptions.FileType =3D=3D "VfrOffsetBin": GenerateVfrBinSec(CommandOptions.ModuleName, CommandOptions.De= bugDir, CommandOptions.OutputFile) + elif CommandOptions.FileType =3D=3D "Asm": + TrimAsmFile(InputFile, CommandOptions.OutputFile, CommandOptio= ns.IncludePathFile) else : if CommandOptions.OutputFile is None: CommandOptions.OutputFile =3D os.path.splitext(InputFile)[= 0] + '.iii' TrimPreprocessedFile(InputFile, CommandOptions.OutputFile, Com= mandOptions.ConvertHex, CommandOptions.TrimLong) except FatalError as X: --=20 2.20.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51590): https://edk2.groups.io/g/devel/message/51590 Mute This Topic: https://groups.io/mt/65666163/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Tue Apr 23 20:54:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+51591+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51591+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1575363178; cv=none; d=zohomail.com; s=zohoarc; b=C8AREYndwa3SlRtlQN4oe9PFPO7jw/r93JRLIOlrTeTsDfNwFwMV23vH2QQaXP9cOSesTPzrqFG9fZBEtTjwpr0itLbcG/CEl+TQDsRjORVqrookHxPN90KfD2XX80PdxkY8gtQ3fA0tsXLBQHLpJR9CMxm1eIsR+zx2B/9Kv4M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575363178; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=YuFI95iBVFLvSRWW1kUNKi7VKQOA/qtlld54wS1BN2o=; b=nwNYoxwB+AZa3HxkSc62vwrZPe8jRK2XmwZh66q0GsF9ERsodbetc1pWNgSK44fCMJM7a/l43pOpx5k8509n4pxtCuwnahykz12CxKIblDZs23+UR3/IbKSdqSqKENwTKl+clhwowWndDE6hglwlXCZ+mXwNlO2HoUV1NdsAIZw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51591+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1575363178275120.41761223856281; Tue, 3 Dec 2019 00:52:58 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id aaaaYY1788612xaaaaaaaaaa; Tue, 03 Dec 2019 00:52:57 -0800 X-Received: from mga05.intel.com (mga05.intel.com []) by mx.groups.io with SMTP id smtpd.web10.3340.1575363172863999682 for ; Tue, 03 Dec 2019 00:52:56 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 00:52:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,272,1571727600"; d="scan'208";a="213342271" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga006.jf.intel.com with ESMTP; 03 Dec 2019 00:52:55 -0800 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Steven Shi Subject: [edk2-devel] [Patch 3/4 V4] BaseTools: Update build_rule.txt to generate dependent files. Date: Tue, 3 Dec 2019 16:52:46 +0800 Message-Id: <20191203085247.17784-4-bob.c.feng@intel.com> In-Reply-To: <20191203085247.17784-1-bob.c.feng@intel.com> References: <20191203085247.17784-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: aaaaaaaaaaaaaaaaaaaaaaaax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1575363177; bh=jZ7IePWZwfvXAISzjEX7W/vYvsjRKKiZHHPdgLHKfa4=; h=Cc:Date:From:Reply-To:Subject:To; b=IsUMphR94hAWmexLQzxIpNrneDpsyZxMirqwFjjpegAZ0Tnlq7c9eBiPTKwdHMI3Klp dpcUHhn4QJ0RY9f/+4XoajVMxZAHGGT0ycn6yxpDoqMCCi3EhkTaqzci7jXbrU7T9Ttdm WwEbfYg0dxJoyhvV51e2SX1mOpiTPkF2ugA= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2311 Enable the dependent files generation function for compilers and Trim tool. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- V4: add $(DEPS_FLAGS) for rule [C-Code-File.BASE.AARCH64 ...] BaseTools/Conf/build_rule.template | 96 +++++++++++++++++------------- 1 file changed, 53 insertions(+), 43 deletions(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule= .template index 84d8426e7d..9c524de2fd 100755 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -121,18 +121,18 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj =20 - "$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src} + "$(CC)" /Fo${dst} $(DEPS_FLAGS) $(CC_FLAGS) $(INC) ${src} =20 # For RVCTCYGWIN CC_FLAGS must be first to work around pathing iss= ues - "$(CC)" $(CC_FLAGS) -c -o ${dst} $(INC) ${src} + "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -c -o ${dst} $(INC) ${src} =20 - "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} + "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) -o ${dst} $(INC) ${src} =20 [C-Code-File.BASE.AARCH64,C-Code-File.SEC.AARCH64,C-Code-File.PEI_CORE.AAR= CH64,C-Code-File.PEIM.AARCH64,C-Code-File.BASE.ARM,C-Code-File.SEC.ARM,C-Co= de-File.PEI_CORE.ARM,C-Code-File.PEIM.ARM] ?.c =20 @@ -141,11 +141,11 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj =20 - "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(INC) ${src} + "$(CC)" $(DEPS_FLAGS) $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(IN= C) ${src} =20 [C-Header-File] *.h, *.H =20 @@ -165,19 +165,21 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iii ${d_path}(+)${s_base}.i - "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iii + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iiii ${d_path}(+)${s_base}.ii + "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iiii =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_pa= th}(+)${s_base}.i + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_p= ath}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing is= sues - "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii + "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii =20 [Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64] # Remove --convert-hex for ARM as it breaks MSFT assemblers ?.asm, ?.Asm, ?.ASM @@ -190,24 +192,27 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iii ${d_path}(+)${s_base}.i - "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iii + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iiii ${d_path}(+)${s_base}.ii + "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iiii =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_pa= th}(+)${s_base}.i - "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iii + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iiii ${d_p= ath}(+)${s_base}.ii + "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)${s= _base}.iiii =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_pa= th}(+)${s_base}.i + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iiii ${d_p= ath}(+)${s_base}.ii # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing is= sues - "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii + "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iiii =20 [Nasm-Assembly-Code-File.COMMON.COMMON] ?.nasm =20 @@ -216,12 +221,13 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_pa= th}(+)${s_base}.i + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_pa= th}(+)${s_base}.ii "$(NASM)" -I${s_path}(+) $(NASM_INC) $(NASM_FLAGS) -o $dst ${d_pat= h}(+)${s_base}.iii =20 [Device-Tree-Source-File] ?.dts @@ -247,11 +253,11 @@ =20 $(DEBUG_DIR)(+)${s_dir}(+)${s_base}.c =20 - "$(VFRPP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_base= }.i + "$(VFRPP)" $(DEPS_FLAGS) $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_D= IR)(+)${s_base}.i "$(VFR)" $(VFR_FLAGS) --string-db $(OUTPUT_DIR)(+)$(MODULE_NAME)St= rDefs.hpk --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_base}.i =20 [Object-File] *.obj @@ -398,11 +404,11 @@ =20 $(MAKE_FILE) =20 - "$(PP)" $(APP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}(+)${= s_base}.i + "$(PP)" $(DEPS_FLAGS) $(APP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+= )${s_dir}(+)${s_base}.i Trim --source-code -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii $(O= UTPUT_DIR)(+)${s_dir}(+)${s_base}.i GenDepex -t $(MODULE_TYPE) -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${= s_base}.iii =20 [Acpi-Source-Language-File] @@ -413,18 +419,18 @@ =20 $(MAKE_FILE) =20 - Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC= _LIST) ${src} - "$(ASLPP)" $(ASLPP_FLAGS) $(INC) /I${s_path} $(OUTPUT_DIR)(+)${s_d= ir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii + Trim --asl-file --asl-deps -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}= .i -i $(INC_LIST) ${src} + "$(ASLPP)" $(DEPS_FLAGS) $(ASLPP_FLAGS) $(INC) /I${s_path} $(OUTPU= T_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii= $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii=20 "$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_di= r}(+)${s_base}.iiii =20 - Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC= _LIST) ${src} - "$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} $(OUTPUT_DIR)(+)${s_d= ir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii + Trim --asl-file --asl-deps -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}= .i -i $(INC_LIST) ${src} + "$(ASLPP)" $(DEPS_FLAGS) $(ASLPP_FLAGS) $(INC) -I${s_path} $(OUTPU= T_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii= $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii=20 "$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_di= r}(+)${s_base}.iiii =20 [C-Code-File.AcpiTable] @@ -435,16 +441,16 @@ =20 $(MAKE_FILE) =20 - "$(ASLCC)" /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FLA= GS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.o= bj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLD= LINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $= (GENFW_FLAGS) =20 - "$(ASLCC)" -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLA= GS) $(ASLCC_FLAGS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base= }.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLI= NK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $= (GENFW_FLAGS) =20 [Acpi-Table-Code-File] @@ -455,26 +461,26 @@ =20 $(MAKE_FILE) =20 - "$(ASLCC)" /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FLA= GS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.o= bj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLD= LINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $= (GENFW_FLAGS) =20 - "$(ASLCC)" -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLA= GS) $(ASLCC_FLAGS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base= }.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLI= NK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAG= S) "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $= (GENFW_FLAGS) =20 - "$(ASLCC)" -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLA= GS) $(ASLCC_FLAGS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base= }.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLD= LINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $= (GENFW_FLAGS) =20 =20 - "$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FL= AGS) $(INC) ${src} + "$(ASLCC)" $(DEPS_FLAGS) -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.o= bj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src} "$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLI= NK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj "$(MTOC)" -subsystem $(MODULE_TYPE) $(MTOC_FLAGS) $(OUTPUT_DIR)(+= )${s_dir}(+)${s_base}.dll $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.pecoff "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.pecof= f $(GENFW_FLAGS) =20 =20 @@ -487,25 +493,28 @@ =20 $(OUTPUT_DIR)(+)${s_base}.com =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iii ${d_path}(+)${s_base}.i + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_ba= se}.iii ${d_path}(+)${s_base}.ii cd $(OUTPUT_DIR)(+)${s_dir} "$(ASM16)" /nologo /c /omf $(INC) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${= s_base}.obj ${d_path}(+)${s_base}.iii "$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}= .obj,${dst},,,, =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base= }.i + Trim --asm-file -o {d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_ba= se}.ii + Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base= }.ii "$(ASM)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASM_FLAGS) $(= INC) ${d_path}(+)${s_base}.iii "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) $(L= IBS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj --end-group =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base= }.i + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_ba= se}.ii + Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base= }.ii "$(ASM)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASM_FLAGS) $(= INC) ${d_path}(+)${s_base}.iii "$(SLINK)" $(SLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.slib = $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj otool -t $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.slib | hex2bin.py ${ds= t} =20 =20 @@ -518,13 +527,14 @@ =20 $(OUTPUT_DIR)(+)${s_base}.bin =20 - "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_= path}(+)${s_base}.i - "$(NASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst $(NASMB_FLAG= S) -o $dst ${d_path}(+)${s_base}.iii + Trim --asm-file -o ${d_path}(+)${s_base}.i -i $(INC_LIST) ${src} + "$(PP)" $(DEPS_FLAGS) $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_= base}.ii + Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_= path}(+)${s_base}.ii + "$(NASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst $(NASMB_FLAG= S) $(NASM_INC) -o $dst ${d_path}(+)${s_base}.iii # copy the output file with .com postfix that be same to the outpu= t file of .asm16 $(CP) ${dst} $(OUTPUT_DIR)(+)${s_base}.com =20 [Microcode-File.USER_DEFINED, Microcode-File.Microcode] @@ -621,11 +631,11 @@ =20 $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.hpk =20 - "$(VFRPP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}= (+)${s_base}.i + "$(VFRPP)" $(DEPS_FLAGS) $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_D= IR)(+)${s_dir}(+)${s_base}.i "$(VFR)" $(VFR_FLAGS) --create-ifr-package --string-db $(OUTPUT_DI= R)(+)$(MODULE_NAME)StrDefs.hpk --output-directory $(OUTPUT_DIR)(+)${s_dir} = $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i =20 [Hii-Binary-Package.UEFI_HII] *.hpk --=20 2.20.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51591): https://edk2.groups.io/g/devel/message/51591 Mute This Topic: https://groups.io/mt/65666171/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Tue Apr 23 20:54:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+51592+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51592+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1575363179; cv=none; d=zohomail.com; s=zohoarc; b=V8DDLnk1hirmMiT6z8yI+jBhed3/LVEQskgLd1FrvmKvAG68AGpFUu4Wi/A46Ake2lrJiE32EPRPqgI99xgKNF72GFxY+qXqhq0YjSxvG9LQRKkTg0RuKzPwkFlxFhVBykwgkD8i+t3Vx8BzECX9pkdPFKILnN6O1pD3ABXE/Hg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575363179; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=TDy1qmopVS9a2OktTrAJ1W9qJrFvPpkDGhN4IXo/tKk=; b=M+JgFYCcWMgSuiRbm/YFf5IFAaoyIKTRwytRS/4Wcz4odGfew7Ypm2Rp+F1z6QVeTeWAvNoMggoyHo1TvQt3cYiTrWrdbZhM71FlwQT0RiM/vsv1OiGjLK0bzwYsLaZgBD4qHWyhRgFil8J8qJx60obnbbEvg9EGepjqDv5PiJM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51592+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1575363179342862.0337204812961; Tue, 3 Dec 2019 00:52:59 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id aaaaYY1788612xaaaaaaaaaa; Tue, 03 Dec 2019 00:52:58 -0800 X-Received: from mga05.intel.com (mga05.intel.com []) by mx.groups.io with SMTP id smtpd.web10.3340.1575363172863999682 for ; Tue, 03 Dec 2019 00:52:58 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 00:52:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,272,1571727600"; d="scan'208";a="213342281" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga006.jf.intel.com with ESMTP; 03 Dec 2019 00:52:56 -0800 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Steven Shi Subject: [edk2-devel] [Patch 4/4 V4] BaseTools: Enhance Basetool for incremental build Date: Tue, 3 Dec 2019 16:52:47 +0800 Message-Id: <20191203085247.17784-5-bob.c.feng@intel.com> In-Reply-To: <20191203085247.17784-1-bob.c.feng@intel.com> References: <20191203085247.17784-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: aaaaaaaaaaaaaaaaaaaaaaaax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1575363178; bh=WryOFOaiHps8bwQinRt3Z2HIJcbTlWHUoTNdWqeE8zM=; h=Cc:Date:From:Reply-To:Subject:To; b=Wdw1qhx2u6FoFydM5rjI0ZKJ5ANpAMtERta6Y5dZ2/QAPPdACA7FLF2JtOwTjXg6pAx aUFeC0yOiExPlqy1eHcEYlhg60YeeyZLHegFg4pTNzR93EfpqOO9Vfohbm/scsHc9ssGi BQMQR0Vdz0crgYMjdTajoEIdWILTs4w4UZc= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2311 Include dependency file in Makefile to enhance incremental build Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Source/Python/AutoGen/GenMake.py | 83 ++---- .../Source/Python/AutoGen/IncludesAutoGen.py | 258 ++++++++++++++++++ .../Source/Python/AutoGen/ModuleAutoGen.py | 23 ++ BaseTools/Source/Python/build/build.py | 63 ++++- 4 files changed, 354 insertions(+), 73 deletions(-) create mode 100644 BaseTools/Source/Python/AutoGen/IncludesAutoGen.py diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/= Python/AutoGen/GenMake.py index 59a01a7f24..fe94f9a4c2 100755 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -183,10 +183,16 @@ class BuildFile(object): EdkLogger.error("build", PARAMETER_INVALID, "Invalid build typ= e [%s]" % FileType, ExtraData=3D"[%s]" % str(self._AutoGenObject)) self._FileType =3D FileType FileContent =3D self._TEMPLATE_.Replace(self._TemplateDict) FileName =3D self._FILE_NAME_[FileType] + if not os.path.exists(os.path.join(self._AutoGenObject.MakeFileDir= , "deps.txt")): + with open(os.path.join(self._AutoGenObject.MakeFileDir, "deps.= txt"),"w+") as fd: + fd.write("") + if not os.path.exists(os.path.join(self._AutoGenObject.MakeFileDir= , "dependency")): + with open(os.path.join(self._AutoGenObject.MakeFileDir, "depen= dency"),"w+") as fd: + fd.write("") return SaveFileOnChange(os.path.join(self._AutoGenObject.MakeFileD= ir, FileName), FileContent, False) =20 ## Return a list of directory creation command string # # @param DirList The list of directory to be created @@ -302,13 +308,10 @@ MAKE_FILE =3D ${makefile_path} # Build Macro # ${BEGIN}${file_macro} ${END} =20 -COMMON_DEPS =3D ${BEGIN}${common_dependency_file} \\ - ${END} - # # Overridable Target Macro Definitions # FORCE_REBUILD =3D force_build INIT_TARGET =3D init @@ -380,10 +383,12 @@ gen_libs: # gen_fds: \t@"$(MAKE)" $(MAKE_FLAGS) -f $(BUILD_DIR)${separator}${makefile_name} fds \t@cd $(MODULE_BUILD_DIR) =20 +${INCLUDETAG} + # # Individual Object Build Targets # ${BEGIN}${file_build_target} ${END} @@ -513,13 +518,10 @@ cleanlib: if Tool =3D=3D "MAKE": continue # 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: for i, v in enumerate(ValueList): if '-e' =3D=3D v: @@ -538,11 +540,11 @@ cleanlib: RespFile =3D os.path.join(MyAgo.OutputDir, str(Resp).lower= () + '.txt') StrList =3D RespDict[Resp].split(' ') UnexpandMacro =3D [] NewStr =3D [] for Str in StrList: - if '$' in Str: + if '$' in Str or '-MMD' in Str or '-MF' in Str: UnexpandMacro.append(Str) else: NewStr.append(Str) UnexpandMacroStr =3D ' '.join(UnexpandMacro) NewRespStr =3D ' '.join(NewStr) @@ -588,14 +590,13 @@ cleanlib: "source_file" : Includ= ePathList } ) FileMacroList.append(FileMacro) # Add support when compiling .nasm source files - for File in self.FileCache.keys(): - if not str(File).endswith('.nasm'): - continue - IncludePathList =3D [] + IncludePathList =3D [] + asmsource =3D [item for item in MyAgo.SourceFileList if item.File.= upper().endswith((".NASM",".ASM",".NASMB","S"))] + if asmsource: for P in MyAgo.IncludePathList: IncludePath =3D self._INC_FLAG_['NASM'] + self.PlaceMacro(= P, self.Macros) if IncludePath.endswith(os.sep): IncludePath =3D IncludePath.rstrip(os.sep) # When compiling .nasm files, need to add a literal backsl= ash at each path @@ -604,11 +605,10 @@ cleanlib: IncludePath =3D ''.join([IncludePath, '^', os.sep]) else: IncludePath =3D os.path.join(IncludePath, '') IncludePathList.append(IncludePath) FileMacroList.append(self._FILE_MACRO_TEMPLATE.Replace({"macro= _name": "NASM_INC", "source_file": IncludePathList})) - break =20 # Generate macros used to represent files containing list of input= files for ListFileMacro in self.ListFileMacros: ListFileName =3D os.path.join(MyAgo.OutputDir, "%s.lst" % List= FileMacro.lower()[:len(ListFileMacro) - 5]) FileMacroList.append("%s =3D %s" % (ListFileMacro, ListFileNam= e)) @@ -694,10 +694,11 @@ cleanlib: "dependent_library_build_directory" : self.LibraryBuildDirecto= ryList, "library_build_command" : LibraryMakeCommandList, "file_macro" : FileMacroList, "file_build_target" : self.BuildTargetList, "backward_compatible_target": BcTargetList, + "INCLUDETAG" : self._INCLUDE_CMD_[self._File= Type] + " " + os.path.join("$(MODULE_BUILD_DIR)","dependency") } =20 return MakefileTemplateDict =20 def ParserGenerateFfsCmd(self): @@ -901,20 +902,14 @@ cleanlib: if OutPutFileList: for Item in OutPutFileList: if Item in SourceFileList: SourceFileList.remove(Item) =20 - FileDependencyDict =3D self.GetFileDependency( - SourceFileList, - ForceIncludedFile, - self._AutoGenObject.IncludePathList + = self._AutoGenObject.BuildOptionIncPathList - ) - + FileDependencyDict =3D {item:ForceIncludedFile for item in SourceF= ileList} =20 - if FileDependencyDict: - for Dependency in FileDependencyDict.values(): - self.DependencyHeaderFileSet.update(set(Dependency)) + for Dependency in FileDependencyDict.values(): + self.DependencyHeaderFileSet.update(set(Dependency)) =20 # Get a set of unique package includes from MetaFile parentMetaFileIncludes =3D set() for aInclude in self._AutoGenObject.PackageIncludePathList: aIncludeName =3D str(aInclude) @@ -970,46 +965,20 @@ cleanlib: GlobalData.gModuleBuildTracking[self._AutoGenObject] =3D '= FAIL_METAFILE' EdkLogger.warn("build","Module MetaFile [Sources] is missing l= ocal header!", ExtraData =3D "Local Header: " + aFile + " not fou= nd in " + self._AutoGenObject.MetaFile.Path ) =20 - DepSet =3D None for File,Dependency in FileDependencyDict.items(): if not Dependency: - FileDependencyDict[File] =3D ['$(FORCE_REBUILD)'] continue =20 self._AutoGenObject.AutoGenDepSet |=3D set(Dependency) =20 - # skip non-C files - if File.Ext not in [".c", ".C"] or File.Name =3D=3D "AutoGen.c= ": - continue - elif DepSet is None: - DepSet =3D set(Dependency) - else: - DepSet &=3D set(Dependency) - # in case nothing in SourceFileList - if DepSet is None: - DepSet =3D set() - # - # Extract common files list in the dependency files - # - for File in DepSet: - self.CommonFileDependency.append(self.PlaceMacro(File.Path, se= lf.Macros)) - 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= ": - continue - 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 if self._AutoGenObject.BuildRuleFamily =3D=3D TAB_COMPILER_MSFT an= d TAB_C_CODE_FILE in self._AutoGenObject.Targets: for T in self._AutoGenObject.Targets[TAB_C_CODE_FILE]: NewFile =3D self.PlaceMacro(str(T), self.Macros) @@ -1078,21 +1047,17 @@ cleanlib: 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: - if '$(FORCE_REBUILD)' in DependencyDict[CppPath.Pa= th]: - if '$(FORCE_REBUILD)' not in (self.CommonFileD= ependency + CmdCppDict[item.Target.SubDir]): - CmdCppDict[item.Target.SubDir].append('$(F= ORCE_REBUILD)') - else: - for Temp in DependencyDict[CppPath.Path]: - try: - Path =3D self.PlaceMacro(Temp.Path, se= lf.Macros) - except: - continue - if Path not in (self.CommonFileDependency = + CmdCppDict[item.Target.SubDir]): - CmdCppDict[item.Target.SubDir].append(= Path) + for Temp in DependencyDict[CppPath.Path]: + try: + Path =3D self.PlaceMacro(Temp.Path, self.M= acros) + except: + continue + 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 self.CheckCCCmd(SingleCo= mmandList): @@ -1107,11 +1072,11 @@ cleanlib: 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[3:].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)) + Cpplist.insert(0, '$(OBJLIST_%d): ' % list(self.Ob= jTargetDict.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 diff --git a/BaseTools/Source/Python/AutoGen/IncludesAutoGen.py b/BaseTools= /Source/Python/AutoGen/IncludesAutoGen.py new file mode 100644 index 0000000000..fd85650423 --- /dev/null +++ b/BaseTools/Source/Python/AutoGen/IncludesAutoGen.py @@ -0,0 +1,258 @@ +## @file +# Build cache intermediate result and state +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +from Common.caching import cached_property +import Common.EdkLogger as EdkLogger +import Common.LongFilePathOs as os +from Common.BuildToolError import * +from Common.Misc import SaveFileOnChange, PathClass +from Common.Misc import TemplateString +import sys +gIsFileMap =3D {} +if sys.platform =3D=3D "win32": + _INCLUDE_DEPS_TEMPLATE =3D TemplateString(''' +${BEGIN} +!IF EXIST(${deps_file}) +!INCLUDE ${deps_file} +!ENDIF +${END} + ''') +else: + _INCLUDE_DEPS_TEMPLATE =3D TemplateString(''' +${BEGIN} +-include ${deps_file} +${END} + ''') + +DEP_FILE_TAIL =3D "# Updated \n" + +class IncludesAutoGen(): + """ This class is to manage the dependent files witch are used in Make= file to support incremental build. + 1. C files: + 1. MSVS. + cl.exe has a build option /showIncludes to display include = files on stdout. Build tool captures + that messages and generate dependency files, .deps files. + 2. CLANG and GCC + -MMD -MF build option are used to generate dependency files= by compiler. Build tool updates the + .deps files. + 2. ASL files: + 1. Trim find out all the included files with asl specific incl= ude format and generate .trim.deps file. + 2. ASL PP use c preprocessor to find out all included files wi= th #include format and generate a .deps file + 3. build tool updates the .deps file + 3. ASM files (.asm, .s or .nasm): + 1. Trim find out all the included files with asl specific incl= ude format and generate .trim.deps file. + 2. ASM PP use c preprocessor to find out all included files wi= th #include format and generate a deps file + 3. build tool updates the .deps file + """ + def __init__(self, makefile_folder, ModuleAuto): + self.d_folder =3D makefile_folder + self.makefile_folder =3D makefile_folder + self.module_autogen =3D ModuleAuto + self.ToolChainFamily =3D ModuleAuto.ToolChainFamily + self.workspace =3D ModuleAuto.WorkspaceDir + + def CreateModuleDeps(self): + SaveFileOnChange(os.path.join(self.makefile_folder,"deps.txt"),"\n= ".join(self.DepsCollection),False) + + def CreateDepsInclude(self): + deps_file =3D {'deps_file':self.deps_files} + try: + deps_include_str =3D _INCLUDE_DEPS_TEMPLATE.Replace(deps_file) + except Exception as e: + print(e) + SaveFileOnChange(os.path.join(self.makefile_folder,"dependency"),d= eps_include_str,False) + + @cached_property + def deps_files(self): + """ Get all .deps file under module build folder. """ + deps_files =3D [] + for root, _, files in os.walk(self.d_folder, topdown=3DFalse): + for name in files: + if not name.endswith(".deps"): + continue + abspath =3D os.path.join(root, name) + deps_files.append(abspath) + return deps_files + + @cached_property + def DepsCollection(self): + """ Collect all the dependency files list from all .deps files und= er a module's build folder """ + includes =3D set() + targetname =3D [item[0].Name for item in self.TargetFileList.value= s()] + for abspath in self.deps_files: + try: + with open(abspath,"r") as fd: + lines =3D fd.readlines() + + firstlineitems =3D lines[0].split(": ") + dependency_file =3D firstlineitems[1].strip(" \\\n") + dependency_file =3D dependency_file.strip('''"''') + if dependency_file: + if os.path.normpath(dependency_file +".deps") =3D=3D a= bspath: + continue + filename =3D os.path.basename(dependency_file).strip() + if filename not in self.SourceFileList and filename no= t in targetname: + includes.add(dependency_file.strip()) + + for item in lines[1:]: + if item =3D=3D DEP_FILE_TAIL: + continue + dependency_file =3D item.strip(" \\\n") + dependency_file =3D dependency_file.strip('''"''') + if os.path.normpath(dependency_file +".deps") =3D=3D a= bspath: + continue + filename =3D os.path.basename(dependency_file).strip() + if filename in self.SourceFileList: + continue + if filename in targetname: + continue + includes.add(dependency_file.strip()) + except Exception as e: + EdkLogger.error("build",FILE_NOT_FOUND, "%s doesn't exist"= % abspath, ExtraData=3Dstr(e), RaiseError=3DFalse) + continue + rt =3D sorted(list(set([item.strip(' " \\\n') for item in includes= ]))) + return rt + + @cached_property + def SourceFileList(self): + """ Get a map of module's source files name to module's source fil= es path """ + source =3D {os.path.basename(item.File):item.Path for item in self= .module_autogen.SourceFileList} + middle_file =3D {} + for afile in source: + if afile.upper().endswith(".VFR"): + middle_file.update({afile.split(".")[0]+".c":os.path.join(= self.module_autogen.DebugDir,afile.split(".")[0]+".c")}) + if afile.upper().endswith((".S","ASM")): + middle_file.update({afile.split(".")[0]+".i":os.path.join(= self.module_autogen.OutputDir,afile.split(".")[0]+".i")}) + if afile.upper().endswith(".ASL"): + middle_file.update({afile.split(".")[0]+".i":os.path.join(= self.module_autogen.OutputDir,afile.split(".")[0]+".i")}) + source.update({"AutoGen.c":os.path.join(self.module_autogen.Output= Dir,"AutoGen.c")}) + source.update(middle_file) + return source + + @cached_property + def TargetFileList(self): + """ Get a map of module's target name to a tuple of module's targe= ts path and whose input file path """ + targets =3D {} + targets["AutoGen.obj"] =3D (PathClass(os.path.join(self.module_aut= ogen.OutputDir,"AutoGen.obj")),PathClass(os.path.join(self.module_autogen.D= ebugDir,"AutoGen.c"))) + for item in self.module_autogen.Targets.values(): + for block in item: + targets[block.Target.Path] =3D (block.Target,block.Inputs[= 0]) + return targets + + def GetRealTarget(self,source_file_abs): + """ Get the final target file based on source file abspath """ + source_target_map =3D {item[1].Path:item[0].Path for item in self.= TargetFileList.values()} + source_name_map =3D {item[1].File:item[0].Path for item in self.Ta= rgetFileList.values()} + target_abs =3D source_target_map.get(source_file_abs) + if target_abs is None: + if source_file_abs.strip().endswith(".i"): + sourcefilename =3D os.path.basename(source_file_abs.strip(= )) + for sourcefile in source_name_map: + if sourcefilename.split(".")[0] =3D=3D sourcefile.spli= t(".")[0]: + target_abs =3D source_name_map[sourcefile] + break + else: + target_abs =3D source_file_abs + else: + target_abs =3D source_file_abs + return target_abs + + def CreateDepsFileForMsvc(self, DepList): + """ Generate dependency files, .deps file from /showIncludes outpu= t message """ + if not DepList: + return + ModuleDepDict =3D {} + current_source =3D "" + for line in DepList: + if line.strip() in self.SourceFileList: + current_source =3D line.strip() + ModuleDepDict[current_source] =3D [] + elif "Note: including file:" =3D=3D line.lstrip()[:21]: + if not current_source: + EdkLogger.error("build",BUILD_ERROR, "Parse /showInclu= des output failed. line: %s. \n" % line, RaiseError=3DFalse) + else: + ModuleDepDict[current_source].append(line.lstrip()[22:= ].strip()) + + for source in ModuleDepDict: + if ModuleDepDict[source]: + source_abs =3D self.SourceFileList.get(source,source) + target_abs =3D self.GetRealTarget(source_abs) + dep_file_name =3D source + ".deps" + SaveFileOnChange(os.path.join(self.makefile_folder,dep_fil= e_name)," \\\n".join([target_abs+":"] + ['''"''' + item +'''"''' for item i= n ModuleDepDict[source]]),False) + + def UpdateDepsFileforNonMsvc(self): + """ Update .deps files. + 1. Update target path to absolute path. + 2. Update middle target to final target. + """ + + for abspath in self.deps_files: + if abspath.endswith(".trim.deps"): + continue + try: + newcontent =3D [] + with open(abspath,"r") as fd: + lines =3D fd.readlines() + if lines[-1] =3D=3D DEP_FILE_TAIL: + continue + firstlineitems =3D lines[0].strip().split(" ") + + if len(firstlineitems) > 2: + sourceitem =3D firstlineitems[1] + else: + sourceitem =3D lines[1].strip().split(" ")[0] + + source_abs =3D self.SourceFileList.get(sourceitem,sourceit= em) + firstlineitems[0] =3D self.GetRealTarget(source_abs) + p_target =3D firstlineitems + if not p_target[0].strip().endswith(":"): + p_target[0] +=3D ": " + + if len(p_target) =3D=3D 2: + p_target[0] +=3D lines[1] + newcontent.append(p_target[0]) + newcontent.extend(lines[2:]) + else: + line1 =3D " ".join(p_target).strip() + line1 +=3D "\n" + newcontent.append(line1) + newcontent.extend(lines[1:]) + + newcontent.append("\n") + newcontent.append(DEP_FILE_TAIL) + with open(abspath,"w") as fw: + fw.write("".join(newcontent)) + except Exception as e: + EdkLogger.error("build",FILE_NOT_FOUND, "%s doesn't exist"= % abspath, ExtraData=3Dstr(e), RaiseError=3DFalse) + continue + + def UpdateDepsFileforTrim(self): + """ Update .deps file which generated by trim. """ + + for abspath in self.deps_files: + if not abspath.endswith(".trim.deps"): + continue + try: + newcontent =3D [] + with open(abspath,"r") as fd: + lines =3D fd.readlines() + if lines[-1] =3D=3D DEP_FILE_TAIL: + continue + + source_abs =3D lines[0].strip().split(" ")[0] + targetitem =3D self.GetRealTarget(source_abs.strip(" :")) + + targetitem +=3D ": " + targetitem +=3D lines[1] + newcontent.append(targetitem) + newcontent.extend(lines[2:]) + newcontent.append("\n") + newcontent.append(DEP_FILE_TAIL) + with open(abspath,"w") as fw: + fw.write("".join(newcontent)) + except Exception as e: + EdkLogger.error("build",FILE_NOT_FOUND, "%s doesn't exist"= % abspath, ExtraData=3Dstr(e), RaiseError=3DFalse) + continue diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/S= ource/Python/AutoGen/ModuleAutoGen.py index e6d6c43810..1111d5de25 100755 --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py @@ -1127,12 +1127,35 @@ class ModuleAutoGen(AutoGen): if not self.MetaFile.OriginalPath.Path.startswith(PackageD= ir): IncludesList =3D list(set(Package.Includes).difference= (set(Package._PrivateIncludes))) for Inc in IncludesList: if Inc not in RetVal: RetVal.append(str(Inc)) + RetVal.extend(self.IncPathFromBuildOptions) return RetVal =20 + @cached_property + def IncPathFromBuildOptions(self): + IncPathList =3D [] + for tool in self.BuildOption: + if 'FLAGS' in self.BuildOption[tool]: + flags =3D self.BuildOption[tool]['FLAGS'] + whitespace =3D False + for flag in flags.split(" "): + flag =3D flag.strip() + if flag.startswith(("/I","-I")): + if len(flag)>2: + if os.path.exists(flag[2:]): + IncPathList.append(flag[2:]) + else: + whitespace =3D True + continue + if whitespace and flag: + if os.path.exists(flag): + IncPathList.append(flag) + whitespace =3D False + return IncPathList + @cached_property def IncludePathLength(self): return sum(len(inc)+1 for inc in self.IncludePathList) =20 ## Get the list of include paths from the packages diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Pyth= on/build/build.py index 4b31356a42..6fcfc7ec7a 100755 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -55,11 +55,11 @@ from GenFds.GenFds import GenFds, GenFdsApi import multiprocessing as mp from multiprocessing import Manager from AutoGen.DataPipe import MemoryDataPipe from AutoGen.ModuleAutoGenHelper import WorkSpaceInfo, PlatformInfo from GenFds.FdfParser import FdfParser - +from AutoGen.IncludesAutoGen import IncludesAutoGen =20 ## standard targets of build command gSupportedTarget =3D ['all', 'genc', 'genmake', 'modules', 'libraries', 'f= ds', 'clean', 'cleanall', 'cleanlib', 'run'] =20 ## build configuration file @@ -173,33 +173,46 @@ def NormFile(FilePath, Workspace): # # @param From The stream message read from # @param To The stream message put on # @param ExitFlag The flag used to indicate stopping reading # -def ReadMessage(From, To, ExitFlag): +def ReadMessage(From, To, ExitFlag,MemTo=3DNone): while True: # read one line a time Line =3D From.readline() # empty string means "end" if Line is not None and Line !=3D b"": - To(Line.rstrip().decode(encoding=3D'utf-8', errors=3D'ignore')) + LineStr =3D Line.rstrip().decode(encoding=3D'utf-8', errors=3D= 'ignore') + if MemTo is not None: + if "Note: including file:" =3D=3D LineStr.lstrip()[:21]: + MemTo.append(LineStr) + else: + To(LineStr) + MemTo.append(LineStr) + else: + To(LineStr) else: break if ExitFlag.isSet(): break =20 +class MakeSubProc(Popen): + def __init__(self,*args, **argv): + super(MakeSubProc,self).__init__(*args, **argv) + self.ProcOut =3D [] + ## Launch an external program # # This method will call subprocess.Popen to execute an external program wi= th # given options in specified directory. Because of the dead-lock issue dur= ing # redirecting output of the external program, threads are used to to do the # redirection work. # # @param Command A list or string containing the call of th= e program # @param WorkingDir The directory in which the program will be= running # -def LaunchCommand(Command, WorkingDir): +def LaunchCommand(Command, WorkingDir,ModuleAuto =3D None): BeginTime =3D time.time() # if working directory doesn't exist, Popen() will raise an exception if not os.path.isdir(WorkingDir): EdkLogger.error("build", FILE_NOT_FOUND, ExtraData=3DWorkingDir) =20 @@ -214,23 +227,23 @@ def LaunchCommand(Command, WorkingDir): =20 Proc =3D None EndOfProcedure =3D None try: # launch the command - Proc =3D Popen(Command, stdout=3DPIPE, stderr=3DPIPE, env=3Dos.env= iron, cwd=3DWorkingDir, bufsize=3D-1, shell=3DTrue) + Proc =3D MakeSubProc(Command, stdout=3DPIPE, stderr=3DPIPE, env=3D= os.environ, cwd=3DWorkingDir, bufsize=3D-1, shell=3DTrue) =20 # launch two threads to read the STDOUT and STDERR EndOfProcedure =3D Event() EndOfProcedure.clear() if Proc.stdout: - StdOutThread =3D Thread(target=3DReadMessage, args=3D(Proc.std= out, EdkLogger.info, EndOfProcedure)) + StdOutThread =3D Thread(target=3DReadMessage, args=3D(Proc.std= out, EdkLogger.info, EndOfProcedure,Proc.ProcOut)) StdOutThread.setName("STDOUT-Redirector") StdOutThread.setDaemon(False) StdOutThread.start() =20 if Proc.stderr: - StdErrThread =3D Thread(target=3DReadMessage, args=3D(Proc.std= err, EdkLogger.quiet, EndOfProcedure)) + StdErrThread =3D Thread(target=3DReadMessage, args=3D(Proc.std= err, EdkLogger.quiet, EndOfProcedure,Proc.ProcOut)) StdErrThread.setName("STDERR-Redirector") StdErrThread.setDaemon(False) StdErrThread.start() =20 # waiting for program exit @@ -261,10 +274,19 @@ def LaunchCommand(Command, WorkingDir): RespContent =3D f.read() f.close() EdkLogger.info(RespContent) =20 EdkLogger.error("build", COMMAND_FAILURE, ExtraData=3D"%s [%s]" % = (Command, WorkingDir)) + if ModuleAuto: + iau =3D IncludesAutoGen(WorkingDir,ModuleAuto) + if ModuleAuto.ToolChainFamily =3D=3D TAB_COMPILER_MSFT: + iau.CreateDepsFileForMsvc(Proc.ProcOut) + else: + iau.UpdateDepsFileforNonMsvc() + iau.UpdateDepsFileforTrim() + iau.CreateModuleDeps() + iau.CreateDepsInclude() return "%dms" % (int(round((time.time() - BeginTime) * 1000))) =20 ## The smallest unit that can be built in multi-thread build mode # # This is the base class of build unit. The "Obj" parameter must provide @@ -606,11 +628,11 @@ class BuildTask: # @param Command A list or string contains the call of = the command # @param WorkingDir The directory in which the program wil= l be running # def _CommandThread(self, Command, WorkingDir): try: - self.BuildItem.BuildObject.BuildTime =3D LaunchCommand(Command= , WorkingDir) + self.BuildItem.BuildObject.BuildTime =3D LaunchCommand(Command= , WorkingDir,self.BuildItem.BuildObject) self.CompleteFlag =3D True =20 # Run hash operation post dependency, to account for libs if GlobalData.gUseHashCache and self.BuildItem.BuildObject.IsL= ibrary: HashFile =3D path.join(self.BuildItem.BuildObject.BuildDir= , self.BuildItem.BuildObject.Name + ".hash") @@ -1274,23 +1296,36 @@ class Build(): self.BuildModules =3D [] return True =20 # build library if Target =3D=3D 'libraries': - for Lib in AutoGenObject.LibraryBuildDirectoryList: + DirList =3D [] + for Lib in AutoGenObject.LibraryAutoGenList: + if not Lib.IsBinaryModule: + DirList.append((os.path.join(AutoGenObject.BuildDir, L= ib.BuildDir),Lib)) + for Lib, LibAutoGen in DirList: NewBuildCommand =3D BuildCommand + ['-f', os.path.normpath= (os.path.join(Lib, makefile)), 'pbuild'] - LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir) + LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir,L= ibAutoGen) return True =20 # build module if Target =3D=3D 'modules': - for Lib in AutoGenObject.LibraryBuildDirectoryList: + DirList =3D [] + for Lib in AutoGenObject.LibraryAutoGenList: + if not Lib.IsBinaryModule: + DirList.append((os.path.join(AutoGenObject.BuildDir, L= ib.BuildDir),Lib)) + for Lib, LibAutoGen in DirList: NewBuildCommand =3D BuildCommand + ['-f', os.path.normpath= (os.path.join(Lib, makefile)), 'pbuild'] - LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir) - for Mod in AutoGenObject.ModuleBuildDirectoryList: + LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir,L= ibAutoGen) + + DirList =3D [] + for ModuleAutoGen in AutoGenObject.ModuleAutoGenList: + if not ModuleAutoGen.IsBinaryModule: + DirList.append((os.path.join(AutoGenObject.BuildDir, M= oduleAutoGen.BuildDir),ModuleAutoGen)) + for Mod,ModAutoGen in DirList: NewBuildCommand =3D BuildCommand + ['-f', os.path.normpath= (os.path.join(Mod, makefile)), 'pbuild'] - LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir) + LaunchCommand(NewBuildCommand, AutoGenObject.MakeFileDir,M= odAutoGen) self.CreateAsBuiltInf() if GlobalData.gBinCacheDest: self.UpdateBuildCache() self.BuildModules =3D [] return True --=20 2.20.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51592): https://edk2.groups.io/g/devel/message/51592 Mute This Topic: https://groups.io/mt/65666186/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-