#qt_com=$(arch) qt_com=`arch` if [ $qt_com = "aarch64" ];then qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake" else qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake" fi if [ $(uname -m) == "x86_64" ]; then qtmake="/usr/lib/x86_64-linux-gnu/qt5/bin/qmake" fi if [ ! $qtmake ];then echo -e "\e[33m qtmake not set, auto find it\e[0m" qtmake=`find /opt -name "qmake" 2>/dev/null | grep 'gcc_64'` fi if [ ! $qtmake ];then echo -e "\e[33m can't find qmake \e[0m" exit 1 fi echo -e "\e[33m qtmake: $qtmake \e[0m" show_error=$1 has_error=0 check_result() { if [ "$build_result" != 0 -a "$show_error" == "s" ];then echo -e "\e[33m*************************************************\e[0m" echo -e "\e[31m Please modify build error first,Exit!\e[0m" echo -e "\e[33m*************************************************\e[0m" exit 1 fi } store_result() { if [ "$build_result" != 0 ];then echo -e "\e[33m*************************************************\e[0m" echo -e "\e[31m Please modify build error first,Exit!\e[0m" echo -e "\e[33m*************************************************\e[0m" error_log="$error_log \n `pwd`" has_error=1 fi } show_result() { if [ "$has_error" != 0 ];then echo -e "\e[33m*************************************************\e[0m" echo -e "\e[31mPlease modify build error first,Exit!\e[0m" echo -e "\e[31m$error_log\e[0m" echo -e "\e[33m*************************************************\e[0m" else echo -e "\e[33m*************************************************\e[0m" echo -e "\e[31m Build Success! \e[0m" echo -e "\e[33m*************************************************\e[0m" fi } MAKEOPT=-j8 mkdir bin cd src/include/proto sh ./protomake.sh cd ../../../ cd src/common/modulecomm/ $qtmake modulecomm.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libmodulecomm.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/xmlparam/ $qtmake xmlparam.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libxmlparam.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ndt_cpu/ $qtmake ndt_cpu.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libndt_cpu.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivlog/ $qtmake ivlog.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivlog.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivfault/ $qtmake ivfault.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivfault.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/platformif/ $qtmake platformif.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libplatformif.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivexit/ $qtmake ivexit.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivexit.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivbacktrace/ $qtmake ivbacktrace.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivbacktrace.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivchart/ $qtmake ivchart.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivchart.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/ivservice/ $qtmake ivservice.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp libivservice.so ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ cd src/common/makeprotointerface/ $qtmake makeprotointerface.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp makeprotointerface ./../../../bin/ rm Makefile rm .qmake.stash cd ../../../ controller_app_name=( controller_changan_shenlan ) for x in ${controller_app_name[@]} do cd src/controller/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done decition_app_name=( decition_brain_sf_changan_shenlan #decition_brain_ge3 #decition_brain_qingyuan #decition_brain_vv7 ) for x in ${decition_app_name[@]} do cd src/decition/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done driver_app_name=( driver_lidar_rs16 driver_gps_hcp2 driver_can_nvidia_agx driver_map_trace driver_map_xodrload # driver_rpc_server # driver_cloud_grpc_client # driver_grpc_server # driver_rpc_server # driver_group_grpc_client ) for x in ${driver_app_name[@]} do cd src/driver/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done detect_app_name=( # detection_lidar_PointPillars_MultiHead detection_radar_delphi_esr detection_chassis ) for x in ${detect_app_name[@]} do cd src/detection/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done fution_app_name=( # lidar_radar_fusion_cnn ) for x in ${fution_app_name[@]} do cd src/fusion/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done tool_app_name=( view_pointcloud view_gps # view_rawcan view_radar IVSysMan ivmapmake view_ivlog # tool_querymsg tool_xodrobj ivlog_record adciv_record tool_configivsysman ) for x in ${tool_app_name[@]} do cd src/tool/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done ui_app_name=( ui_ads_hmi ) for x in ${ui_app_name[@]} do cd src/ui/${x}/ $qtmake ${x}.pro make $MAKEOPT build_result=$? check_result $build_result store_result make clean cp ${x} ./../../../bin/ rm Makefile rm .qmake.stash rm ${x} cd ../../../ done show_result