mtk modem快速编译脚本

公司的modem代码一直由驱动维护,分为新编译方式和传统编译方式两种方法,在编译时需要手动查找需要编译的modem是在新编译方式的脚本里,还是传统编译方式的脚本里,然后再覆盖不同编译脚本,再执行编译;整个查找过程耗时且繁琐,故重写编译脚本执行快速编译。

明确需求:
1.简化传统modem查找编译过程:从bcompile37ali.sh脚本中查找到相应modem的编译代码,覆盖bcompile37ali_single.sh,再执行bcompile37ali_single.sh进行编译。

2.简化新modem查找编译过程:查找modem_name.sh脚本,覆盖mdmk.sh脚本,再执行mdmk.sh脚本编译。

使用方式:
./lmk_modem.sh modem_name

脚本代码:

——lttg——

#!/bin/sh

MODEM_NAME=$1
GREEN="\033[0;32m"
NO_COLOR="\033[0m"
RED="\033[0;31m"
YELLOW="\033[1;33m"

if [ ! -n "$MODEM_NAME" ] ;then
    echo "--------------------------------------------"
    echo ""
    echo ""
    echo ""
    echo "please used like './lmk_modem.sh modem_name'"
    echo ""
    echo ""
    echo ""
    echo "--------------------------------------------"

    exit
fi

NEW_MODEM=`eval echo '$'MODEM_NAME |cut -d '_' -f 1-2`
OLD_MODEM=`eval echo '$'MODEM_NAME |cut -d '_' -f 1-3`

echo " "
echo " "
echo $NEW_MODEM
echo $OLD_MODEM
echo " "
echo " "


cd teksun_modem/mdcfg_list/
SH_MODEM=$(find ./ -name *${NEW_MODEM}*.sh)

if  [ -n "$SH_MODEM" ] ;then

    rm -rf ../mdcfg.sh
    cp -rf $SH_MODEM ../mdcfg.sh
    cd -
    ./mdmk.sh
    exit 1;

else
    cd -
    str=$(cat bcompile37ali.sh)
    modem_exit=`echo ${str} |grep "${OLD_MODEM}"|wc -l` 

if [ $modem_exit = "1" ];then

    true >bcompile37ali_single.sh
    echo "#!/bin/sh" >>bcompile37ali_single.sh

    start_line=$(grep -n $OLD_MODEM bcompile37ali.sh | head -n 1 | cut -d : -f 1)
    end_line=$(grep -n $OLD_MODEM bcompile37ali.sh | tail -1 | cut -d : -f 1)

    for((i=$start_line;i<=$end_line;i=i+1))
        do
        head -n $i bcompile37ali.sh | tail -n 1 >>bcompile37ali_single.sh
    done

    ./bcompile37ali_single.sh
    echo " "
    echo " "
    exit 1;

else
    echo " "
    echo " "
    echo "未找到此modem,请联系相关驱动"
    echo " "
    echo " "
    exit 1;

fi
    exit 1;
fi

——c2k——

#!/bin/sh

MODEM_NAME=$1

if [ ! -n "$MODEM_NAME" ] ;then
    echo "--------------------------------------------"
    echo ""
    echo ""
    echo ""
    echo "please used like './lmk_modem.sh modem_name'"
    echo ""
    echo ""
    echo ""
    echo "--------------------------------------------"

    exit
fi


NEW_MODEM=`eval echo '$'MODEM_NAME |cut -d '_' -f 1-2`



echo " "
echo " "
echo $NEW_MODEM
echo $OLD_MODEM
echo " "
echo " "


cd teksun_modem/mdcfg_list/
SH_MODEM=$(find ./ -name *${NEW_MODEM}*.bat)

if  [ -n "$SH_MODEM" ] ;then

    rm -rf ../mdcfg.bat
    cp -rf $SH_MODEM ../mdcfg.bat
    cd -

        echo " "
        echo " "
        echo "teksun:$NEW_MODEM-----请在windows下执行mdmk.bat批处理文件-------"
        echo " "
        echo " "
    exit 1;

else
    cd -
    str=$(cat bcompile37alic2k.sh)
    modem_exit=`echo ${str} |grep "${MODEM_NAME}"|wc -l` 

if [ $modem_exit = "1" ];then

    true >bcompile37alic2k_single.sh
    echo "#!/bin/sh" >>bcompile37alic2k_single.sh

    arr=`eval echo '$'$(grep -n $MODEM_NAME bcompile37alic2k.sh) |cut -d " " -f 3`

    OLD_MODEM=`eval echo '$'arr|cut -d '_' -f 1-3`
        echo $OLD_MODEM

    cp_line=$(grep -n $MODEM_NAME bcompile37alic2k.sh | head -n 1 | cut -d : -f 1)
    start_line=$(grep -n $OLD_MODEM bcompile37alic2k.sh | head -n 1 | cut -d : -f 1)
    end_line=`sed -n '/'$OLD_MODEM'/{:a;n;/fi/{=;q};ba;}' bcompile37alic2k.sh`

    for((i=$start_line;i<=$end_line;i=i+1))
        do
        head -n $i bcompile37alic2k.sh | tail -n 1 >>bcompile37alic2k_single.sh
    done

     head -n $cp_line bcompile37alic2k.sh | tail -n 1 >>bcompile37alic2k_single.sh

    ./bcompile37alic2k_single.sh
    echo " "
    echo " "
    exit 1;

else
    echo " "
    echo " "
    echo "未找到此modem,请联系相关驱动"
    echo " "
    echo " "
    exit 1;

fi
    exit 1;
fi
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值