Skip to content

Commit

Permalink
Fix CreateBootDisk.bat not using config variables
Browse files Browse the repository at this point in the history
Signed-off-by: Pete Batard
Reviewed-by: niruiyu

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11941 6f19259b-4bc3-4df7-8a09-765794883524
  • Loading branch information
niruiyu committed Jul 1, 2011
1 parent 976f617 commit 7708d08
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 21 deletions.
25 changes: 13 additions & 12 deletions DuetPkg/CreateBootDisk.bat
@@ -1,6 +1,6 @@
@REM ## @file
@REM #
@REM # Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
@REM # Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
@REM #
@REM # This program and the accompanying materials
@REM # are licensed and made available under the terms and conditions of the BSD License
Expand All @@ -12,24 +12,29 @@
@REM #
@REM ##

@REM Set up environment at fisrt.
@REM Set up environment at first.

@set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32
@set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin
@set DISK_LABEL=DUET
@set PROCESSOR=""
@set STEP=1
@call %WORKSPACE%\DuetPkg\GetVariables.bat

@echo on

@if "%1"=="" goto Help
@if "%2"=="" goto Help
@if "%3"=="" goto Help
@if "%4"=="" goto NoArch
@if "%4"=="" goto Set_BootDisk
@if "%4"=="step2" (@set STEP=2) else @set TARGET_ARCH=%4
@if "%5"=="step2" @set STEP=2
:Set_BootDisk
@set EFI_BOOT_DISK=%2
@if "%4"=="IA32" set PROCESSOR=IA32
@if "%4"=="X64" set PROCESSOR=X64
@if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32
@if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64
@if %PROCESSOR%=="" goto WrongArch
@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\DEBUG_MYTOOLS
@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%

@if "%1"=="floppy" goto CreateFloppy
@if "%1"=="file" goto CreateFile
Expand Down Expand Up @@ -76,7 +81,7 @@ mkdir %EFI_BOOT_DISK%\efi\boot
@if "%3"=="FAT12" goto WrongFATType

:CreateUsb_FAT16
@if "%5"=="step2" goto CreateUsb_FAT16_step2
@if "%STEP%"=="2" goto CreateUsb_FAT16_step2
@echo Format %EFI_BOOT_DISK% ...
@echo.> FormatCommandInput.txt
@format /FS:FAT /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
Expand All @@ -98,7 +103,7 @@ mkdir %EFI_BOOT_DISK%\efi\boot
@goto end

:CreateUsb_FAT32
@if "%5"=="step2" goto CreateUsb_FAT32_step2
@if "%STEP%"=="2" goto CreateUsb_FAT32_step2
@echo Format %EFI_BOOT_DISK% ...
@echo.> FormatCommandInput.txt
@format /FS:FAT32 /v:%DISK_LABEL% /q %EFI_BOOT_DISK% < FormatCommandInput.txt > NUL
Expand Down Expand Up @@ -135,10 +140,6 @@ copy %WORKSPACE%\EdkShellBinPkg\MinimumShell\X64\Shell.efi %EFI_BOOT_DISK%\efi\b
@echo Wrong FAT type %3 for %1
@goto end

:NoArch
@echo Error! Please specific the architecture.
@goto Help

:WrongArch
@echo Error! Wrong architecture.
@goto Help
Expand Down
38 changes: 38 additions & 0 deletions DuetPkg/GetVariables.bat
@@ -0,0 +1,38 @@
@REM ## @file
@REM #
@REM # Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
@REM #
@REM # This program and the accompanying materials
@REM # are licensed and made available under the terms and conditions of the BSD License
@REM # which accompanies this distribution. The full text of the license may be found at
@REM # http://opensource.org/licenses/bsd-license.php
@REM # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@REM # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@REM #
@REM #
@REM ##


@REM Read the variables from Conf/target.txt
@REM Because we can't add '=' as a delimiter in 'for', each variable is read in 2 parts:
@REM First we read the "= xyz" part of the variable assignation which we use, along with
@REM the original equal sign for our first assignation. Then we trim any left whitespaces.
@REM NB: default token delimiters for "for /f" are tab and space.

@set CONFIG_FILE=%WORKSPACE%\Conf\target.txt

@for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TOOL_CHAIN_TAG" ^| find /V "#"') do @set TOOL_CHAIN_TAG%%j
@for /f "tokens=*" %%i in ("%TOOL_CHAIN_TAG%") do @set TOOL_CHAIN_TAG=%%i

@for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TARGET" ^| find /V "#" ^| find /V "TARGET_ARCH"') do @set TARGET%%j
@for /f "tokens=*" %%i in ("%TARGET%") do @set TARGET=%%i

@for /f "tokens=1*" %%i in ('type %CONFIG_FILE% ^| find "TARGET_ARCH" ^|find /V "#"') do @set TARGET_ARCH%%j
@for /f "tokens=*" %%i in ("%TARGET_ARCH%") do @set TARGET_ARCH=%%i


@REM Set defaults if above variables are undefined in target.txt

@if "%TOOL_CHAIN_TAG%%"=="" @set TOOL_CHAIN_TAG=MYTOOLS
@if "%TARGET%"=="" @set TARGET=DEBUG
@if "%TARGET_ARCH%"=="" @set TARGET_ARCH=IA32
15 changes: 6 additions & 9 deletions DuetPkg/PostBuild.bat
Expand Up @@ -4,7 +4,7 @@
@REM # and platform building, so just use a bat file to do post build commands.
@REM # Originally, following post building command is for EfiLoader module.
@REM #
@REM # Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
@REM # Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
@REM #
@REM # This program and the accompanying materials
@REM # are licensed and made available under the terms and conditions of the BSD License
Expand All @@ -19,13 +19,14 @@
@set BASETOOLS_DIR=%WORKSPACE_TOOLS_PATH%\Bin\Win32
@set BOOTSECTOR_BIN_DIR=%WORKSPACE%\DuetPkg\BootSector\bin
@set PROCESSOR=""
@call %WORKSPACE%\DuetPkg\GetVariables.bat

@if "%1"=="" goto NoArch
@if "%1"=="IA32" set PROCESSOR=IA32
@if "%1"=="X64" set PROCESSOR=X64
@if NOT "%1"=="" @set TARGET_ARCH=%1
@if "%TARGET_ARCH%"=="IA32" set PROCESSOR=IA32
@if "%TARGET_ARCH%"=="X64" set PROCESSOR=X64
@if %PROCESSOR%=="" goto WrongArch

@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\DEBUG_MYTOOLS
@set BUILD_DIR=%WORKSPACE%\Build\DuetPkg%PROCESSOR%\%TARGET%_%TOOL_CHAIN_TAG%


@echo Compressing DUETEFIMainFv.FV ...
Expand Down Expand Up @@ -59,10 +60,6 @@
@goto end


:NoArch
@echo Error! Please specific the architecture.
@goto Help

:WrongArch
@echo Error! Wrong architecture.
@goto Help
Expand Down

0 comments on commit 7708d08

Please sign in to comment.