2 # Copyright (c) 2008 - 2009, Apple, Inc. All rights reserved.
3 # All rights reserved. This program and the accompanying materials
4 # are licensed and made available under the terms and conditions of the BSD License
5 # which accompanies this distribution. The full text of the license may be found at
6 # http://opensource.org/licenses/bsd-license.php
8 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 function process_debug_scripts
{
17 for filename
in `ls $1`
19 sed -e "s@ZZZZZZ@$BUILD_ROOT@g" -e "s@WWWWWW@$WORKSPACE@g" \
21 > "$BUILD_ROOT/$filename"
23 #For ARMCYGWIN, we have to change /cygdrive/c to c:
24 if [[ $TARGET_TOOLS == RVCT31CYGWIN
]]
26 mv "$BUILD_ROOT/$filename" "$BUILD_ROOT/$filename"_temp
27 sed -e "s@/cygdrive/\(.\)@\1:@g" \
28 "$BUILD_ROOT/$filename"_temp \
29 > "$BUILD_ROOT/$filename"
30 rm -f "$BUILD_ROOT/$filename"_temp
38 # Setup workspace if it is not set
40 if [ -z "$WORKSPACE" ]
42 echo Initializing workspace
44 export EDK_TOOLS_PATH
=`pwd`/BaseTools
45 source edksetup.sh BaseTools
47 echo Building from
: $WORKSPACE
51 # Pick a default tool type for a given OS
55 TARGET_TOOLS
=RVCT31CYGWIN
62 Major
=$
(uname
-r | cut
-f 1 -d '.')
65 # Not supported by this open source project
73 BUILD_ROOT
=$WORKSPACE/Build
/BeagleBoard
/DEBUG_
"$TARGET_TOOLS"
74 GENERATE_IMAGE
=$WORKSPACE/BeagleBoardPkg
/Tools
/generate_image
75 FLASH_BOOT
=$BUILD_ROOT/FV
/BeagleBoard_EFI_flashboot.fd
77 if [[ ! -f `which build` ||
! -f `which GenFv` ]];
79 # build the tools if they don't yet exist
81 make -C $WORKSPACE/BaseTools
83 echo using prebuilt tools
87 # Build the edk2 BeagleBoard code
89 build
-p $WORKSPACE/BeagleBoardPkg
/BeagleBoardPkg.dsc
-a ARM
-t $TARGET_TOOLS $1 $2 $3 $4 $5 $6 $7 $8
93 if [[ $arg == clean
]]; then
94 # no need to post process if we are doing a clean
96 elif [[ $arg == cleanall
]]; then
97 make -C BaseTools
/ clean
98 make -C $WORKSPACE/BeagleBoardPkg
/Tools clean
106 # Build the tool used to patch the FLASH image to work with the Beagle board ROM
108 if [[ ! -e $GENERATE_IMAGE ]];
110 make -C $WORKSPACE/BeagleBoardPkg
/Tools
113 echo Patching FD to work with BeagleBoard ROM
117 # Ram starts at 0x80000000
118 # OMAP 3530 TRM defines 0x80008208 as the entry point
119 # The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry
120 # point looks so strange.
121 # OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
123 $GENERATE_IMAGE -D $WORKSPACE/BeagleBoardPkg
/ConfigurationHeader.dat
-E 0x80008208 -I $BUILD_ROOT/FV
/BEAGLEBOARD_EFI.fd
-O $FLASH_BOOT
125 echo Creating debugger scripts
126 process_debug_scripts
$WORKSPACE/BeagleBoardPkg
/Debugger_scripts