CMake를 사용해서 크로스 컴파일을 한다고 칩시다.
현재 경로에는 이 파일들이 존재해야 합니다.
크로스컴파일을 위한 Makefile을 만들려면 cmake의 옵션인 -D에 CMAKE_TOOLCHAIN_FILE = 툴체인파일 이라고 써주어야 합니다.
일일이 써주기 귀찮으면 제가 만든 이 스크립트를 사용하세요.
필요에 따라 약간씩 수정해서 사용하시면 되겠습니다.
filename: configure.sh
현재 경로에는 이 파일들이 존재해야 합니다.
$ ls
CMakeLists.txt (이 파일의 내용이 궁금하면 여기를 보세요)
toolchain.arm.cmake (이 파일의 내용이 궁금하면 여기를 보세요)
CMakeLists.txt (이 파일의 내용이 궁금하면 여기를 보세요)
toolchain.arm.cmake (이 파일의 내용이 궁금하면 여기를 보세요)
크로스컴파일을 위한 Makefile을 만들려면 cmake의 옵션인 -D에 CMAKE_TOOLCHAIN_FILE = 툴체인파일 이라고 써주어야 합니다.
일일이 써주기 귀찮으면 제가 만든 이 스크립트를 사용하세요.
필요에 따라 약간씩 수정해서 사용하시면 되겠습니다.
filename: configure.sh
#!/bin/bash
######################################################
# configure.sh
######################################################
printUsage()
{
echo "Usage: $0 [option]"
echo " [description]"
echo " make a Makefile Make build script by cmake"
echo " "
echo " [option]"
echo " (default) : make a Makefile by CMake at ./build/ directory"
echo " clean : remove make a Makefile"
echo " help : print a usage"
}
if [ "$1" = "help" ]; then
printUsage
exit
fi
if [ "$1" = "" ] ; then
if [ -d ./build ] ; then
echo ""
echo "[Warning] ./build/ directory is exist. You should delete ./build/ first. or use this command: "
echo " $0 clean "
echo ""
exit
fi
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.arm.cmake -Wno-dev --build build ..
echo "-------------"
echo " How to make"
echo "-------------"
echo " cd build"
echo " make"
echo "-------------"
elif [ "$1" = "clean" ] ; then
read -p "Do you want to delete ./build/ ? (y/n) " YesNo
if [ "$YesNo" = "y" ] ; then
rm -rf build
fi
else
printUsage
fi
######################################################
# configure.sh
######################################################
printUsage()
{
echo "Usage: $0 [option]"
echo " [description]"
echo " make a Makefile Make build script by cmake"
echo " "
echo " [option]"
echo " (default) : make a Makefile by CMake at ./build/ directory"
echo " clean : remove make a Makefile"
echo " help : print a usage"
}
if [ "$1" = "help" ]; then
printUsage
exit
fi
if [ "$1" = "" ] ; then
if [ -d ./build ] ; then
echo ""
echo "[Warning] ./build/ directory is exist. You should delete ./build/ first. or use this command: "
echo " $0 clean "
echo ""
exit
fi
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.arm.cmake -Wno-dev --build build ..
echo "-------------"
echo " How to make"
echo "-------------"
echo " cd build"
echo " make"
echo "-------------"
elif [ "$1" = "clean" ] ; then
read -p "Do you want to delete ./build/ ? (y/n) " YesNo
if [ "$YesNo" = "y" ] ; then
rm -rf build
fi
else
printUsage
fi