code_device/build.sh

112 lines
3.9 KiB
Bash
Executable File

# Main and minor version definition
oem=$1 #厂商
cpu=$(arch) #cpu架构
sys=$(cat /etc/issue)
sys=${sys%% *} #操作系统
mainverstr="s/ver_1/4/g" #版本控制
minver="21"
minverstr="s/ver_2/"
verstr3="s/ver_3/"
ver3=10
#sudo apt install libudev-dev
minverstr=${minverstr}${minver}"/g"
echo "minor version replacing pattern: "${minverstr}
if [ "$oem" == "hw" ] || [ "$oem" == "hwweb" ]; then
ver3=16
sed -ibkp "s/-DOEM_HUAGAO/-DOEM_HANWANG/g" hgsane/CMakeLists.txt
sed -i "s/hgsane/hwsane/g" hgsane/CMakeLists.txt
sed -i "s/hgdriver/hwdriver/g" hgsane/CMakeLists.txt
sed -ibkp "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/hgdriver/hwdriver/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/1%m%d1/1%m%d6/g" hgdriver/wrapper/CMakeLists.txt
elif [ "$oem" == "lsc" ] || [ "$oem" == "lscweb" ]; then
ver3=14
sed -ibkp "s/-DOEM_HUAGAO/-DOEM_LISICHENG/g" hgsane/CMakeLists.txt
sed -i "s/hgsane/lscsane/g" hgsane/CMakeLists.txt
sed -i "s/hgdriver/lscdriver/g" hgsane/CMakeLists.txt
sed -ibkp "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/hgdriver/lscdriver/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/1%m%d1/1%m%d7/g" hgdriver/wrapper/CMakeLists.txt
fi
ver3=$[$ver3 * 10]
if [ "$cpu" == "x86_64" ]; then
ver3=$[$ver3 + 1]
elif [ "$cpu" == "aarch64" ]; then
ver3=$[$ver3 + 2]
elif [ "$cpu" == "mips64" ]; then
ver3=$[$ver3 + 3]
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}
sed -ibkp ${mainverstr} hgdriver/wrapper/CMakeLists.txt
sed -i ${minverstr} hgdriver/wrapper/CMakeLists.txt
sed -i ${verstr3} hgdriver/wrapper/CMakeLists.txt
if [ "$sys" == "UnionTech" ];then
sed -i "s/kylin/uos/g" hgdriver/wrapper/CMakeLists.txt
sed -i "s/KYLIN/UOS/g" hgdriver/hgdev/CMakeLists.txt
sed -i "s/KYLIN/UOS/g" hgdriver/wrapper/CMakeLists.txt
elif [ "$sys" == "Kylin" ];then
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
else
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 "其他操作系统"
fi
cd ../
if [ -f ./build/CMakeCache.txt ]; then
echo ""
#rm -rf ./build/*
else
mkdir build
fi
cd build
cmake ../code_device
make
if [ $? -ne 0 ];then
echo "--------------------------------------make fail---------------------------------------"
#exit 1 # commented, we should restore the CMakeLists.txts...
else
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
if [ -f ../code_device/hgdriver/hgdev/CMakeLists.txtbkp ]; then
mv ../code_device/hgdriver/hgdev/CMakeLists.txtbkp ../code_device/hgdriver/hgdev/CMakeLists.txt
fi
if [ -f ../code_device/hgdriver/wrapper/CMakeLists.txtbkp ]; then
mv ../code_device/hgdriver/wrapper/CMakeLists.txtbkp ../code_device/hgdriver/wrapper/CMakeLists.txt
fi