2022-05-17 10:06:33 +00:00
|
|
|
# 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-07-13 09:00:13 +00:00
|
|
|
# add PIDs of OEM for build DS component ... 2023-07-13
|
|
|
|
declare -a devpids
|
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
docpath="" #哪种打包方式 uos 还是kylin
|
|
|
|
|
|
|
|
#web so 只走kylin的打包方式
|
|
|
|
|
|
|
|
if [ $2 ];
|
|
|
|
then
|
|
|
|
docpath=$2 #可以手动设置操作系统来进行打包
|
|
|
|
echo "$docpath"
|
|
|
|
else
|
|
|
|
if [ "$sys" == "UnionTech" ];
|
|
|
|
then
|
|
|
|
docpath=uos
|
|
|
|
else
|
|
|
|
docpath=kylin
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
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" #版本控制
|
|
|
|
|
2022-05-18 06:05:35 +00:00
|
|
|
minverstr="s/ver_2/"
|
2022-08-04 05:32:37 +00:00
|
|
|
verstr3="s/ver_3/"
|
|
|
|
ver3=10
|
2022-05-17 10:06:33 +00:00
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
|
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
|
2022-05-18 06:05:35 +00:00
|
|
|
minverstr=${minverstr}${minver}"/g"
|
|
|
|
echo "minor version replacing pattern: "${minverstr}
|
2022-08-29 09:59:06 +00:00
|
|
|
echo $mainverstr
|
2022-05-17 09:21:01 +00:00
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
if [ "$oem" == "hw" ]; 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
|
2023-07-13 09:00:13 +00:00
|
|
|
|
|
|
|
devpids=(1000 1002 7000 7002 7039 8000 9000)
|
2023-03-07 06:47:11 +00:00
|
|
|
elif [ "$oem" == "lsc" ]; 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
|
2023-07-13 09:00:13 +00:00
|
|
|
|
|
|
|
devpids=(8420 8520 8620 8730)
|
2023-03-07 06:47:11 +00:00
|
|
|
elif [ "$oem" == "cts" ]; then
|
2023-01-12 07:13:08 +00:00
|
|
|
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
|
|
|
|
2023-07-13 09:00:13 +00:00
|
|
|
devpids=(138 238 6005 6006)
|
2023-03-07 06:47:11 +00:00
|
|
|
elif [ "$oem" == "zj" ]; then
|
2023-02-03 06:38:22 +00:00
|
|
|
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-07-13 09:00:13 +00:00
|
|
|
|
|
|
|
devpids=(9200)
|
2023-03-10 09:36:20 +00:00
|
|
|
elif [ "$oem" == "zg" ]; then
|
|
|
|
ver3=17
|
|
|
|
|
|
|
|
sed -i "s/DOEM_HUAGAO/DOEM_ZIGUANG/g" hgdriver/hgdev/CMakeLists.txt
|
|
|
|
sed -i "s/DOEM_HUAGAO/DOEM_ZIGUANG/g" hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i "s/1%m%d1/1%m%d9/g" hgdriver/wrapper/CMakeLists.txt
|
2023-07-13 09:00:13 +00:00
|
|
|
|
|
|
|
devpids=(200 210)
|
|
|
|
else
|
|
|
|
devpids=(100 200 300 400)
|
|
|
|
oem="hg"
|
2023-01-12 07:13:08 +00:00
|
|
|
fi
|
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
project_sanename="project(sane-$oem"sane")"
|
|
|
|
project_drivername="project($oem"driver")"
|
|
|
|
echo $project_sanename $project_drivername
|
|
|
|
#project(sane-hgsane)
|
|
|
|
pwd
|
2023-01-12 07:13:08 +00:00
|
|
|
if [ "$oem" != "" ]; then
|
2023-03-07 06:47:11 +00:00
|
|
|
|
|
|
|
#sed -i "1s/.*/$project_sanename/g" hgsane/CMakeLists.txt
|
|
|
|
#sed -i "1s/.*/$project_drivername/g" hgdriver/wrapper/CMakeLists.txt
|
2023-01-12 07:13:08 +00:00
|
|
|
sed -i "s/hgsane/$oem"sane"/g" hgsane/CMakeLists.txt
|
|
|
|
sed -i "s/hgdriver/$oem"driver"/g" hgdriver/wrapper/CMakeLists.txt hgsane/CMakeLists.txt
|
2023-03-07 06:47:11 +00:00
|
|
|
|
2023-01-12 07:13:08 +00:00
|
|
|
echo $oem $oem
|
2022-05-17 01:46:26 +00:00
|
|
|
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
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
sed -i ${mainverstr} hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i ${minverstr} hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i ${verstr3} hgdriver/wrapper/CMakeLists.txt
|
2022-08-04 05:32:37 +00:00
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
#设置库的链接路径是 kylin 还是uos
|
|
|
|
if [ "$sys" == "UnionTech" ];
|
|
|
|
then
|
2022-05-06 09:34:17 +00:00
|
|
|
sed -i "s/kylin/uos/g" hgdriver/wrapper/CMakeLists.txt
|
2023-03-07 06:47:11 +00:00
|
|
|
sed -i "s/kylin/uos/g" hgsane/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
|
|
|
|
|
2022-05-24 03:21:42 +00:00
|
|
|
else
|
2023-03-07 06:47:11 +00:00
|
|
|
sed -i "s/uos/kylin/g" hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i "s/uos/kylin/g" hgsane/CMakeLists.txt
|
|
|
|
|
2022-06-15 07:28:32 +00:00
|
|
|
echo "其他操作系统"
|
2022-05-05 07:57:02 +00:00
|
|
|
fi
|
2022-05-03 03:56:07 +00:00
|
|
|
|
2023-03-07 06:47:11 +00:00
|
|
|
#设置代码宏定义
|
|
|
|
if [ "$docpath" == "uos" ];
|
|
|
|
then
|
|
|
|
sed -i "s/-DKYLIN/-DUOS/g" hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i "s/-DKYLIN/-DUOS/g" hgdriver/hgdev/CMakeLists.txt
|
|
|
|
else
|
|
|
|
sed -i "s/-DUOS/-DKYLIN/g" hgdriver/wrapper/CMakeLists.txt
|
|
|
|
sed -i "s/-DUOS/-DKYLIN/g" hgdriver/hgdev/CMakeLists.txt
|
|
|
|
fi
|
|
|
|
echo $docpath
|
|
|
|
|
2022-05-06 05:37:14 +00:00
|
|
|
cd ../
|
2022-05-20 06:48:53 +00:00
|
|
|
if [ -f ./build/CMakeCache.txt ]; then
|
2022-06-08 07:22:02 +00:00
|
|
|
echo ""
|
|
|
|
#rm -rf ./build/*
|
2022-05-20 06:48:53 +00:00
|
|
|
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...
|
2022-05-21 01:19:21 +00:00
|
|
|
else
|
2023-01-14 03:53:42 +00:00
|
|
|
err=0
|
|
|
|
echo "--------------------------------------make succeed------------------------------------"
|
2022-05-21 01:19:21 +00:00
|
|
|
fi
|
|
|
|
#make
|
2022-05-17 01:46:26 +00:00
|
|
|
|
2022-05-17 07:57:09 +00:00
|
|
|
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
|
|
|
|
2022-05-17 07:57:09 +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
|
2022-05-17 07:57:09 +00:00
|
|
|
fi
|
2023-01-12 07:13:08 +00:00
|
|
|
|
2022-05-17 07:57:09 +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-07-13 09:00:13 +00:00
|
|
|
|
|
|
|
echo "******************************************************************************************"
|
|
|
|
echo "* *"
|
2023-07-19 01:23:29 +00:00
|
|
|
echo "* build DS components ... *"
|
2023-07-13 09:00:13 +00:00
|
|
|
echo "* *"
|
|
|
|
echo "******************************************************************************************"
|
2023-07-19 01:23:29 +00:00
|
|
|
echo
|
2023-07-13 09:00:13 +00:00
|
|
|
|
2023-07-19 01:23:29 +00:00
|
|
|
choice="y"
|
2023-07-13 09:00:13 +00:00
|
|
|
if [ "$choice" == "y" ] || [ "$choice" == "Y" ]; then
|
2023-07-14 03:35:50 +00:00
|
|
|
cd ../code_device/twain/dsm
|
|
|
|
./build.sh $docpath $cpu
|
|
|
|
|
|
|
|
cd ../ds
|
2023-07-13 09:00:13 +00:00
|
|
|
for pid in ${devpids[@]}
|
|
|
|
do
|
2023-07-14 03:35:50 +00:00
|
|
|
./build.sh $oem $pid "nocopy"
|
2023-07-13 09:00:13 +00:00
|
|
|
done
|
|
|
|
cd ../
|
|
|
|
fi
|
|
|
|
|
2023-02-03 06:38:22 +00:00
|
|
|
exit $err
|