4 tools_dir=${HOME}/projects/RedBoot/ecos/tools/bin/
13 if [ -n "${target}" ];then
14 echo "${target} build aborted"
18 if [ `uname -s` = Linux ];then
19 PATH=/usr/local/arm/cross-gcc-1.2.0/i686-pc-linux-gnu/bin:$PATH
20 # PATH=/usr/local/arm/cross-gcc-3.4.3-2.6.17/i686-pc-linux-gnu/bin:$PATH
21 # PATH=/usr/local/arm/cross-gcc/i686-pc-linux-gnu/bin:$PATH
24 PATH=$PWD/host/tools/configtool:$PWD/build/tools/src/tools/configtool/standalone/common/:$PATH
27 ECOSCONFIG=$tools_dir/ecosconfig
29 while getopts "$options" opt;do
36 make_opts="${make_opts} -n"
51 echo "Unsupported option '$opt'"
55 shift $(($OPTIND - 1))
57 cmd_prefix=${CROSS_COMPILE-arm-linux-}
62 targets=$(cd config; ls *.ecc)
66 conf_dir="$PWD/config"
67 [ -d build ] || mkdir -p build
71 for target in ${targets};do
72 target="${target%.ecc}"
73 if [ ! -d "${target}" ];then
74 echo "Creating build dir ${target}"
79 echo "Building ${target}"
81 build_dir="$PWD/${target}_build"
82 inst_dir="$PWD/${target}_install"
84 $quiet || echo "Checking configuration ${target}"
85 echo ecosconfig --srcdir="$src_dir" --config="${conf_dir}/${target}.ecc" check
86 $doit && ${ECOSCONFIG} --srcdir="$src_dir" --config="${conf_dir}/${target}.ecc" check
89 echo "Removing build dir ${build_dir} and ${inst_dir}"
90 $doit && rm -rf "${build_dir}" "${inst_dir}"
92 if [ ! -d "${build_dir}" ];then
93 $quiet || echo "Creating build tree for ${target}"
94 echo mkdir "${build_dir}"
95 $doit && mkdir "${build_dir}"
97 echo ecosconfig --srcdir="$src_dir" --prefix="${inst_dir}" --config="${conf_dir}/${target}.ecc" tree
100 ${ECOSCONFIG} --srcdir="$src_dir" --prefix="${inst_dir}" --config="${conf_dir}/${target}.ecc" tree
101 rm -f ${target} ../../current && ln -svf ${target} ../../current
102 rm -f ../install && ln -svf ${target}_install ../install
103 rm -f ../build && ln -svf ${target}_build ../build
107 $quiet || echo "Cleaning up build tree for ${target}"
108 make ${make_opts} COMMAND_PREFIX=${cmd_prefix} clean
111 $quiet || echo "Compiling ${target}"
112 [ -d "${build_dir}" ] && make -C "${build_dir}" COMMAND_PREFIX=${cmd_prefix} ${make_opts}
115 if $doit && [ -s "${inst_dir}/bin/redboot.elf" ];then
116 ${cmd_prefix}objdump -d "${inst_dir}/bin/redboot.elf" | grep '<Now_in_SDRAM>:' | grep -v 'a1f00[89a-f]'
118 echo "${target} build finished"