-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathloop_build.sh
executable file
·74 lines (66 loc) · 1.41 KB
/
loop_build.sh
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
function do_local_trick_cp(){
local_dir=$1
cd $local_dir
echo "Compiling source codes in: $local_dir"
make clean
trick-CP
make_err=$?
return $make_err
}
function do_local_trick_cp_clean(){
local_dir=$1
top_dir=$2
cd $local_dir
echo "Clean source codes in: $local_dir"
make clean
cd $top_dir
$top_dir/trick_deep_clean.sh $local_dir
make_err=$?
return $make_err
}
function do_local_make(){
local_dir=$1
cd $local_dir
echo "Compiling source codes in: $local_dir"
make
make_err=$?
return $make_err
}
function do_local_clean(){
local_dir=$1
cd $local_dir
echo "Clean source codes in: $local_dir"
make clean
make_err=$?
return $make_err
}
top_dir=$1
build_system_mode=$2
echo "INFO: $top_dir"
echo "INFO: $build_system_mode"
shift 2
# Loop for all MODULES
file_list=( "$@" )
for var in "${file_list[@]}"
do
echo "Compiling $var"
target_dir=$var
case $build_system_mode in
trick_build)
do_local_trick_cp $var
;;
trick_clean)
do_local_trick_cp_clean $var $top_dir
;;
module_build)
do_local_make $var
;;
module_clean)
do_local_clean $var
;;
*) echo "$build_system : unknown."
esac
error_code=$?
if [ $error_code -ne 0 ]; then exit $error_code; fi
done