X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=build.sh;h=eca1640393ba18c56fe33e9c06aaf3569834b148;hb=bddb57e9fe6b064c3df85166a402d409710837f9;hp=7681c6c42bef15b6b9908f4f7338add7c450e5ae;hpb=50b52bf012fcf261e5ebf8fca86bfd3a863a114e;p=karo-tx-redboot.git diff --git a/build.sh b/build.sh index 7681c6c4..eca16403 100644 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ -#!/bin/sh -options="cnqrR" +#!/bin/bash +options="cnqrRp:" release=false tools_dir="$PWD/tools/bin" ecosconfig="$tools_dir/tools/configtool/standalone/common/ecosconfig" @@ -9,13 +9,14 @@ clean=false rebuild=false doit=true make_opts= - -cmd_prefix=${CROSS_COMPILE-arm-926ejs-linux-gnu-} +pattern="*" error() { + rc=$? if [ -n "${target}" ];then echo "${target} build aborted" fi + return $rc } build_host_tools() { @@ -41,6 +42,7 @@ build_host_tools() { exit 1 fi + export TCL_INC_DIR="$(. /usr/lib/tclConfig.sh; echo $TCL_INCLUDE_SPEC | sed 's/^-I//')" mkdir -p "$tools_dir" cd "$tools_dir" sh ../src/configure $config_opts @@ -48,10 +50,6 @@ build_host_tools() { cd "$wd" } -if [ `uname -s` = Linux ];then - PATH="/usr/local/arm/cross-gcc-4.2.0/i686-pc-linux-gnu/bin:$PATH" -fi - while getopts "$options" opt;do case $opt in c) @@ -61,6 +59,9 @@ while getopts "$options" opt;do doit=false make_opts="${make_opts} -n" ;; + p) + pattern="$OPTARG" + ;; q) quiet=true ;; @@ -83,7 +84,7 @@ shift $(($OPTIND - 1)) if [ $# -gt 0 ];then targets="$@" else - targets=$(cd config; ls *.ecc) + targets=$(cd config;ls $pattern.ecc) fi set -e @@ -147,20 +148,18 @@ for target in ${targets};do if $clean;then $quiet || echo "Cleaning up build tree for ${target}" - make ${make_opts} COMMAND_PREFIX=${cmd_prefix} clean + make ${make_opts} clean fi $quiet || echo "Compiling ${target}" [ -d "${build_dir}" ] - make -C "${build_dir}" COMMAND_PREFIX=${cmd_prefix} ${make_opts} + make -C "${build_dir}" ${make_opts} cd $wd if $doit && [ -s "${inst_dir}/bin/redboot.elf" ];then bootstrap_addr="$(${cmd_prefix}nm "${inst_dir}/bin/redboot.elf" \ | sed '/Now_in_SDRAM/!d;s/ .*$//')" - if ! echo "$bootstrap_addr" | grep -i '^[0-9a-f]\{4\}0[0-7]';then -# if ! ${cmd_prefix}nm "${inst_dir}/bin/redboot.elf" \ -# | grep 'Now_in_SDRAM' | grep -i '^[0-9a-f]\{4\}0[0-7]';then + if [ -n "$bootstrap_addr" ] && ! echo "$bootstrap_addr" | grep -i '^[0-9a-f]\{4\}0[0-7]';then echo "ERROR: Bootstrap does not fit into first NAND page!" echo $bootstrap_addr exit 1