From a1c949f333491c699b9b22820b95560007bd0f97 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Thu, 21 Aug 2008 13:11:01 +0000 Subject: [PATCH] Update GenSec to handle the input file whose size is Zero. And add the unified ASL tool path and flags for ASL code. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5706 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/GenSec.exe | Bin 180224 -> 180224 bytes BaseTools/Conf/build_rule.template | 8 ++-- BaseTools/Conf/tools_def.template | 64 +++++++++++++++++++++++++++-- 3 files changed, 65 insertions(+), 7 deletions(-) diff --git a/BaseTools/Bin/Win32/GenSec.exe b/BaseTools/Bin/Win32/GenSec.exe index 98963756a02b4af28f352f6d2188f4f5063034b1..51cc049d4c9312bad0c3842421c76a7e3752950e 100755 GIT binary patch delta 32674 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 delta 32463 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 - "$(PP)" $(APP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i - "$(ASL)" -p ${dst} $(ASL_FLAGS) ${d_path}(+)${s_base}.i + "$(ASLPP)" $(ASLPP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_dir}(+)${s_base}.i + "$(ASL)" -p ${dst} $(ASL_FLAGS) ${d_path}(+)${s_dir}(+)${s_base}.i [Acpi-Table-Code-File] @@ -265,8 +265,8 @@ $(MAKE_FILE) - "$(CC)" /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(INC) ${src} - "$(DLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(SLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj + "$(ASLCC)" /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src} + "$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj GenFw -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll [Masm16-Code-File] diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 8b52138a5f..025c8ef679 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -145,6 +145,10 @@ DEFINE ASL_BIN = C:\ASL *_VS2003_IA32_PP_PATH = DEF(VSNET2003_BIN)\cl.exe *_VS2003_IA32_ASM_PATH = DEF(VSNET2003_BIN)\ml.exe *_VS2003_IA32_PCH_PATH = DEF(VSNET2003_BIN)\cl.exe +*_VS2003_IA32_ASLCC_PATH = DEF(VSNET2003_BIN)\cl.exe +*_VS2003_IA32_ASLPP_PATH = DEF(VSNET2003_BIN)\cl.exe +*_VS2003_IA32_ASLDLINK_PATH = DEF(VSNET2003_BIN)\link.exe + *_VS2003_IA32_MAKE_FLAGS = /nologo *_VS2003_IA32_APP_FLAGS = /nologo /E /TC @@ -192,6 +196,10 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005PRO_IA32_APP_PATH = DEF(VS2005PRO_BIN)\cl.exe *_VS2005PRO_IA32_PP_PATH = DEF(VS2005PRO_BIN)\cl.exe *_VS2005PRO_IA32_ASM_PATH = DEF(VS2005PRO_BIN)\ml.exe +*_VS2005PRO_IA32_ASLCC_PATH = DEF(VS2005PRO_BIN)\cl.exe +*_VS2005PRO_IA32_ASLPP_PATH = DEF(VS2005PRO_BIN)\cl.exe +*_VS2005PRO_IA32_ASLDLINK_PATH = DEF(VS2005PRO_BIN)\link.exe + DEBUG_VS2005PRO_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005PRO_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF @@ -214,6 +222,9 @@ RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005PRO_X64_SLINK_PATH = DEF(VS2005PRO_BINX64)\lib.exe *_VS2005PRO_X64_DLINK_PATH = DEF(VS2005PRO_BINX64)\link.exe *_VS2005PRO_X64_ASMLINK_PATH = DEF(VS2005PRO_BINX64)\link.exe +*_VS2005PRO_X64_ASLCC_PATH = DEF(VS2005PRO_BINX64)\cl.exe +*_VS2005PRO_X64_ASLPP_PATH = DEF(VS2005PRO_BINX64)\cl.exe +*_VS2005PRO_X64_ASLDLINK_PATH = DEF(VS2005PRO_BINX64)\link.exe DEBUG_VS2005PRO_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005PRO_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF @@ -252,6 +263,9 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_IA32_APP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe *_VS2005TEAMSUITE_IA32_PP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe *_VS2005TEAMSUITE_IA32_ASM_PATH = DEF(VS2005TEAMSUITE_BIN)\ml.exe +*_VS2005TEAMSUITE_IA32_ASLCC_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe +*_VS2005TEAMSUITE_IA32_ASLPP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe +*_VS2005TEAMSUITE_IA32_ASLDLINK_PATH = DEF(VS2005TEAMSUITE_BIN)\link.exe *_VS2005TEAMSUITE_IA32_MAKE_FLAGS = /nologo DEBUG_VS2005TEAMSUITE_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm @@ -274,6 +288,10 @@ RELEASE_VS2005TEAMSUITE_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_X64_ASM_PATH = DEF(VS2005TEAMSUITE_BINX64)\ml64.exe *_VS2005TEAMSUITE_X64_SLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\lib.exe *_VS2005TEAMSUITE_X64_DLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe +*_VS2005TEAMSUITE_X64_ASLCC_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe +*_VS2005TEAMSUITE_X64_ASLPP_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe +*_VS2005TEAMSUITE_X64_ASLDLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe + DEBUG_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_VS2005TEAMSUITE_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF @@ -294,6 +312,9 @@ RELEASE_VS2005TEAMSUITE_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_VS2005TEAMSUITE_IPF_ASM_PATH = DEF(VS2005TEAMSUITE_BIN64)\ias.exe *_VS2005TEAMSUITE_IPF_SLINK_PATH = DEF(VS2005TEAMSUITE_BIN64)\lib.exe *_VS2005TEAMSUITE_IPF_DLINK_PATH = DEF(VS2005TEAMSUITE_BIN64)\link.exe +*_VS2005TEAMSUITE_IPF_ASLCC_PATH = DEF(VS2005TEAMSUITE_BIN64)\cl.exe +*_VS2005TEAMSUITE_IPF_ASLPP_PATH = DEF(VS2005TEAMSUITE_BIN64)\cl.exe +*_VS2005TEAMSUITE_IPF_ASLDLINK_PATH = DEF(VS2005TEAMSUITE_BIN64)\link.exe DEBUG_VS2005TEAMSUITE_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi RELEASE_VS2005TEAMSUITE_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 @@ -335,6 +356,9 @@ RELEASE_VS2005TEAMSUITE_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_WINDDK3790x1830_IA32_APP_PATH = DEF(WINDDK_BIN32)\cl.exe *_WINDDK3790x1830_IA32_PCH_PATH = DEF(WINDDK_BIN32)\cl.exe *_WINDDK3790x1830_IA32_ASM_PATH = DEF(WINDDK_BIN32)\ml.exe +*_WINDDK3790x1830_IA32_ASLCC_PATH = DEF(WINDDK_BIN32)\cl.exe +*_WINDDK3790x1830_IA32_ASLPP_PATH = DEF(WINDDK_BIN32)\cl.exe +*_WINDDK3790x1830_IA32_ASLDLINK_PATH = DEF(WINDDK_BIN32)\link.exe DEBUG_WINDDK3790x1830_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_WINDDK3790x1830_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF @@ -358,6 +382,9 @@ RELEASE_WINDDK3790x1830_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_WINDDK3790x1830_X64_APP_PATH = DEF(WINDDK_BINX64)\cl.exe *_WINDDK3790x1830_X64_PCH_PATH = DEF(WINDDK_BINX64)\cl.exe *_WINDDK3790x1830_X64_ASM_PATH = DEF(WINDDK_BINX64)\ml64.exe +*_WINDDK3790x1830_X64_ASLCC_PATH = DEF(WINDDK_BINX64)\cl.exe +*_WINDDK3790x1830_X64_ASLPP_PATH = DEF(WINDDK_BINX64)\cl.exe +*_WINDDK3790x1830_X64_ASLDLINK_PATH = DEF(WINDDK_BINX64)\link.exe DEBUG_WINDDK3790x1830_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_WINDDK3790x1830_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF @@ -380,6 +407,10 @@ RELEASE_WINDDK3790x1830_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_WINDDK3790x1830_IPF_APP_PATH = DEF(WINDDK_BIN64)\cl.exe *_WINDDK3790x1830_IPF_PCH_PATH = DEF(WINDDK_BIN64)\cl.exe *_WINDDK3790x1830_IPF_ASM_PATH = DEF(WINDDK_BIN64)\ias.exe +*_WINDDK3790x1830_IPF_ASLCC_PATH = DEF(WINDDK_BIN64)\cl.exe +*_WINDDK3790x1830_IPF_ASLPP_PATH = DEF(WINDDK_BIN64)\cl.exe +*_WINDDK3790x1830_IPF_ASLDLINK_PATH = DEF(WINDDK_BIN64)\link.exe + DEBUG_WINDDK3790x1830_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi RELEASE_WINDDK3790x1830_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 @@ -569,6 +600,10 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_ICC_*_APP_FLAGS = /nologo /E /TC *_ICC_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h +*_ICC_*_ASLCC_FLAGS = /GL- /Y- /TC /WX- +*_ICC_*_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:main /SUBSYSTEM:CONSOLE /NODEFAULTLIB:libmmt /NODEFAULTLIB:libirc +*_ICC_*_ASLPP_FLAGS = /nologo /EP /C + ################## # IA32 definitions ################## @@ -584,6 +619,9 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_ICC_IA32_APP_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_ASM_PATH = DEF(VS2005TEAMSUITE_BIN)\ml.exe *_ICC_IA32_ASM_DLL = DEF(VS2005TEAMSUITE_DLL) +*_ICC_IA32_ASLCC_PATH = DEF(ICC_BIN32)\icl.exe +*_ICC_IA32_ASLPP_PATH = DEF(ICC_BIN32)\icl.exe +*_ICC_IA32_ASLDLINK_PATH = DEF(ICC_BIN32)\xilink.exe DEBUG_ICC_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /FIAutoGen.h /EHs-c- /GF /Zi /Gm RELEASE_ICC_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /FIAutoGen.h /EHs-c- /GF @@ -610,6 +648,9 @@ RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_ICC_X64_APP_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_ASM_PATH = DEF(WINDDK_BINX64)\ml64.exe *_ICC_X64_ASM_DLL = DEF(VS2005TEAMSUITE_DLL) +*_ICC_X64_ASLCC_PATH = DEF(ICC_BINX64)\icl.exe +*_ICC_X64_ASLPP_PATH = DEF(ICC_BINX64)\icl.exe +*_ICC_X64_ASLDLINK_PATH = DEF(ICC_BINX64)\xilink.exe DEBUG_ICC_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /Zi /Gm /EHs-c- /GF RELEASE_ICC_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF @@ -635,10 +676,12 @@ RELEASE_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_ICC_IPF_ASMLINK_PATH = DEF(ICC_BIN64)\xilink.exe *_ICC_IPF_PP_PATH = DEF(ICC_BIN64)\icl.exe *_ICC_IPF_VFRPP_PATH = DEF(ICC_BIN64)\icl.exe - *_ICC_IPF_PCH_PATH = DEF(ICC_BIN64)\icl.exe *_ICC_IPF_APP_PATH = DEF(ICC_BIN64)\icl.exe *_ICC_IPF_ASM_PATH = DEF(ICC_BIN64)\ias.exe +*_ICC_IPF_ASLCC_PATH = DEF(ICC_BIN64)\icl.exe +*_ICC_IPF_ASLPP_PATH = DEF(ICC_BIN64)\icl.exe +*_ICC_IPF_ASLDLINK_PATH = DEF(ICC_BIN64)\xilink.exe DEBUG_ICC_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /Zi RELEASE_ICC_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 @@ -667,7 +710,6 @@ RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_MYTOOLS_*_ASL_PATH = DEF(ASL_BIN)\iasl.exe -*_MYTOOLS_*_ASL_FLAGS = *_MYTOOLS_*_MAKE_FLAGS = /nologo *_MYTOOLS_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FIAutoGen.h *_MYTOOLS_*_APP_FLAGS = /nologo /E /TC @@ -694,6 +736,9 @@ RELEASE_MYTOOLS_*_ASM16_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd *_MYTOOLS_IA32_VFRPP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe *_MYTOOLS_IA32_APP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe *_MYTOOLS_IA32_ASM_PATH = DEF(VS2005TEAMSUITE_BIN)\ml.exe +*_MYTOOLS_IA32_ASLCC_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe +*_MYTOOLS_IA32_ASLPP_PATH = DEF(VS2005TEAMSUITE_BIN)\cl.exe +*_MYTOOLS_IA32_ASLDLINK_PATH = DEF(VS2005TEAMSUITE_BIN)\link.exe DEBUG_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF @@ -716,6 +761,9 @@ RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_X64_VFRPP_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe *_MYTOOLS_X64_APP_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe *_MYTOOLS_X64_ASM_PATH = DEF(VS2005TEAMSUITE_BINX64)\ml64.exe +*_MYTOOLS_X64_ASLCC_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe +*_MYTOOLS_X64_ASLPP_PATH = DEF(VS2005TEAMSUITE_BINX64)\cl.exe +*_MYTOOLS_X64_ASLDLINK_PATH = DEF(VS2005TEAMSUITE_BINX64)\link.exe DEBUG_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF @@ -736,7 +784,9 @@ RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_IPF_VFRPP_PATH = DEF(WINDDK_BIN64)\cl.exe *_MYTOOLS_IPF_APP_PATH = DEF(WINDDK_BIN64)\cl.exe *_MYTOOLS_IPF_ASM_PATH = DEF(WINDDK_BIN64)\ias.exe - +*_MYTOOLS_IPF_ASLCC_PATH = DEF(WINDDK_BIN64)\cl.exe +*_MYTOOLS_IPF_ASLPP_PATH = DEF(WINDDK_BIN64)\cl.exe +*_MYTOOLS_IPF_ASLDLINK_PATH = DEF(WINDDK_BIN64)\link.exe *_MYTOOLS_IPF_ASM_OUTPUT = "-o " DEBUG_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 /Zi @@ -771,3 +821,11 @@ RELEASE_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT ################## *_*_*_VFR_PATH = VfrCompile *_*_*_VFR_FLAGS = -l -n + +################## +# Asl Compiler definitions +################## +*_*_*_ASLCC_FLAGS = /GL- /Y- /TC +*_*_*_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:main +*_*_*_ASLPP_FLAGS = /nologo /EP /C +*_*_*_ASL_FLAGS =