source: flair-dev/trunk/scripts/flair_compile_all.sh@ 40

Last change on this file since 40 was 36, checked in by Sanahuja Guillaume, 8 years ago

m

  • Property svn:executable set to *
File size: 3.8 KB
RevLine 
[2]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
[36]33 rm -f build_arm/CMakeCache.txt
34 $FLAIR_ROOT/flair-dev/scripts/cmake_codeblocks.sh > /dev/null
[2]35
36 check_error
37 else
38 green_echo "Not configuring $1/$2"
39 fi
40}
41
42function cross_compile () {
[36]43 green_echo "Cross compiling and installing $2"
44 cd $1/$2/build_arm
45 if [ "$from_scratch" = "yes" ]; then make clean > /dev/null; fi
46 make -j$NB_THREADS > /dev/null
47 check_error
48 make install
[2]49}
50
51function compile () {
52 green_echo "Compiling and installing $2"
53 cd $1/$2/$ARCH_DIR
54 if [ "$from_scratch" = "yes" ]; then make clean > /dev/null; fi
55 make -j$NB_THREADS > /dev/null
56 check_error
57 make install
58}
59
[26]60function compile_libs() {
[8]61 for projects in FlairCore FlairSensorActuator FlairFilter FlairMeta FlairSimulator ; do
[2]62 configure $FLAIR_ROOT/flair-src/lib $projects
[3]63 compile $FLAIR_ROOT/flair-src/lib $projects
[2]64 cross_compile $FLAIR_ROOT/flair-src/lib $projects
65 done
[26]66
67 if [ -d $FLAIR_ROOT/flair-hds ]; then
68 for projects in FlairArdrone2 VisionFilter; do
69 configure $FLAIR_ROOT/flair-hds/src/lib $projects
70 compile $FLAIR_ROOT/flair-hds/src/lib $projects
71 cross_compile $FLAIR_ROOT/flair-hds/src/lib $projects
72 done
73 fi
[2]74}
75
[9]76function compile_tools() {
[35]77 for projects in FlairGCS Controller/DualShock3 Controller/Mavlink Dbt2csv; do
[9]78 configure $FLAIR_ROOT/flair-src/tools $projects
79 compile $FLAIR_ROOT/flair-src/tools $projects
80 cross_compile $FLAIR_ROOT/flair-src/tools $projects
81 done
82}
83
[23]84function compile_uav_and_simulator_demo() {
85 for projects in simulator uav; do
[26]86 configure $1/$2 $projects
87 compile $1/$2 $projects
88 cross_compile $1/$2 $projects
[23]89 done
90}
91
[9]92function compile_demos() {
[12]93 for projects in Sinus; do
94 configure $FLAIR_ROOT/flair-src/demos $projects
95 compile $FLAIR_ROOT/flair-src/demos $projects
96 cross_compile $FLAIR_ROOT/flair-src/demos $projects
[2]97 done
[14]98
[34]99 for projects in CircleFollower SimpleFleet Gps; do
[26]100 compile_uav_and_simulator_demo $FLAIR_ROOT/flair-src/demos $projects
[14]101 done
102
[27]103 for projects in CustomReferenceAngles CustomTorques; do
104 configure $FLAIR_ROOT/flair-src/demos/Skeletons $projects
105 compile $FLAIR_ROOT/flair-src/demos/Skeletons $projects
106 cross_compile $FLAIR_ROOT/flair-src/demos/Skeletons $projects
107 done
108
[26]109 if [ -d $FLAIR_ROOT/flair-hds ]; then
110 for projects in OpticalFlow; do
111 compile_uav_and_simulator_demo $FLAIR_ROOT/flair-hds/src/demos $projects
112 done
113 fi
114
[12]115exit 0
[26]116
[2]117
118 for projects in uav; do
119 configure $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
120 compile $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
121 cross_compile $FLAIR_ROOT/uav_ex/demo_ligne_framework $projects
122 done
123
[27]124
[2]125}
126
127sanity_check
128
129printf "Compile all from scratch [Y/n]?"
130read answer
131
132if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
133 from_scratch=yes
134fi
135
136printf "Compile Flair libs [Y/n]?"
137read answer
138
139if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
[26]140 compile_libs
[2]141fi
[9]142
[14]143printf "Compile Flair libs documentation [Y/n]?"
144read answer
145
146if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
[23]147 $OECORE_HOST_NATIVE_SYSROOT/usr/bin/doxygen $FLAIR_ROOT/flair-src/lib/Doxyfile.in
[14]148fi
149
[2]150printf "Compile Flair tools [Y/n]?"
151read answer
152
153if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
154 compile_tools
155fi
[12]156
157printf "Compile demos [Y/n]?"
158read answer
159
160if [ "$answer" = "" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
161 compile_demos
162fi
163
[9]164exit 0
[2]165
166
167
168exit 0
Note: See TracBrowser for help on using the repository browser.