code_device/build.sh

107 lines
3.5 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="01"
minverstr="s/ver_2/"
if [ "$sys" == "UnionTech" ];then
# uos ...
if [ "$cpu" == "x86_64" ]; then
minver="20"${minver}
elif [ "$cpu" == "aarch64" ]; then
minver="21"${minver}
elif [ "$cpu" == "mips64" ]; then
minver="22"${minver}
else
minver="29"${minver}
fi
elif [ "$sys" == "Kylin" ];then
# kylin ...
if [ "$cpu" == "x86_64" ]; then
minver="30"${minver}
elif [ "$cpu" == "aarch64" ]; then
minver="31"${minver}
elif [ "$cpu" == "mips64" ]; then
minver="32"${minver}
else
minver="39"${minver}
fi
else
# unknown OS
if [ "$cpu" == "x86_64" ]; then
minver="90"${minver}
elif [ "$cpu" == "aarch64" ]; then
minver="91"${minver}
elif [ "$cpu" == "mips64" ]; then
minver="92"${minver}
else
minver="99"${minver}
fi
fi
minverstr=${minverstr}${minver}"/g"
echo "minor version replacing pattern: "${minverstr}
sed -ibkp ${mainverstr} hgdriver/wrapper/CMakeLists.txt
sed -i ${minverstr} hgdriver/wrapper/CMakeLists.txt
if [ "$oem" == "hw" ]; then
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" ]; then
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
if [ "$sys" == "UnionTech" ];then
sed -i "s/kylin/uos/g" hgdriver/wrapper/CMakeLists.txt
elif [ "$sys" == "Kylin" ];then
sed -i "s/uos/kylin/g" hgdriver/wrapper/CMakeLists.txt
else
echo "unknown os"
fi
cd ../
if [ -f ./build/CMakeCache.txt ]; then
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