call_task
This commit is contained in:
parent
881764061a
commit
e20733c173
16
call_task.sh
Normal file
16
call_task.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
tabs 4
|
||||||
|
TASK=$1
|
||||||
|
print "${CYAN}===========[$TASK]===========\n"
|
||||||
|
source cbuild/init.sh
|
||||||
|
|
||||||
|
#pre_build
|
||||||
|
clear_dir $OBJDIR
|
||||||
|
clear_dir $OUTDIR
|
||||||
|
if [ -f "$PRE_BUILD_SCRIPT" ]; then
|
||||||
|
print "${BLUE}executing $PRE_BUILD_SCRIPT"
|
||||||
|
source "$PRE_BUILD_SCRIPT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
./$TASK_SCRIPT
|
||||||
@ -1,24 +1,24 @@
|
|||||||
###### Build cbuild/default_tasks #######
|
###### Build cbuild/default_tasks #######
|
||||||
build_exec:
|
build_exec:
|
||||||
@cbuild/default_tasks/build_exec.sh
|
@cbuild/call_task.sh build_exec
|
||||||
build_exec_dbg:
|
build_exec_dbg:
|
||||||
@cbuild/default_tasks/build_exec_dbg.sh
|
@cbuild/call_task.sh build_exec_dbg
|
||||||
|
|
||||||
build_shared_lib:
|
build_shared_lib:
|
||||||
@cbuild/default_tasks/build_shared_lib.sh
|
@cbuild/call_task.sh build_shared_lib
|
||||||
build_shared_lib_dbg:
|
build_shared_lib_dbg:
|
||||||
@cbuild/default_tasks/build_shared_lib_dbg.sh
|
@cbuild/call_task.sh build_shared_lib_dbg
|
||||||
|
|
||||||
build_static_lib:
|
build_static_lib:
|
||||||
@cbuild/default_tasks/build_static_lib.sh
|
@cbuild/call_task.sh build_static_lib
|
||||||
build_static_lib_dbg:
|
build_static_lib_dbg:
|
||||||
@cbuild/default_tasks/build_static_lib_dbg.sh
|
@cbuild/call_task.sh build_static_lib_dbg
|
||||||
|
|
||||||
###### Launch cbuild/default_tasks #######
|
###### Launch cbuild/default_tasks #######
|
||||||
exec: build_exec
|
exec: build_exec
|
||||||
@cbuild/default_tasks/exec.sh
|
@cbuild/call_task.sh exec
|
||||||
|
|
||||||
valgrind: build_exec_dbg
|
valgrind: build_exec_dbg
|
||||||
@cbuild/default_tasks/valgrind.sh
|
@cbuild/call_task.sh valgrind
|
||||||
|
|
||||||
all: build_exec
|
all: build_exec
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PROJECT=some_project
|
PROJECT=some_project
|
||||||
OUTDIR=bin
|
|
||||||
OBJDIR=obj
|
|
||||||
CMP_C=gcc
|
CMP_C=gcc
|
||||||
CMP_CPP=g++
|
CMP_CPP=g++
|
||||||
STD_C=c11
|
STD_C=c11
|
||||||
@ -13,34 +11,55 @@ SRC_C="$( find src -name '*.c')"
|
|||||||
SRC_CPP="$( find src -name '*.cpp')"
|
SRC_CPP="$( find src -name '*.cpp')"
|
||||||
TESTS_C="$( find tests -name '*.c')"
|
TESTS_C="$( find tests -name '*.c')"
|
||||||
TESTS_CPP="$(find tests -name '*.cpp')"
|
TESTS_CPP="$(find tests -name '*.cpp')"
|
||||||
VALGRIND_ARGS="-s --log-file=valgrind.log --read-var-info=yes --track-origins=yes --fullpath-after=$PROJECT/ --leak-check=full --show-leak-kinds=all"
|
|
||||||
|
OUTDIR=bin
|
||||||
|
OBJDIR=obj
|
||||||
|
EXEC_FILE=$PROJECT.com
|
||||||
|
SHARED_LIB_FILE=$PROJECT.so
|
||||||
|
STATIC_LIB_FILE=$PROJECT.a
|
||||||
|
|
||||||
PRE_BUILD_SCRIPT=tasks/pre_build.sh
|
PRE_BUILD_SCRIPT=tasks/pre_build.sh
|
||||||
|
|
||||||
# build_exec
|
case $TASK in
|
||||||
EXEC_FILE=$PROJECT.com
|
build_exec)
|
||||||
BUILD_EXEC_C_ARGS="-O2"
|
C_ARGS="-O2"
|
||||||
BUILD_EXEC_CPP_ARGS="$BUILD_EXEC_C_ARGS"
|
CPP_ARGS="$C_ARGS"
|
||||||
BUILD_EXEC_LINKER_ARGS=""
|
LINKER_ARGS=""
|
||||||
# build_exec_dbg
|
TASK_SCRIPT="cbuild/build_exec.sh"
|
||||||
BUILD_EXEC_DBG_C_ARGS="-O0 -g"
|
;;
|
||||||
BUILD_EXEC_DBG_CPP_ARGS="$BUILD_EXEC_DBG_C_ARGS"
|
build_exec_dbg)
|
||||||
BUILD_EXEC_DBG_LINKER_ARGS=""
|
C_ARGS="-O0 -g"
|
||||||
|
CPP_ARGS="$C_ARGS"
|
||||||
# build_shared_lib
|
LINKER_ARGS=""
|
||||||
SHARED_LIB_FILE=$PROJECT.so
|
TASK_SCRIPT="cbuild/build_exec.sh"
|
||||||
BUILD_SHARED_LIB_C_ARGS="-O2 -fpic -flto -shared"
|
;;
|
||||||
BUILD_SHARED_LIB_CPP_ARGS="$BUILD_SHARED_LIB_C_ARGS"
|
build_shared_lib)
|
||||||
BUILD_SHARED_LIB_LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
|
C_ARGS="-O2 -fpic -flto -shared"
|
||||||
# build_shared_lib_dbg
|
CPP_ARGS="$C_ARGS"
|
||||||
BUILD_SHARED_LIB_DBG_C_ARGS="-O0 -g -fpic -shared"
|
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
|
||||||
BUILD_SHARED_LIB_DBG_CPP_ARGS="$BUILD_SHARED_LIB_C_ARGS"
|
TASK_SCRIPT="cbuild/build_shared_lib.sh"
|
||||||
BUILD_SHARED_LIB_DBG_LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
|
;;
|
||||||
|
build_shared_lib_dbg
|
||||||
# build_static_lib
|
C_ARGS="-O0 -g -fpic -shared"
|
||||||
STATIC_LIB_FILE=$PROJECT.a
|
CPP_ARGS="$C_ARGS"
|
||||||
BUILD_STATIC_LIB_C_ARGS="-O2 -fpic"
|
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
|
||||||
BUILD_STATIC_LIB_CPP_ARGS="$BUILD_STATIC_LIB_C_ARGS"
|
TASK_SCRIPT="cbuild/build_shared_lib.sh"
|
||||||
# build_static_lib_dbg
|
;;
|
||||||
BUILD_STATIC_LIB_DBG_C_ARGS="-O0 -g"
|
build_static_lib)
|
||||||
BUILD_STATIC_LIB_DBG_CPP_ARGS="$BUILD_STATIC_LIB_DBG_C_ARGS"
|
C_ARGS="-O2 -fpic"
|
||||||
|
CPP_ARGS="$C_ARGS"
|
||||||
|
TASK_SCRIPT="cbuild/build_static_lib.sh"
|
||||||
|
;;
|
||||||
|
build_static_lib_dbg)
|
||||||
|
C_ARGS="-O0 -g"
|
||||||
|
CPP_ARGS="$C_ARGS"
|
||||||
|
TASK_SCRIPT="cbuild/build_static_lib.sh"
|
||||||
|
;;
|
||||||
|
exec)
|
||||||
|
TASK_SCRIPT="cbuild/exec.sh"
|
||||||
|
;;
|
||||||
|
valgrind)
|
||||||
|
VALGRIND_ARGS="-s --log-file=valgrind.log --read-var-info=yes --track-origins=yes --fullpath-after=$PROJECT/ --leak-check=full --show-leak-kinds=all"
|
||||||
|
TASK_SCRIPT="cbuild/valgrind.sh"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source cbuild/init.sh
|
compile_c "$C_ARGS" "$SRC_C $TESTS_C"
|
||||||
|
compile_cpp "$CPP_ARGS" "$SRC_CPP $TESTS_CPP"
|
||||||
print "${CYAN}=============[build_exec]=============\n"
|
link "$CPP_ARGS $LINKER_ARGS" "$EXEC_FILE"
|
||||||
compile_c "$BUILD_EXEC_C_ARGS" "$SRC_C $TESTS_C"
|
|
||||||
compile_cpp "$BUILD_EXEC_CPP_ARGS" "$SRC_CPP $TESTS_CPP"
|
|
||||||
link "$BUILD_EXEC_CPP_ARGS $BUILD_EXEC_LINKER_ARGS" "$EXEC_FILE"
|
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source cbuild/init.sh
|
|
||||||
|
|
||||||
print "${CYAN}===========[build_exec_dbg]===========\n"
|
|
||||||
compile_c "$BUILD_EXEC_DBG_C_ARGS" "$SRC_C $TESTS_C"
|
|
||||||
compile_cpp "$BUILD_EXEC_DBG_CPP_ARGS" "$SRC_CPP $TESTS_CPP"
|
|
||||||
link "$BUILD_EXEC_DBG_CPP_ARGS $BUILD_EXEC_DBG_LINKER_ARGS" "$EXEC_FILE"
|
|
||||||
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source cbuild/init.sh
|
compile_c "$C_ARGS" "$SRC_C"
|
||||||
|
compile_cpp "$CPP_ARGS" "$SRC_CPP"
|
||||||
print "${CYAN}==========[build_shared_lib]==========\n"
|
link "$CPP_ARGS $LINKER_ARGS" "$SHARED_LIB_FILE"
|
||||||
compile_c "$BUILD_SHARED_LIB_C_ARGS" "$SRC_C"
|
|
||||||
compile_cpp "$BUILD_SHARED_LIB_CPP_ARGS" "$SRC_CPP"
|
|
||||||
link "$BUILD_SHARED_LIB_CPP_ARGS $BUILD_SHARED_LIB_LINKER_ARGS" "$SHARED_LIB_FILE"
|
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source cbuild/init.sh
|
|
||||||
|
|
||||||
print "${CYAN}========[build_shared_lib_dbg]========\n"
|
|
||||||
compile_c "$BUILD_SHARED_LIB_DBG_C_ARGS" "$SRC_C"
|
|
||||||
compile_cpp "$BUILD_SHARED_LIB_DBG_CPP_ARGS" "$SRC_CPP"
|
|
||||||
link "$BUILD_SHARED_LIB_DBG_CPP_ARGS $BUILD_SHARED_LIB_DBG_LINKER_ARGS" "$SHARED_LIB_FILE"
|
|
||||||
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source cbuild/init.sh
|
compile_c "$C_ARGS" "$SRC_C"
|
||||||
|
compile_cpp "$CPP_ARGS" "$SRC_CPP"
|
||||||
print "${CYAN}==========[build_static_lib]==========\n"
|
|
||||||
compile_c "$BUILD_STATIC_LIB_C_ARGS" "$SRC_C"
|
|
||||||
compile_cpp "$BUILD_STATIC_LIB_CPP_ARGS" "$SRC_CPP"
|
|
||||||
pack_static_lib "$STATIC_LIB_FILE"
|
pack_static_lib "$STATIC_LIB_FILE"
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source cbuild/init.sh
|
|
||||||
|
|
||||||
print "${CYAN}==========[build_static_lib_dbg]==========\n"
|
|
||||||
compile_c "$BUILD_STATIC_LIB_DBG_C_ARGS" "$SRC_C"
|
|
||||||
compile_cpp "$BUILD_STATIC_LIB_DBG_CPP_ARGS" "$SRC_CPP"
|
|
||||||
pack_static_lib "$STATIC_LIB_FILE"
|
|
||||||
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source cbuild/init.sh
|
|
||||||
|
|
||||||
print "${CYAN}================[exec]================\n"
|
|
||||||
cd $OUTDIR
|
cd $OUTDIR
|
||||||
./$EXEC_FILE
|
./$EXEC_FILE
|
||||||
cd ..
|
cd ..
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source cbuild/init.sh
|
|
||||||
|
|
||||||
print "${CYAN}==============[valgrind]==============\n"
|
|
||||||
cd $OUTDIR
|
cd $OUTDIR
|
||||||
valgrind $VALGRIND_ARGS ./$EXEC_FILE
|
valgrind $VALGRIND_ARGS ./$EXEC_FILE
|
||||||
cat "valgrind.log"
|
cat "valgrind.log"
|
||||||
|
|||||||
12
init.sh
12
init.sh
@ -1,7 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
tabs 4
|
|
||||||
|
|
||||||
source cbuild/colors.sh
|
source cbuild/colors.sh
|
||||||
source cbuild/functions.sh
|
source cbuild/functions.sh
|
||||||
|
|
||||||
@ -16,14 +14,4 @@ if [ ! -f ".config" ]; then
|
|||||||
print "${YELLOW}Default config created.\nEdit it's values.\n"
|
print "${YELLOW}Default config created.\nEdit it's values.\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source .config
|
source .config
|
||||||
|
|
||||||
clear_dir $OBJDIR
|
|
||||||
clear_dir $OUTDIR
|
|
||||||
|
|
||||||
#pre_build
|
|
||||||
if [ -f "$PRE_BUILD_SCRIPT" ]; then
|
|
||||||
print "${BLUE}executing $PRE_BUILD_SCRIPT"
|
|
||||||
source "$PRE_BUILD_SCRIPT"
|
|
||||||
fi
|
|
||||||
Loading…
Reference in New Issue
Block a user