Streamline clean and build_db

Signed-off-by: somebody_master <somebody_master@somebodyserver.mooo.com>
This commit is contained in:
Somebody Master 2023-02-21 14:13:13 +01:00
parent 83113757c7
commit 44fdd62942
Signed by: somebody_master
GPG Key ID: 78315CFDF0B25505

View File

@ -15,6 +15,7 @@ _error_no_option="\nYou have to indicate a valid option"
_platform_linux="linux"
_platform_windows="windows"
_platform_android="android"
_default_platform="$_platform_linux"
# Clean variables and exit
function clean_exit() {
@ -24,6 +25,7 @@ function clean_exit() {
unset 2
fi
unset _default_platform
unset _platform_android
unset _platform_windows
unset _platform_linux
@ -42,10 +44,15 @@ function clean_exit() {
# Clean compilations
function clean() {
cd "$_build_folder" || clean_exit 1 "$_error_build_folder"
scons "platform=$_platform_linux" --clean
scons "platform=$_platform_windows" --clean
scons "platform=$_platform_android" --clean
scons "platform=${1}" --clean
cd ..
for object in build/*."$1".*.*.*; do
rm --force "$object"
done
unset object
unset 1
}
# Build by passing the platform as a variable
@ -66,16 +73,14 @@ function build() {
# Analize build process to create compile_commands.json
function build_db() {
clean
clean "$_default_platform"
cd "$_build_folder" || clean_exit 1 "$_error_build_folder"
bear -- scons
bear -- scons platform="$_default_platform"
if [ -f ../build/compile_commands.json ]; then
rm ../build/compile_commands.json
if [ ! -f "../{$_bin_folder}/compile_commands.json" ]; then
ln -s compile_commands.json "../${_bin_folder}/compile_commands.json"
fi
cp compile_commands.json ../build/
cd ..
}
@ -123,7 +128,9 @@ while getopts "bdchawlA" flag; do
clean_exit 0
;;
c) # Clean compilations
clean
clean "$_platform_linux"
clean "$_platform_windows"
clean "$_platform_android"
clean_exit 0
;;
h) # Invoque help