#!/bin/bash function script_function() { # 现场环境 ---------------------------------------------------------------------------------------------------- local SCRIPT_NAME=${BASH_SOURCE[0]##*/} local SCRIPT_PATH=$(if [ -n "${BASH_SOURCE[0]%${SCRIPT_NAME}}" ]; then cd ${BASH_SOURCE[0]%${SCRIPT_NAME}}; fi; pwd) local WORKIN_PATH=$(pwd) # 调试信息 ---------------------------------------------------------------------------------------------------- [[ " $* " =~ " --quiet " ]] && local run_quiet=1 function run() { if [ "${run_quiet}" == "1" ] ; then "$@" 1>/dev/null; else "$@"; fi; } run echo -e "\033[1;30mOptions: ${SCRIPT_NAME} --quiet Quiet mode compilation\033[0m"; run sleep 0.8 # ---------------------------------------------------------------------------------------------------- function STEP_TRACE_INIT() { step_break_name=$1;step_break_num=0;step_break_color=3;[ "$2" != "" ] && step_break_color=$2;} function STEP_TRACE_INFO() { step_break_num=$[${step_break_num}+1]; echo -e "\033[1;3${step_break_color}m[${step_break_name}] ${step_break_num} ($1) --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------\033[0m"; } # 编译标签 ---------------------------------------------------------------------------------------------------- [ "$GCC_TARGET_TAG" == "" ] && local GCC_TARGET_TAG=$(${CC} -v 2>&1 | grep Target | cut -d " " -f 2 | sed 's/linux-gnu/linux/g' | sed 's/unknown-nto-qnx/qnx/g')-$(${CC} -v 2>&1 | grep "gcc version" | cut -d " " -f 3) [ "$GCC_TARGET" == "" ] && local GCC_TARGET=$(${CC} -v 2>&1 | grep Target | cut -d " " -f 2 | sed 's/linux-gnu/linux/g' | sed 's/unknown-nto-qnx/qnx/g') [[ "${GCC_TARGET_TAG}" != *-*-*.* ]] && echo -e "\033[1;31mERROR:\033[0m GCC_TARGET_TAG=${GCC_TARGET_TAG} (CC=$CC; CXX=$CXX). Wait 10 seconds to exit." && sleep 10 && read && return run echo "GCC_TARGET_TAG=${GCC_TARGET_TAG}" run echo "GCC_TARGET =${GCC_TARGET}" # 工程路径和编译参数 ---------------------------------------------------------------------------------------------------- local CPU_CNT=$[$(nproc --all)-2] local WORKSPACE=${WORKIN_PATH}/workspace { local BINUTILS_SOURCE_PATH=${SCRIPT_PATH}/source/binutils-2.30 local BINUTILS_BUILD_PATH=${WORKSPACE}/build/binutils_${GCC_TARGET_TAG} local BINUTILS_INSTALL_PATH=${WORKSPACE}/package/binutils_${GCC_TARGET_TAG} } function binutils_org_build() { mkdir -p ${BINUTILS_BUILD_PATH}/current cd ${BINUTILS_BUILD_PATH}/current { sleep 1 } } binutils_org_build $* } script_function $*
#!/bin/bash function script_function() { # ---------------------------------------------------------------------------------------------------- local SCRIPT_NAME=${BASH_SOURCE[0]##*/} local SCRIPT_PATH=$(if [ -n "${BASH_SOURCE[0]%${SCRIPT_NAME}}" ]; then cd ${BASH_SOURCE[0]%${SCRIPT_NAME}}; fi; pwd) local WORKIN_PATH=$(pwd) } script_function $*
# ---------------------------------------------------------------------------------------------------- [[ " $* " =~ " --quiet " ]] && local run_quiet=1 function run() { if [ "${run_quiet}" == "1" ] ; then $* 1>/dev/null; else $*; fi; }
aarch64-linux-8.3.0
aarch64-qnx7.0.0-5.4.0
aarch64-qnx7.1.0-8.3.0
# ---------------------------------------------------------------------------------------------------- [ "$CC" == "" ] && echo -e "\033[1;31mThe variable CC is not defined.\033[0m" && return [ "$GCC_TARGET_TAG" == "" ] && local GCC_TARGET_TAG=$(${CC} -v 2>&1 | grep Target | cut -d " " -f 2 | sed 's/linux-gnu/linux/g' | sed 's/unknown-nto-qnx/qnx/g')-$(${CC} -v 2>&1 | grep "gcc version" | cut -d " " -f 3) [ "$GCC_TARGET" == "" ] && local GCC_TARGET=$(${CC} -v 2>&1 | grep Target | cut -d " " -f 2 | sed 's/linux-gnu/linux/g' | sed 's/unknown-nto-qnx/qnx/g') echo "GCC_TARGET_TAG=${GCC_TARGET_TAG}" echo "GCC_TARGET =${GCC_TARGET}"
# ---------------------------------------------------------------------------------------------------- function STEP_TRACE_INIT() { step_break_name=$1;step_break_num=0;step_break_color=3;[ "$2" != "" ] && step_break_color=$2;} function STEP_TRACE_INFO() { step_break_num=$[${step_break_num}+1]; echo -e "\033[1;3${step_break_color}m[${step_break_name}] ${step_break_num} ($1) --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------\033[0m"; } STEP_TRACE_INIT binutils STEP_TRACE_INFO STEP_TRACE_INFO STEP_TRACE_INIT binutils 5 STEP_TRACE_INFO STEP_TRACE_INFO