#! /usr/bin/bash -
#################################################################################################################
# file_name: mul_project.sh
# Author : Vincent.chen
# Date : 2009-01-24
# Platform : Cygwin Platform
# Usage : in order to complie multiple project which just have diff version siwtch
# (1) put this file under the floder of project
# (2) use "chmod a+x mul_project.sh" command to change it to executable and execute it
# by "./mul_project.sh" under the project's directory.
# (3) the result is under the "./comp_result" directory.
#################################################################################################################
# ver_switch and the ver_name must be consistency within them
ver_switch="DIGICEL_EI_SALVADOR DIGICEL_PANAMA DIGICEL_HONDURAS CALRO_PERU CSZ_MOVILNET CSZ_NORMAL_UT"
ver_name=( C2010_1.10.EU_EI_SAL C2010_1.10.US_PANAMA C2010_1.10.US_HONDURAS C2010_1.10.US_PERU C2010_1.10.US_MOVILNET C2010_1.10.US_NORMAL_UT )
# compile command
mak_prj="make CELLONSZ23C_07B gprs new"
# for Cygwin Path Variable protected
CYGWIN_PATH_DEL_1="/usr/local/bin"
CYGWIN_PATH_DEL_2="/usr/bin"
CYGWIN_PATH_DEL_3="/bin"
CYGWIN_PATH_DEL_4="/usr/X11R6/bin"
OLDPATH="$PATH"
#export PATH
((index = 0))
for vw in $ver_switch
do
# delete the build directory
if [ -d ./build ] ; then
/usr/bin/rm -rf build
fi
# modify the config
if [ -e ./make/CELLONSZ23*.mak ] ; then
pushd .
cd ./make
mak_file_name=`ls -l CELLONSZ23*.mak | awk '{print $9;}'`
# echo $mak_file_name
sed -i -e "s/^CSZ_SUB_PROJECT *= *[a-zA-Z_]*/CSZ_SUB_PROJECT = $vw/" "$mak_file_name"
popd
fi
# modify the version
if [ -e ./make/Verno_CELLONSZ23*.bld ] ; then
pushd .
cd ./make
ver_file_name=`ls -l Verno_CELLONSZ23*.bld | awk '{print $9;}'`
# echo $ver_file_name
ver_name_item=${ver_name[${index}]}
# echo $ver_name_item
sed -i -e "s/^VERNO *= *[^ ]*/VERNO = ${ver_name[${index}]}/" "$ver_file_name"
popd
fi
# complie
PATH=$(echo $PATH | sed -e "s;:\?$CYGWIN_PATH_DEL_4;;" -e 's;$CYGWIN_PATH_DEL_4:\?;;')
PATH=$(echo $PATH | sed -e "s;:\?$CYGWIN_PATH_DEL_1;;" -e 's;$CYGWIN_PATH_DEL_1:\?;;')
PATH=$(echo $PATH | sed -e "s;:\?$CYGWIN_PATH_DEL_2;;" -e 's;$CYGWIN_PATH_DEL_2:\?;;')
PATH=$(echo $PATH | sed -e "s;:\?$CYGWIN_PATH_DEL_3;;" -e 's;$CYGWIN_PATH_DEL_3:\?;;')
cmd /C $mak_prj
PATH=$CYGWIN_PATH_DEL_1:$CYGWIN_PATH_DEL_2:$CYGWIN_PATH_DEL_3:$CYGWIN_PATH_DEL_4:$PATH
# backup the result
mkdir -p "./comp_result/${ver_name[${index}]}"
output="./comp_result/${ver_name[${index}]}"
mv ./build/CELLON*/CELLONSZ23*.bin $output
mv ./build/CELLON*/scatCELLON*.txt $output
cp ./tst/database_classb/BPLGUInfo* $output
# iterate the array of ver_name
((index = index+1))
# echo $index
done
阅读(899) | 评论(0) | 转发(0) |