mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-14 03:49:51 +03:00
184 lines
4.3 KiB
Bash
Executable file
184 lines
4.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Stops on first error, echo on
|
|
set -e
|
|
set -x
|
|
|
|
# Allow variable core usage
|
|
# default uses all cpu cores
|
|
#
|
|
if [ -f /usr/bin/nproc ]; then
|
|
num_cpus=$(nproc)
|
|
elif [ -f /usr/sbin/sysctl ]; then
|
|
num_cpus=$(sysctl -n hw.logicalcpu)
|
|
else
|
|
num_cpus=2
|
|
fi
|
|
: "${CORES:=$num_cpus}"
|
|
|
|
# If no build target, exit
|
|
#: "${FLAVOR:=ALL}"
|
|
|
|
for i in "$@"
|
|
do
|
|
case $i in
|
|
--jobs=*)
|
|
CORES="${i#*=}"
|
|
shift
|
|
;;
|
|
-j*)
|
|
CORES="${i#*j}"
|
|
shift
|
|
;;
|
|
-Wno-error)
|
|
WERROR=0
|
|
shift
|
|
;;
|
|
-b*)
|
|
FLAVOR="${i#*b}"
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Add GCC_ARM to PATH
|
|
if [[ -n ${GCC_ARM} ]] ; then
|
|
export PATH=${GCC_ARM}:$PATH
|
|
fi
|
|
|
|
: ${SRCDIR:=$(dirname "$(pwd)/$0")/..}
|
|
|
|
: ${BUILD_TYPE:=Debug}
|
|
: ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -Wno-dev "}
|
|
if (( $WERROR )); then COMMON_OPTIONS+=" -DWARNINGS_AS_ERRORS=YES "; fi
|
|
|
|
: ${EXTRA_OPTIONS:="$EXTRA_OPTIONS"}
|
|
|
|
COMMON_OPTIONS+=${EXTRA_OPTIONS}
|
|
|
|
: ${FIRMARE_TARGET:="firmware-size"}
|
|
|
|
# wipe build directory clean
|
|
rm -rf build && mkdir -p build && cd build
|
|
|
|
target_names=$(echo "$FLAVOR" | tr '[:upper:]' '[:lower:]' | tr ';' '\n')
|
|
|
|
for target_name in $target_names
|
|
do
|
|
BUILD_OPTIONS=${COMMON_OPTIONS}
|
|
|
|
echo "Testing ${target_name}"
|
|
case $target_name in
|
|
|
|
x9lite)
|
|
BUILD_OPTIONS+="-DPCB=X9LITE"
|
|
;;
|
|
x9lites)
|
|
BUILD_OPTIONS+="-DPCB=X9LITES"
|
|
;;
|
|
x7)
|
|
BUILD_OPTIONS+="-DPCB=X7"
|
|
;;
|
|
x7-access)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ACCESS -DPXX1=YES"
|
|
;;
|
|
t12)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T12 -DINTERNAL_MODULE_MULTI=ON"
|
|
;;
|
|
mt12)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=MT12 -DINTERNAL_MODULE_MULTI=ON"
|
|
;;
|
|
tx12)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TX12"
|
|
;;
|
|
tx12mk2)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TX12MK2"
|
|
;;
|
|
t8)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T8"
|
|
;;
|
|
lr3pro)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO"
|
|
;;
|
|
tlite)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITE"
|
|
;;
|
|
tlitef4)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITEF4"
|
|
;;
|
|
t20)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20"
|
|
;;
|
|
t14)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T14"
|
|
;;
|
|
t20v2)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20V2"
|
|
;;
|
|
xlite)
|
|
BUILD_OPTIONS+="-DPCB=XLITE"
|
|
;;
|
|
xlites)
|
|
BUILD_OPTIONS+="-DPCB=XLITES"
|
|
;;
|
|
x9d)
|
|
BUILD_OPTIONS+="-DPCB=X9D"
|
|
;;
|
|
x9dp)
|
|
BUILD_OPTIONS+="-DPCB=X9D+"
|
|
;;
|
|
x9dp2019)
|
|
BUILD_OPTIONS+="-DPCB=X9D+ -DPCBREV=2019"
|
|
;;
|
|
x9e)
|
|
BUILD_OPTIONS+="-DPCB=X9E"
|
|
;;
|
|
x10)
|
|
BUILD_OPTIONS+="-DPCB=X10"
|
|
;;
|
|
x10-access)
|
|
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=ACCESS -DPXX1=YES"
|
|
;;
|
|
x12s)
|
|
BUILD_OPTIONS+="-DPCB=X12S"
|
|
;;
|
|
t15)
|
|
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=T15 -DINTERNAL_MODULE_CRSF=ON"
|
|
;;
|
|
t16)
|
|
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=T16 -DINTERNAL_MODULE_MULTI=ON"
|
|
;;
|
|
t18)
|
|
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=T18"
|
|
;;
|
|
tx16s)
|
|
BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=TX16S"
|
|
;;
|
|
nv14)
|
|
BUILD_OPTIONS+="-DPCB=NV14"
|
|
;;
|
|
el18)
|
|
BUILD_OPTIONS+="-DPCB=NV14 -DPCBREV=EL18"
|
|
;;
|
|
pl18)
|
|
BUILD_OPTIONS+="-DPCB=PL18"
|
|
;;
|
|
pl18ev)
|
|
BUILD_OPTIONS+="-DPCB=PL18 -DPCBREV=PL18EV"
|
|
;;
|
|
commando8)
|
|
BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=COMMANDO8"
|
|
;;
|
|
esac
|
|
|
|
cmake ${BUILD_OPTIONS} "${SRCDIR}"
|
|
|
|
cmake --build . --target arm-none-eabi-configure
|
|
cmake --build arm-none-eabi -j"${CORES}" --target ${FIRMARE_TARGET}
|
|
|
|
cmake --build . --target native-configure
|
|
cmake --build native -j"${CORES}" --target libsimulator
|
|
cmake --build native -j"${CORES}" --target tests-radio
|
|
|
|
rm -f CMakeCache.txt native/CMakeCache.txt arm-none-eabi/CMakeCache.txt
|
|
done
|