diff options
Diffstat (limited to 'apps/compiler/compiler.sh')
-rw-r--r-- | apps/compiler/compiler.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/apps/compiler/compiler.sh b/apps/compiler/compiler.sh new file mode 100644 index 0000000000..cb89bfb705 --- /dev/null +++ b/apps/compiler/compiler.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_PATH/includes/includes.sh" + +function all() { + comp_clean + comp_configure + comp_build +} + +function run_option() { + if test "${comp_functions[$1-1]+'test'}"; then + ${comp_functions[$1-1]} + else + echo "invalid option" + fi +} + +comp_options=("Clean" "Configure" "Build" "All") +comp_functions=("comp_clean" "comp_configure" "comp_build" "all") + +runHooks "ON_AFTER_OPTIONS" #you can create your custom options + +# push exit after custom options +comp_options+=('Exit') +comp_functions+=('exit 0') + +# run option directly if specified in argument +[ ! -z $1 ] && run_option $1 && exit 0 + +PS3='[ Please enter your choice ]: ' +select opt in "${comp_options[@]}" +do + case $opt in + 'Exit') + break + ;; + *) + run_option $REPLY + ;; + esac +done |