1@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
2@REM This program and the accompanying materials
3@REM are licensed and made available under the terms and conditions of the BSD License
4@REM which accompanies this distribution.  The full text of the license may be found at
5@REM http://opensource.org/licenses/bsd-license.php
6@REM
7@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
8@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
9@REM
10
11@REM Example usage of this script. default is a DEBUG build
12@REM b
13@REM b clean
14@REM b release 
15@REM b release clean
16@REM b -v -y build.log
17
18ECHO OFF
19@REM Setup Build environment. Sets WORKSPACE and puts build in path
20CALL ..\edksetup.bat
21
22@REM Set for tools chain. Currently ARMGCC
23SET TARGET_TOOLS=ARMGCC
24SET TARGET=DEBUG
25
26@if /I "%1"=="RELEASE" (
27  @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it 
28  SET TARGET=RELEASE
29  shift /1
30)
31
32SET BUILD_ROOT=%WORKSPACE%\Build\BeagleBoard\%TARGET%_%TARGET_TOOLS%
33
34@REM Build the Beagle Board firmware and creat an FD (FLASH Device) Image.
35CALL build -p BeagleBoardPkg\BeagleBoardPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8
36@if ERRORLEVEL 1 goto Exit
37
38@if /I "%1"=="CLEAN" goto Clean
39
40@REM
41@REM Ram starts at 0x80000000
42@REM OMAP 3530 TRM defines 0x80008208 as the entry point
43@REM The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
44@REM point looks so strange. 
45@REM OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
46@REM
47@cd Tools
48
49ECHO Building tools...
50CALL nmake 
51
52ECHO Patching image with ConfigurationHeader.dat
53CALL GenerateImage -D ..\ConfigurationHeader.dat -E 0x80008208 -I %BUILD_ROOT%\FV\BEAGLEBOARD_EFI.fd -O %BUILD_ROOT%\FV\BeagleBoard_EFI_flashboot.fd
54
55ECHO Patching ..\Debugger_scripts ...
56SET DEBUGGER_SCRIPT=..\Debugger_scripts
57@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (
58  @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW  %WORKSPACE%
59)
60
61cd ..
62:Exit
63EXIT /B
64
65:Clean
66cd Tools
67CALL nmake clean
68cd ..
69