72 lines
1.5 KiB
Bash
Executable File
72 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
usage()
|
|
{
|
|
echo "USAGE: [-U] [-CK] [-A] [-p] [-o] [-u] [-v VERSION_NAME] "
|
|
echo "No ARGS means use default build option "
|
|
echo "WHERE: -C = build cross "
|
|
echo "WHERE: -R = rebuild "
|
|
exit 1
|
|
}
|
|
|
|
function clean_cmake_config()
|
|
{
|
|
rm -rf CMakeCache.txt
|
|
rm -rf CMakeFiles
|
|
rm -rf cmake_install.cmake
|
|
rm -rf Makefile
|
|
rm -rf CTestTestfile.cmake
|
|
}
|
|
|
|
BUILD_DIR=output
|
|
BUILD_CLEAN=false
|
|
BUILD_CROSS=false
|
|
|
|
# check pass argument
|
|
while getopts "RC" arg
|
|
do
|
|
case $arg in
|
|
R)
|
|
echo "will reconfigure project"
|
|
BUILD_CLEAN=true
|
|
;;
|
|
C)
|
|
echo "will build cross platform"
|
|
BUILD_CROSS=true
|
|
;;
|
|
?)
|
|
usage ;;
|
|
esac
|
|
done
|
|
|
|
if [ ! -d "$BUILD_DIR/release" ]; then
|
|
mkdir -p "$BUILD_DIR/release"
|
|
fi
|
|
|
|
# build clean
|
|
if [ "$BUILD_CLEAN" = true ] ; then
|
|
rm "${BUILD_DIR:?}/*" -rf
|
|
fi
|
|
|
|
cd $BUILD_DIR || exit
|
|
|
|
# build cross
|
|
if [ "$BUILD_CROSS" = true ] ; then
|
|
echo "start build cross paltform"
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=toolchainfile.cmake \
|
|
-DCMAKE_INSTALL_PREFIX=./release ../
|
|
else
|
|
cmake -DCMAKE_INSTALL_PREFIX=./release -DROOT_PROJ_BIN_DIR:STRING="../../build/linux/output/arm" \
|
|
-DRKAIQ_IQFILES_DIR:STRING="../../iqfiles/isp32" ../
|
|
fi
|
|
|
|
make -j8
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo Build finished!
|
|
make install
|
|
clean_cmake_config
|
|
cd ..
|
|
fi
|
|
|