code_device/build.sh

153 lines
5.0 KiB
Bash
Raw Normal View History

# Main and minor version definition
2022-05-24 03:21:42 +00:00
oem=$1 #厂商
cpu=$(arch) #cpu架构
sys=$(cat /etc/issue)
sys=${sys%% *} #操作系统
2022-08-29 09:59:06 +00:00
2023-01-14 03:45:41 +00:00
script_dir=$(cd $(dirname $0);pwd)
cd $script_dir
echo $script_dir
pwd
2023-01-14 03:53:42 +00:00
err=0
2022-08-29 09:59:06 +00:00
mainverstr=$(cat ../sdk/include/huagao/brand.h |grep VERSION_MAIN)
mainverstr=${mainverstr: -3}
mainverstr=$(echo $mainverstr)
2022-08-29 08:51:14 +00:00
minver=$(cat ../sdk/include/huagao/brand.h |grep VERSION_SUB)
2022-08-29 09:59:06 +00:00
minver=${minver: -3}
minver=$(echo $minver)
mainverstr="s/ver_1/$mainverstr/g" #版本控制
minverstr="s/ver_2/"
2022-08-04 05:32:37 +00:00
verstr3="s/ver_3/"
ver3=10
2023-01-12 07:13:08 +00:00
cp hgsane/CMakeLists.txt hgsane/CMakeLists.txtbkp
cp hgdriver/hgdev/CMakeLists.txt hgdriver/hgdev/CMakeLists.txtbkp
cp hgdriver/wrapper/CMakeLists.txt hgdriver/wrapper/CMakeLists.txtbkp
2022-07-28 10:50:55 +00:00
#sudo apt install libudev-dev
minverstr=${minverstr}${minver}"/g"
echo "minor version replacing pattern: "${minverstr}
2022-08-29 09:59:06 +00:00
echo $mainverstr
2022-07-04 06:08:38 +00:00
if [ "$oem" == "hw" ] || [ "$oem" == "hwweb" ]; then
2022-08-04 05:32:37 +00:00
ver3=16
2023-01-12 07:13:08 +00:00
sed -i "s/DOEM_HUAGAO/DOEM_HANWANG/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/DOEM_HUAGAO/DOEM_HANWANG/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/1%m%d1/1%m%d6/g" hgdriver/wrapper/CMakeLists.txt
2022-07-04 06:13:27 +00:00
elif [ "$oem" == "lsc" ] || [ "$oem" == "lscweb" ]; then
2022-08-04 05:32:37 +00:00
ver3=14
2023-01-12 07:13:08 +00:00
sed -i "s/DOEM_HUAGAO/DOEM_LISICHENG/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/DOEM_HUAGAO/DOEM_LISICHENG/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/1%m%d1/1%m%d7/g" hgdriver/wrapper/CMakeLists.txt
elif [ "$oem" == "cts" ] || [ "$oem" == "ctsweb" ]; then
ver3=18
sed -i "s/DOEM_HUAGAO/DOEM_CANGTIAN/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/DOEM_HUAGAO/DOEM_CANGTIAN/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/1%m%d1/1%m%d8/g" hgdriver/wrapper/CMakeLists.txt
2023-02-03 06:38:22 +00:00
elif [ "$oem" == "zj" ] || [ "$oem" == "zjweb" ]; then
ver3=20
sed -i "s/DOEM_HUAGAO/DOEM_ZHONGJING/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/DOEM_HUAGAO/DOEM_ZHONGJING/g" hgdriver/wrapper/CMakeLists.txt
2023-02-03 07:21:18 +00:00
sed -i "s/1%m%d1/1%m%d9/g" hgdriver/wrapper/CMakeLists.txt
2023-01-12 07:13:08 +00:00
fi
if [ "$oem" != "" ]; then
sed -i "s/hgsane/$oem"sane"/g" hgsane/CMakeLists.txt
sed -i "s/hgdriver/$oem"driver"/g" hgdriver/wrapper/CMakeLists.txt hgsane/CMakeLists.txt
echo $oem $oem
fi
2022-08-04 05:32:37 +00:00
ver3=$[$ver3 * 10]
if [ "$cpu" == "x86_64" ]; then
2022-11-24 08:01:24 +00:00
ver3=$[$ver3 + 5]
2022-08-04 05:32:37 +00:00
elif [ "$cpu" == "aarch64" ]; then
ver3=$[$ver3 + 2]
elif [ "$cpu" == "mips64" ]; then
ver3=$[$ver3 + 3]
2022-10-14 08:15:45 +00:00
elif [ "$cpu" == "loongarch64" ]; then
ver3=$[$ver3 + 4]
2022-08-04 05:32:37 +00:00
fi
ver3=$[$ver3 * 100]
if [ "$sys" == "UnionTech" ];then
# uos ...
ver3=$[$ver3 + 20]
elif [ "$sys" == "Kylin" ];then
# kylin ...
ver3=$[$ver3 + 21]
else
# unknown OS, set as linux
ver3=$[$ver3 + 10]
fi
verstr3=${verstr3}"${ver3}/g"
echo "3rd version replacing pattern: "${verstr3}
2023-01-12 07:13:08 +00:00
sed -i ${mainverstr} hgdriver/wrapper/CMakeLists.txt
2022-08-04 05:32:37 +00:00
sed -i ${minverstr} hgdriver/wrapper/CMakeLists.txt
sed -i ${verstr3} hgdriver/wrapper/CMakeLists.txt
2022-05-06 01:20:20 +00:00
if [ "$sys" == "UnionTech" ];then
2022-05-06 09:34:17 +00:00
sed -i "s/kylin/uos/g" hgdriver/wrapper/CMakeLists.txt
2022-05-25 10:15:21 +00:00
sed -i "s/KYLIN/UOS/g" hgdriver/hgdev/CMakeLists.txt
2022-05-25 09:55:29 +00:00
sed -i "s/KYLIN/UOS/g" hgdriver/wrapper/CMakeLists.txt
2022-05-24 03:21:42 +00:00
elif [ "$sys" == "Kylin" ];then
2022-05-06 09:34:17 +00:00
sed -i "s/uos/kylin/g" hgdriver/wrapper/CMakeLists.txt
2022-05-24 06:00:46 +00:00
sed -i "s/uos/kylin/g" hgsane/CMakeLists.txt
2022-05-25 10:15:21 +00:00
sed -i "s/UOS/KYLIN/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/UOS/KYLIN/g" hgdriver/wrapper/CMakeLists.txt
2022-05-24 03:21:42 +00:00
else
2022-06-15 07:28:32 +00:00
sed -i "s/uos/kylin/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/uos/kylin/g" hgsane/CMakeLists.txt
sed -i "s/UOS/KYLIN/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/UOS/KYLIN/g" hgdriver/wrapper/CMakeLists.txt
echo "其他操作系统"
2022-05-05 07:57:02 +00:00
fi
2022-05-03 03:56:07 +00:00
2022-05-06 05:37:14 +00:00
cd ../
if [ -f ./build/CMakeCache.txt ]; then
2022-06-08 07:22:02 +00:00
echo ""
#rm -rf ./build/*
else
mkdir build
fi
2022-05-24 03:21:42 +00:00
2022-05-05 07:57:02 +00:00
cd build
2022-05-24 03:21:42 +00:00
2022-05-06 05:37:14 +00:00
cmake ../code_device
2023-01-14 07:33:49 +00:00
make -j6
make -j6
2022-05-05 07:57:02 +00:00
if [ $? -ne 0 ];then
2023-01-14 03:53:42 +00:00
err=1
echo "--------------------------------------make fail---------------------------------------"
# commented, we should restore the CMakeLists.txts...
else
2023-01-14 03:53:42 +00:00
err=0
echo "--------------------------------------make succeed------------------------------------"
fi
#make
if [ -f ../code_device/hgsane/CMakeLists.txtbkp ]; then
mv ../code_device/hgsane/CMakeLists.txtbkp ../code_device/hgsane/CMakeLists.txt
fi
2023-01-12 07:13:08 +00:00
if [ -f ../code_device/hgdriver/hgdev/CMakeLists.txtbkp ]; then
2023-01-12 07:13:08 +00:00
mv ../code_device/hgdriver/hgdev/CMakeLists.txtbkp ../code_device/hgdriver/hgdev/CMakeLists.txt
pwd
fi
2023-01-12 07:13:08 +00:00
if [ -f ../code_device/hgdriver/wrapper/CMakeLists.txtbkp ]; then
mv ../code_device/hgdriver/wrapper/CMakeLists.txtbkp ../code_device/hgdriver/wrapper/CMakeLists.txt
2023-01-12 07:13:08 +00:00
pwd
2022-05-24 06:00:46 +00:00
fi
2022-05-26 02:31:22 +00:00
2023-02-03 06:38:22 +00:00
exit $err