PRE_TASK_SCRIPT and POST_TASK_SCRIPT

This commit is contained in:
timerix 2022-10-03 11:41:55 +06:00
parent 286ce67bbe
commit e143bfd216
3 changed files with 21 additions and 7 deletions

View File

@ -15,4 +15,4 @@ bash cbuild/chmod_scripts.sh
make make
``` ```
You can create your own default config. Put it in project directory and name default.config You should create your own default config. Put it in project directory and name default.config

View File

@ -5,13 +5,17 @@ TASK=$1
printf "${CYAN}===========[$TASK]===========\n" printf "${CYAN}===========[$TASK]===========\n"
source cbuild/init.sh source cbuild/init.sh
#pre_build
clear_dir $OBJDIR clear_dir $OBJDIR
if [ -f "$PRE_BUILD_SCRIPT" ]; then if [ -f "$PRE_TASK_SCRIPT" ]; then
printf "${BLUE}executing $PRE_BUILD_SCRIPT" printf "${BLUE}executing $PRE_TASK_SCRIPT"
source "$PRE_BUILD_SCRIPT" source "$PRE_TASK_SCRIPT"
fi fi
source $TASK_SCRIPT source $TASK_SCRIPT
printf "${GRAY}" printf "${GRAY}"
if [ -f "$POST_TASK_SCRIPT" ]; then
printf "${BLUE}executing $POST_TASK_SCRIPT"
source "$POST_TASK_SCRIPT"
fi

View File

@ -20,42 +20,52 @@ EXEC_FILE=$PROJECT.com
SHARED_LIB_FILE=$PROJECT.so SHARED_LIB_FILE=$PROJECT.so
STATIC_LIB_FILE=$PROJECT.a STATIC_LIB_FILE=$PROJECT.a
PRE_BUILD_SCRIPT=tasks/pre_build.sh
case $TASK in case $TASK in
build_exec) build_exec)
C_ARGS="-O2" C_ARGS="-O2"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
LINKER_ARGS="" LINKER_ARGS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
build_exec_dbg) build_exec_dbg)
C_ARGS="-O0 -g" C_ARGS="-O0 -g"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
LINKER_ARGS="" LINKER_ARGS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
build_shared_lib) build_shared_lib)
C_ARGS="-O2 -fpic -flto -shared" C_ARGS="-O2 -fpic -flto -shared"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE" LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
build_shared_lib_dbg) build_shared_lib_dbg)
C_ARGS="-O0 -g -fpic -shared" C_ARGS="-O0 -g -fpic -shared"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE" LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
build_static_lib) build_static_lib)
C_ARGS="-O2 -fpic" C_ARGS="-O2 -fpic"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
build_static_lib_dbg) build_static_lib_dbg)
C_ARGS="-O0 -g" C_ARGS="-O0 -g"
CPP_ARGS="$C_ARGS" CPP_ARGS="$C_ARGS"
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
;; ;;
exec) exec)
TASK_SCRIPT=cbuild/default_tasks/exec.sh TASK_SCRIPT=cbuild/default_tasks/exec.sh