source: flair-dev/trunk/scripts/compile_flair_all.sh@ 3

Last change on this file since 3 was 3, checked in by Sanahuja Guillaume, 7 years ago

m

  • Property svn:executable set to *
File size: 4.1 KB
Line 
1#!/bin/bash
2ARCH_DIR=build_$(uname -m)
3NB_THREADS=$(nproc)
4from_scratch=no
5
6function green_echo () {
7 echo -e "\033[32m$1\033[0m"
8}
9
10function red_echo () {
11 echo -e "\033[31m$1\033[0m"
12}
13
14function check_error () {
15 if [ "$?" != "0" ]; then
16 red_echo "Error, exiting"
17 exit 1
18 fi
19}
20
21function sanity_check () {
22 if [ -z $FLAIR_ROOT ]; then
23 red_echo "You must set the FLAIR_ROOT environement variable"
24 exit 1
25 fi
26}
27
28function configure () {
29 if [ "$from_scratch" = "yes" ]; then
30 green_echo "Configuring $1/$2"
31 cd $1/$2
32
33 if [ -f cmake_codeblocks.sh ]; then
34 green_echo "only configuring it for $(uname -m)"
35 ./cmake_codeblocks.sh > /dev/null
36 else
37 rm -f build_arm/CMakeCache.txt
38 $FLAIR_ROOT/flair-dev/scripts/cmake_codeblocks.sh > /dev/null
39 fi
40
41 check_error
42 else
43 green_echo "Not configuring $1/$2"
44 fi
45}
46
47function cross_compile () {
48 if ! [ -f $1/$2/cmake_codeblocks.sh ]; then
49 green_echo "Cross compiling and installing $2"
50 cd $1/$2/build_arm
51 if [ "$from_scratch" = "yes" ]; then make clean > /dev/null; fi
52 make -j$NB_THREADS > /dev/null
53 check_error
54 make install
55 fi
56}
57
58function compile () {
59 green_echo "Compiling and installing $2"
60 cd $1/$2/$ARCH_DIR
61 if [ "$from_scratch" = "yes" ]; then make clean > /dev/null; fi
62 make -j$NB_THREADS > /dev/null
63 check_error
64 make install
65}
66
67function compile_flair() {
68 for projects in FlairCore FlairSensorActuator; do
69# for projects in FlairCore FlairSensorActuator FlairFilter FlairMeta FlairSimulator ; do
70 configure $FLAIR_ROOT/flair-src/lib $projects
71 compile $FLAIR_ROOT/flair-src/lib $projects
72 cross_compile $FLAIR_ROOT/flair-src/lib $projects
73 done
74}
75
76function compile_examples() {
77 for projects in ex_framework ex_kalman_framework; do
78 configure $FLAIR_ROOT/uav_ex $projects
79 compile $FLAIR_ROOT/uav_ex $projects
80 cross_compile $FLAIR_ROOT/uav_ex $projects
81 done
82
83 for projects in ex_opencv; do
84 configure $FLAIR_ROOT/uav_ex $projects
85 compile $FLAIR_ROOT/uav_ex $projects
86 cross_compile $FLAIR_ROOT/uav_ex $projects
87 done
88
89 for projects in control simulator; do
90 configure $FLAIR_ROOT/uav_ex/ex_simulator_framework $projects
91 compile $FLAIR_ROOT/uav_ex/ex_simulator_framework $projects
92 cross_compile $FLAIR_ROOT/uav_ex/ex_simulator_framework $projects
93 done
94
95 for projects in simulator uav; do
96 configure $FLAIR_ROOT/uav_ex/demo_optitrack_framework $projects
97 compile $FLAIR_ROOT/uav_ex/demo_optitrack_framework $projects
98 cross_compile $FLAIR_ROOT/uav_ex/demo_optitrack_framework $projects
99 done
100
101 for projects in simulator uav; do
102 configure $FLAIR_ROOT/uav_ex/demo_fo_framework $projects
103 compile $FLAIR_ROOT/uav_ex/demo_fo_framework $projects
104 cross_compile $FLAIR_ROOT/uav_ex/demo_fo_framework $projects
105 done
106
107 for projects in simulator uav; do
108 configure $FLAIR_ROOT/uav_ex/demo_flotte_framework $projects
109 compile $FLAIR_ROOT/uav_ex/demo_flotte_framework $projects
110 cross_compile $FLAIR_ROOT/uav_ex/demo_flotte_framework $projects
111 done
112
113 for projects in uav; do
114 configure $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
115 compile $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
116 cross_compile $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
117 done
118
119 for projects in CustomReferenceAngles CustomTorques; do
120 configure $FLAIR_ROOT/uav_ex/skeletons_framework $projects
121 compile $FLAIR_ROOT/uav_ex/skeletons_framework $projects
122 cross_compile $FLAIR_ROOT/uav_ex/skeletons_framework $projects
123 done
124}
125
126sanity_check
127
128printf "Compile all from scratch [Y/n]?"
129read answer
130
131if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
132 from_scratch=yes
133fi
134
135printf "Compile Flair libs [Y/n]?"
136read answer
137
138if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
139 compile_flair
140fi
141exit 0
142printf "Compile Flair tools [Y/n]?"
143read answer
144
145if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
146 compile_tools
147fi
148
149printf "Compile Flair documentation [Y/n]?"
150read answer
151
152if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
153 cd $FLAIR_ROOT/flair-src/lib
154 doxygen Doxyfile.in
155fi
156
157printf "Compile examples [Y/n]?"
158read answer
159
160if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
161 compile_examples
162fi
163
164exit 0
Note: See TracBrowser for help on using the repository browser.