From dce323a67c798b32594df016f841263f9215708a Mon Sep 17 00:00:00 2001 From: jwang36 Date: Sat, 18 Aug 2007 03:54:24 +0000 Subject: [PATCH] Re-designed build_rule.template and updated build.exe to support the new format git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3677 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/build.exe | Bin 1413229 -> 1441910 bytes BaseTools/Conf/build_rule.template | 594 +++++++++++++++-------------- 2 files changed, 298 insertions(+), 296 deletions(-) diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe index c638c1ea3a20f58d94cae81f35a932d7b38ebaf4..a773e1874227cb6f7fae926f0487eb44faa59561 100755 GIT binary patch delta 105834 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 YOE($jy~a+eovK+i`xpZcTqha+2e5CX6aWAK delta 78460 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 BqhbI6 diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 17e9d7ba36..422ee8e836 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -1,296 +1,298 @@ -# file extention : file type -FileTypeMapping = { - ".c" : "C-Code", - ".C" : "C-Code", - ".cpp" : "C-Code", - ".Cpp" : "C-Code", - ".CPP" : "C-Code", - ".h" : "C-Header", - ".H" : "C-Header", - ".inc" : "Masm-Header", - ".asm" : "Masm-Code", - ".Asm" : "Masm-Code", - ".ASM" : "Masm-Code", - ".asm16" : "Masm16-Code", #RealAsm16 Link Code - ".Asm16" : "Masm16-Code", - ".ASM16" : "Masm16-Code", - ".s" : "Iasm-Code", # IPF assembly code - ".S" : "Gasm-Code", # GNU assembly code - ".uni" : "Unicode-Text", - ".Uni" : "Unicode-Text", - ".UNI" : "Unicode-Text", - ".vfr" : "Visual-Form-Representation", - ".Vfr" : "Visual-Form-Representation", - ".VFR" : "Visual-Form-Representation", - ".dxs" : "Dependency-Expression", - ".Dxs" : "Dependency-Expression", - ".DXS" : "Dependency-Expression", - ".TXT" : "MicorCode-Text", - ".txt" : "MicorCode-Text", - ".fv" : "FirmwareVolume", - ".Fv" : "FirmwareVolume", - ".FV" : "FirmwareVolume", - ".efi" : "Efi-Image", - ".Efi" : "Efi-Image", - ".EFI" : "Efi-Image", - ".SEC" : "Firmware-File-System", - ".PEI" : "Firmware-File-System", - ".DXE" : "Firmware-File-System", - ".APP" : "Firmware-File-System", - ".FYI" : "Firmware-File-System", - ".FFS" : "Firmware-File-System", - ".bmp" : "Bmp-Image", - ".i" : "Preprocessed-Code", - ".asl" : "Acpi-Source-Language", - ".Asl" : "Acpi-Source-Language", - ".ASL" : "Acpi-Source-Language", - ".aslc" : "Acpi-Table-Source", - ".obj" : "Object", - ".o" : "Object", - ".lib" : "Static-Library", - ".a" : "Static-Library", - ".dll" : "Dynamic-Library", - ".so" : "Dynamic-Library", -} - -ObjectFileMapping = { - "C-Code" : ".obj", -# "C-Header" : ".gch", - "Masm-Code" : ".obj", - "Iasm-Code" : ".obj", # IPF assembly code - "Gasm-Code" : ".obj", # GNU assembly code - "Visual-Form-Representation" : ".obj", - "Preprocessed-Code" : ".obj", - "Object" : ".dll", - "Static-Library" : ".dll", - "Dynamic-Library" : ".efi", - "Dependency-Expression" : ".depex", - "Acpi-Source-Language" : ".aml", - "Acpi-Table-Source" : ".acpi", - "Masm16-Code" : ".com", - "MicorCode-Text" : ".bin", -} - -DefaultToolCode = ["CC", "ASM", "SLINK", "DLINK", "PCH", "PP", "ASL", "ASMLINK"] - -ToolCodeMapping = { - "C-Code" : ["CC"], -# "C-Header" : ["PCH"], - "Masm-Code" : ["PP", "ASM"], - "Iasm-Code" : ["PP", "ASM"], # IPF assembly code - "Gasm-Code" : ["ASM"], # GNU assembly code - "Visual-Form-Representation" : ["PP", "CC"], - "Preprocessed-Code" : ["CC"], - "Acpi-Source-Language" : ["ASL"], - "Object" : ["SLINK"], - "Static-Library" : ["DLINK"], - "Dependency-Expression" : ["PP"], - "Acpi-Source-Language" : ["PP", "ASL"], - "Acpi-Table-Source" : ["CC", "DLINK"], - "Masm16-Code" : ["ASM", "ASMLINK"], - "MicorCode-Text" : ["CC"], -} - -ToolChainFamilyMapping = { - "C-Code" : ["MSFT", "INTEL", "GCC"], - "C-Header" : ["MSFT", "INTEL", "GCC"], - "Masm-Code" : ["MSFT", "INTEL"], - "Iasm-Code" : ["MSFT", "INTEL"], # IPF assembly code - "Gasm-Code" : ["GCC"], # GNU assembly code - "Unicode-Text" : ["MSFT", "INTEL", "GCC"], - "Visual-Form-Representation" : ["MSFT", "INTEL", "GCC"], - "Dependency-Expression" : ["MSFT", "INTEL", "GCC"], - "FirmwareVolume" : ["MSFT", "INTEL", "GCC"], - "Efi-Image" : ["MSFT", "INTEL", "GCC"], - "Firmware-File-System" : ["MSFT", "INTEL", "GCC"], - "Bmp-Image" : ["MSFT", "INTEL", "GCC"], - "Preprocessed-Code" : ["MSFT", "INTEL"], - "Acpi-Source-Language" : ["MSFT", "INTEL"], - "Acpi-Table-Source" : ["MSFT", "INTEL"], - "Masm16-Code" : ["MSFT"], - "MicorCode-Text" : ["MSFT", "INTEL"], -} - -## Build rules for makefile -# Placeholders for string substitution -# ${fpath} File path relative to $(WORKSPACE) -# ${fdir} File relative directory within a module -# ${fname} File full name without path -# ${fbase} File name without extension and path -# ${fext} File extension -# ${fdep} File dependencies -# ${_sep_} Directory separator -# ${_of_} Output flag -# ${_if_} Include flag -# -Makefile = { -# MSFT tool chain family -"MSFT" : { -"C-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -''', - -"Masm-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(PP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\tTrim --source-code --convert-hex $(@D)${_sep_}${fbase}.i -\t"$(ASM)" /Fo$@ $(ASM_FLAGS) $(INC) $(@D)${_sep_}${fbase}.iii -''', - -"Iasm-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(APP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\t"$(ASM)" -o $@ $(ASM_FLAGS) $(@D)${_sep_}${fbase}.i -''', - -"Visual-Form-Representation" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\tTrim --vfr-file $(@D)${_sep_}${fbase}.i -\t-mkdir $(DEBUG_DIR)${_sep_}${fdir} > NUL 2>&1 -\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii -\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c -''', - -"Acpi-Source-Language" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\tTrim --source-code $(@D)${_sep_}${fbase}.i -\t"$(ASL)" -p $@ $(@D)${_sep_}${fbase}.iii -\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml $(OUTPUT_DIR)${_sep_}${fbase}.aml /Y -''', - -"Acpi-Table-Source" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(CC)" /Fo$(@D)${_sep_}${fbase}.obj $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -\t"$(DLINK)" $(@D)${_sep_}${fbase}.obj /out:$(@D)${_sep_}${fbase}.dll $(SLINK_FLAGS) -\tGenFw -o $@ -c $(@D)${_sep_}${fbase}.dll -\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi $(OUTPUT_DIR)${_sep_}${fbase}.acpi /Y -''', - -"Masm16-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.com : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.com : $(WORKSPACE)${_sep_}${fdep} -${END}\tpushd . -\tcd $(OUTPUT_DIR)${_sep_}${fdir} -\t"$(ASM)" /nologo /omf $(WORKSPACE)${_sep_}${fpath} /Bl"$(ASMLINK)" $(ASMLINK_FLAGS) -\t-copy ${fbase}.com $(OUTPUT_DIR)${_sep_}${fbase}.com /Y & popd -''', - -"MicorCode-Text" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.bin : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.bin : $(WORKSPACE)${_sep_}${fdep} -${END}\tGenFw -o $@ -m $(WORKSPACE)${_sep_}${fpath} -''', -}, - -# -# INTEL tool chain family -# -"INTEL" : { -"C-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -''', - -"Masm-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(PP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\tTrim --source-code --convert-hex $(@D)${_sep_}${fbase}.i -\t"$(ASM)" /Fo$@ $(ASM_FLAGS) $(INC) $(@D)${_sep_}${fbase}.iii -''', - -"Iasm-Code" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(APP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\t"$(ASM)" -o $@ $(ASM_FLAGS) $(@D)${_sep_}${fbase}.i -''', - -"Visual-Form-Representation" : '''\ -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\tTrim --vfr-file $(@D)${_sep_}${fbase}.i -\t-mkdir $(DEBUG_DIR)${_sep_}${fdir} > NUL 2>&1 -\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii -\t"$(CC)" /Fo$@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c -''', - -"Acpi-Source-Language" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(APP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} > $(@D)${_sep_}${fbase}.i -\t"$(ASL)" -p $@ $(@D)${_sep_}${fbase}.i -\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.aml $(OUTPUT_DIR)${_sep_}${fbase}.aml /Y -''', - -"Acpi-Table-Source" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(CC)" /Fo$(@D)${_sep_}${fbase}.obj $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -\t"$(DLINK)" $(@D)${_sep_}${fbase}.obj /out:$(@D)${_sep_}${fbase}.dll $(SLINK_FLAGS) -\tGenFw -o $@ -c $(@D)${_sep_}${fbase}.dll -\t-copy $(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.acpi $(OUTPUT_DIR)${_sep_}${fbase}.acpi /Y -''', -}, - -# -# GCC tool chain family -# -"GCC" : { - -"C-Code" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(CC)" -o $@ $(CC_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -''', - -"Gasm-Code" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(ASM)" -o $@ $(ASM_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -''', - -"Visual-Form-Representation" : -''' -$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(COMMON_DEPS) -${BEGIN}$(OUTPUT_DIR)${_sep_}${fdir}${_sep_}${fbase}.obj : $(WORKSPACE)${_sep_}${fdep} -${END}\t"$(PP)" $(VFRPP_FLAGS) $(INC) $(WORKSPACE)${_sep_}${fpath} -o $(@D)${_sep_}${fbase}.i -\tTrim --vfr-file $(@D)${_sep_}${fbase}.i -\t-mkdir $(DEBUG_DIR)${_sep_}${fdir} > NUL 2>&1 -\tVfrCompile -od $(DEBUG_DIR)${_sep_}${fdir} $(@D)${_sep_}${fbase}.iii -\t"$(CC)" -o $@ $(CC_FLAGS) $(INC) $(DEBUG_DIR)${_sep_}${fdir}${_sep_}${fbase}.c -''', -} -} - -# This acts like the main() function for the script, unless it is 'import'ed into another -# script. -if __name__ == '__main__': - for ext in FileTypeMapping: - print ext,":",FileTypeMapping[ext] - - for type in Makefile["nmake"]: - print "[",type,"]\n",Makefile["nmake"][type] - print - - for type in Makefile["gmake"]: - print "[",type,"]\n",Makefile["gmake"][type] - print - +# +# Copyright (c) 2007, Intel Corporation +# +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php + +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Filename: build_rule.template +# + +## Syntax +# +# "*" is used to indicate that the source files will be processed at the same time. +# "?" is used to indicate that the source files will be processed one by one. +# +# "[" Build.[.][, Build.[.]] "]" +# ]> +# [File-Type =] (?|*). [(\n|,|;) (?|*).] +# +# ]> +# +# +# ]> +# +# [] +# + +## Placeholders for string substitution +# +# ${src} Source file(s) to be built (full path) +# ${s_path} Source file directory (absolute path) +# ${s_dir} Source file relative directory within a module +# (Note: ${s_dir} is always equals to "." if source file is given in absolute path.) +# ${s_name} Source file name without path +# ${s_base} Source file name without extension and path +# ${s_ext} Source file extension +# +# ${dst} Destination file(s) built from ${src} (full path) +# ${d_path} Destination file directory (absolute path) +# ${d_name} Destination file name without path +# ${d_base} Destination file name without extension and path +# ${d_ext} Destination file extension +# +# (+) Directory separator +# + +## Macro +# $(WORKSPACE) Workspace directory +# $(OUTPUT_DIR) Directory for intermediate files for building a module +# $(DEBUG_DIR) Directory for files used to debug a module +# $(BUILD_DIR) All files for building a platform will be put in this directory +# $(BIN_DIR) Common directory for executable files +# $(FV_DIR) Directory to store flash image files +# $(INC) Search path of current module +# $(LIBS) Static library files of current module +# $(_FLAGS) Tools flags of current module +# $(MODULE_NAME) Current module name +# $(MODULE_TYPE) Current module type +# $(ARCH) Architecture of current module +# $(TOOLCHAIN) Toolchain used to build current module +# $(TARGET) Target of current module (DEBUG/RELEASE) +# $() Path of tool +# $(EDK_TOOLS_PATH) Path of build tools +# $() File list of each file type +# (Note: The macro name is derived from file type name. For example, +# C-Code-File will have C_CODE_FILE_LIST macro.) +# +# $(CP) copy command +# $(MV) move command +# $(RM) delete command +# $(MD) create dir command +# $(RD) remove dir command +# + +## Reserved File-Type +# +# Dont't change following names of file types and their associated files, +# which are also used in tools' code +# +# C-Code-File +# C-Header-File +# Dynamic-Library-File +# Static-Library-File +# Visual-Form-Representation-File +# Unicode-Text-File +# + +[Build.C-Code-File] + + ?.c + ?.C + ?.cc + ?.CC + ?.cpp + ?.Cpp + ?.CPP + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj + + + "$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src} + + + "$(CC)" -o ${dst} $(CC_FLAGS) $(INC) ${src} + +[Build.C-Header-File] + + *.h, *.H + + + $(OUTPUT_DIR)(+)$(MODULE_NAME).gch + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj + + + + +[Build.Assembly-Code-File] + + Assembly-Code-File = ?.asm, ?.Asm, ?.ASM + + + ?.S + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj + + + "$(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 + "$(ASM)" /Fo${dst} $(ASM_FLAGS) $(INC) ${d_path}(+)${s_base}.iii + + + "$(ASM)" -o ${dst} $(ASM_FLAGS) $(INC) ${src} + +[Build.Iasm-Code-File] + + ?.s + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj + + + "$(APP)" $(APP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i + "$(ASM)" -o ${dst} $(ASM_FLAGS) ${d_path}(+)${s_base}.i + +[Build.Visual-Form-Representation-File] + + ?.vfr + ?.Vfr + ?.VFR + + + $(DEBUG_DIR)(+)${s_dir}(+)${s_base}.c + + + "$(PP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i + Trim --vfr-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i + -mkdir ${d_path} > NUL 2>&1 + VfrCompile -od ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii + +[Build.Object-File] + + *.obj + *.o + + + $(OUTPUT_DIR)(+)$(MODULE_NAME).lib + + + "$(SLINK)" /OUT:${dst} $(SLINK_FLAGS) ${src} + + + "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) ${src} + +#[Build.Object-File, Build.Static-Library-File] +#BUILD_VERSION = 0x00010000 +# +# +# Object-File = *.obj +# Static-Library-File = *.lib, *.a +# +# +# $(OUTPUT_DIR)(+)$(MODULE_NAME).lib +# +# +# "$(SLINK)" /OUT:${dst} $(SLINK_FLAGS) ${src} +# +# +# "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) ${src1} -( ${src2} -) +# +[Build.Static-Library-File] + + ?.lib + + + $(DEBUG_DIR)(+)$(MODULE_NAME).dll + + + "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) $(LIBS) ${src} + + + "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -( $(DLINK_SPATH) $(LIBS) ${src} -) + +[Build.Dynamic-Library-File] + + ?.dll + + + $(DEBUG_DIR)(+)$(MODULE_NAME).efi + + + GenFw -e $(MODULE_TYPE) -o ${dst} ${src} + $(CP) ${dst} $(OUTPUT_DIR) + $(CP) ${dst} $(BIN_DIR) + -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR) + +[Build.Dependency-Expression-File] + + ?.dxs, ?.Dxs, ?.DXS + + + $(OUTPUT_DIR)(+)$(MODULE_NAME).depex + + +# GenDepex -o ${dst} ${src} + +[Build.Acpi-Source-Language-File] + + ?.asl, ?.Asl, ?.ASL + + + $(OUTPUT_DIR)(+)${s_base}.aml + + + "$(PP)" $(APP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i + Trim --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i + "$(ASL)" -p ${dst} ${d_path}(+)${s_base}.iii + +[Build.Acpi-Table-Code-File] + + ?.aslc + + + $(OUTPUT_DIR)(+)${s_base}.acpi + + + "$(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 + GenFw -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll + +[Build.Masm16-Code-File] + + ?.asm16, ?.Asm16, ?.ASM16 + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.com + + + pushd . + cd $(OUTPUT_DIR)(+)${s_dir} + "$(ASM)" /nologo /omf ${src} /Bl"$(ASMLINK)" $(ASMLINK_FLAGS) + -$(CP) ${dst} $(OUTPUT_DIR) & popd + +[Build.Microcode-File] + + ?.txt, ?.TXT, ?.Txt + + + $(OUTPUT_DIR)(+)${s_base}.mcb + + + GenFw -o ${dst} -m ${src} + +[Build.Microcode-Binary-File] + + *.mcb + + + $(OUTPUT_DIR)(+)$(MODULE_NAME).bin + + + GenFw -o ${dst} -j ${src} + +[Build.Unicode-Text-File] + + *.uni, *.Uni, *.UNI + + + $(DEBUG_DIR)(+)AutoGen.c + $(DEBUG_DIR)(+)AutoGen.h + + + -- 2.39.2