summaryrefslogtreecommitdiff
path: root/bin/compiler/compiler.sh
blob: cb89bfb705a4eaa4fc7b9fc6181e8b1703313fc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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