From 8fc4fc3a0e3d10c2093bcdef89cc408980c44f22 Mon Sep 17 00:00:00 2001 From: jwang36 Date: Mon, 25 Jun 2007 17:00:40 +0000 Subject: [PATCH] 1) Incorporated generating top level makefile. Now platform build is possible (no FD generation). 2) Added GenFw.exe for EFI file generation 3) Changed the destination directory of *.template file to WORKSPACE/Conf 4) Commented out several modules in the MdePkg.dsc file since they cannot be found in the MdePkg package directory. 5) Removed the usage of WORKSPACE_DIR macro in makefile. WORKSPACE is used instead all the way. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2733 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/GenFw.exe | Bin 0 -> 28672 bytes BaseTools/Bin/Win32/build.exe | Bin 1810935 -> 1818774 bytes BaseTools/Conf/build_rule.template | 8 ++++---- BaseTools/toolsetup.bat | 28 ++++++++++++++-------------- MdePkg/MdePkg.dsc | 8 ++++---- 5 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 BaseTools/Bin/Win32/GenFw.exe diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe new file mode 100644 index 0000000000000000000000000000000000000000..b751d1e8a983e6bcf81521fc886759dbbc7072dd GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe index 1125bcf2c281e6bc189fd19b6414e36cd01ef295..9f782076ccc6e28e3ff7d2e5a8b9ec61ec74aa0b 100644 GIT binary patch delta 28120 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 $(@D)${sep}${fbase}.i Trim -CONVERT $(@D)${sep}${fbase}.i "$(ASM)" $(ASM_FLAGS) /Fo$@ $(@D)${sep}${fbase}.iii ''', "Iasm-Code" : '''\ -${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE_DIR)${sep}${dep} +${BEGIN}$(OUTPUT_DIR)${sep}${fdir}${sep}${fbase}.obj : $(WORKSPACE)${sep}${dep} ${END} "$(APP)" $(APP_FLAGS) $(INC) $< $(PP_OUTPUT)$(@D)${sep}${fbase}.i "$(ASM)" $(ASM_FLAGS) $(ASM_OUTPUT)$@ $(@D)${sep}${fbase}.i ''', diff --git a/BaseTools/toolsetup.bat b/BaseTools/toolsetup.bat index 3f474a04f3..9b5f45e404 100644 --- a/BaseTools/toolsetup.bat +++ b/BaseTools/toolsetup.bat @@ -78,24 +78,24 @@ echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH% echo. REM -REM copy *.template to %EDK_TOOLS_PATH%\Conf +REM copy *.template to %WORKSPACE%\Conf REM -if NOT exist %EDK_TOOLS_PATH%\Conf mkdir %EDK_TOOLS_PATH%\Conf -if NOT exist %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db ( - echo copying ... FrameworkDatabase.template to %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db - copy %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.template %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db > nul +if NOT exist %WORKSPACE%\Conf mkdir %WORKSPACE%\Conf +if NOT exist %WORKSPACE%\Conf\FrameworkDatabase.db ( + echo copying ... FrameworkDatabase.template to %WORKSPACE%\Conf\FrameworkDatabase.db + copy %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.template %WORKSPACE%\Conf\FrameworkDatabase.db > nul ) -if NOT exist %EDK_TOOLS_PATH%\Conf\target.txt ( - echo copying ... target.template to %EDK_TOOLS_PATH%\Conf\target.txt - copy %EDK_TOOLS_PATH%\Conf\target.template %EDK_TOOLS_PATH%\Conf\target.txt > nul +if NOT exist %WORKSPACE%\Conf\target.txt ( + echo copying ... target.template to %WORKSPACE%\Conf\target.txt + copy %EDK_TOOLS_PATH%\Conf\target.template %WORKSPACE%\Conf\target.txt > nul ) -if NOT exist %EDK_TOOLS_PATH%\Conf\tools_def.txt ( - echo copying ... tools_def.template to %EDK_TOOLS_PATH%\Conf\tools_def.txt - copy %EDK_TOOLS_PATH%\Conf\tools_def.template %EDK_TOOLS_PATH%\Conf\tools_def.txt > nul +if NOT exist %WORKSPACE%\Conf\tools_def.txt ( + echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt + copy %EDK_TOOLS_PATH%\Conf\tools_def.template %WORKSPACE%\Conf\tools_def.txt > nul ) -if NOT exist %EDK_TOOLS_PATH%\Conf\build_rule.txt ( - echo copying ... build_rule.template to %EDK_TOOLS_PATH%\Conf\build_rule.txt - copy %EDK_TOOLS_PATH%\Conf\build_rule.template %EDK_TOOLS_PATH%\Conf\build_rule.txt > nul +if NOT exist %WORKSPACE%\Conf\build_rule.txt ( + echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt + copy %EDK_TOOLS_PATH%\Conf\build_rule.template %WORKSPACE%\Conf\build_rule.txt > nul ) REM diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index a55bc86bd9..5b1bf5250a 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -84,7 +84,7 @@ ${WORKSPACE}\MdePkg\Library/BasePciLibCf8/BasePciLibCf8.inf ${WORKSPACE}\MdePkg\Library/BasePciLibPciExpress/BasePciLibPciExpress.inf ${WORKSPACE}\MdePkg\Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf - ${WORKSPACE}\MdePkg\Library/BasePeCoffLib/BasePeCoffLib.inf +# ${WORKSPACE}\MdePkg\Library/BasePeCoffLib/BasePeCoffLib.inf ${WORKSPACE}\MdePkg\Library/BasePerformanceLibNull/BasePerformanceLibNull.inf ${WORKSPACE}\MdePkg\Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf ${WORKSPACE}\MdePkg\Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf @@ -97,16 +97,16 @@ ${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf ${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf ${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - ${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf +# ${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf ${WORKSPACE}\MdePkg\Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf - ${WORKSPACE}\MdePkg\Library/PeiHobLib/PeiHobLib.inf +# ${WORKSPACE}\MdePkg\Library/PeiHobLib/PeiHobLib.inf ${WORKSPACE}\MdePkg\Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf ${WORKSPACE}\MdePkg\Library/PeimEntryPoint/PeimEntryPoint.inf ${WORKSPACE}\MdePkg\Library/PeiPcdLib/PeiPcdLib.inf ${WORKSPACE}\MdePkg\Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf ${WORKSPACE}\MdePkg\Library/PeiServicesLib/PeiServicesLib.inf ${WORKSPACE}\MdePkg\Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf - ${WORKSPACE}\MdePkg\Library/PeiSmbusLib/PeiSmbusLib.inf +# ${WORKSPACE}\MdePkg\Library/PeiSmbusLib/PeiSmbusLib.inf ${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf ${WORKSPACE}\MdePkg\Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf ${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -- 2.39.2