2 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
3 # 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 # Uses an external BaseTools project
45 # export EDK_TOOLS_PATH=`pwd`/../BaseTools
46 # Uses the BaseTools in edk2
47 export EDK_TOOLS_PATH
=`pwd`/BaseTools
48 source edksetup.sh BaseTools
50 echo Building from
: $WORKSPACE
54 # Pick a default tool type for a given OS
58 TARGET_TOOLS
=RVCT31CYGWIN
65 Major
=$
(uname
-r | cut
-f 1 -d '.')
68 # Not supported by this open source project
79 if [[ $arg == RELEASE
]];
85 BUILD_ROOT
=$WORKSPACE/Build
/BeagleBoard
/"$TARGET"_
"$TARGET_TOOLS"
86 GENERATE_IMAGE
=$WORKSPACE/BeagleBoardPkg
/Tools
/generate_image
87 FLASH_BOOT
=$BUILD_ROOT/FV
/BeagleBoard_EFI_flashboot.fd
89 if [[ ! -e $EDK_TOOLS_PATH/Source
/C
/bin
]];
91 # build the tools if they don't yet exist
92 echo Building tools
: $EDK_TOOLS_PATH
93 make -C $EDK_TOOLS_PATH
95 echo using prebuilt tools
99 # Build the edk2 BeagleBoard code
101 if [[ $TARGET == RELEASE
]]; then
102 build
-p $WORKSPACE/BeagleBoardPkg
/BeagleBoardPkg.dsc
-a ARM
-t $TARGET_TOOLS -b $TARGET -D DEBUG_TARGET
=RELEASE
$2 $3 $4 $5 $6 $7 $8
104 build
-p $WORKSPACE/BeagleBoardPkg
/BeagleBoardPkg.dsc
-a ARM
-t $TARGET_TOOLS -b $TARGET $1 $2 $3 $4 $5 $6 $7 $8
110 if [[ $arg == clean
]]; then
111 # no need to post process if we are doing a clean
113 elif [[ $arg == cleanall
]]; then
114 make -C $EDK_TOOLS_PATH clean
115 make -C $WORKSPACE/BeagleBoardPkg
/Tools clean
123 # Build the tool used to patch the FLASH image to work with the Beagle board ROM
125 if [[ ! -e $GENERATE_IMAGE ]];
127 make -C $WORKSPACE/BeagleBoardPkg
/Tools
130 echo Patching FD to work with BeagleBoard ROM
134 # Ram starts at 0x80000000
135 # OMAP 3530 TRM defines 0x80008000 as the entry point
136 # The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry
137 # point looks so strange.
138 # OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
140 $GENERATE_IMAGE -D $WORKSPACE/BeagleBoardPkg
/ConfigurationHeader.dat
-E 0x80008000 -I $BUILD_ROOT/FV
/BEAGLEBOARD_EFI.fd
-O $FLASH_BOOT
142 echo Creating debugger scripts
143 process_debug_scripts
$WORKSPACE/BeagleBoardPkg
/Debugger_scripts