From: jwang36 Date: Sat, 18 Aug 2007 03:54:24 +0000 (+0000) Subject: Re-designed build_rule.template and updated build.exe to support the new format X-Git-Tag: edk2-stable201903~22284 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=dce323a67c798b32594df016f841263f9215708a 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 --- diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe index c638c1ea3a..a773e18742 100755 Binary files a/BaseTools/Bin/Win32/build.exe and b/BaseTools/Bin/Win32/build.exe differ 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 + + +