ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / Build / do.sh
1 #! /bin/sh
2
3 #####################
4 # Parameters
5 #####################
6
7 QUIET_BUILD=no
8
9 USE_SDK=yes
10 USE_APP=no
11 NO_EXAMPLES=yes
12
13 RELEASE_BUILD=yes
14 SDK_VERSION=dev
15 IPHONE_SDK_VERSION=3.0
16 USE_FFMPEG=no
17 USE_MJPEG=no
18 USE_JPEG=no
19 USE_JPEG_P6=no
20 USE_SWING=no
21 USE_VLIB=yes
22 SWING_VERSION=head
23
24 # Check validity of script usage.
25 if [ $1 ] && [ $1 = ecos ] ; then
26   if [ ! $QUIET_BUILD = yes ] ; then
27     echo ; echo "BUILD FOR ECOS" ; echo
28   fi
29   USE_ECOS=yes
30   USE_LINUX=no
31   USE_ELINUX=no
32   USE_NDS=no
33   USE_IPHONE=no
34   # head ecos-stable-2006-11-21 ecos-stable-2007-07-23 CK5300_Version_20070928_Beta5
35   ECOS_VERSION=Mykonos_Version_20090212
36   PROJECT=mykonos_p5p
37   MODE_TARGET=rls_ram_wifi_ap
38   CUSTOM_PRIORITIES=$ALL_SOURCES/video/$SDK_VERSION/Video/VP_SDK/VP_Os/ecos/task_priorities.h
39   # gnutools_2008_03_28 gnutools_2007_02_07 gnutools_2005_05_20
40   GNUTOOLS_VERSION=gnutools_2008_03_28
41   USE_ECOS_RELEASE=no
42   NO_COM=no
43   USE_BONJOUR=no
44   USE_BLUES32=no
45   # Stable_20070307 Stable_20060922 Stable_20061129_Blues_3_6_4 Version_KEA_1_00_RC5_200701131
46   BLUES32_VERSION=Stable_20060922
47   COMMONSOFT_VERSION=head
48   USE_PVSP=yes
49   USE_SOUL=no
50   SOUL_VERSION=Stable_20070307
51   USE_TANGO=no
52   # Stable_20061222 Stable_20070509
53   TANGO_VERSION=Stable_20070509
54   DONT_USE_TTS=yes
55   USE_CK5050=no
56   CK5050_VERSION=head
57   USE_BLUEZ=no
58   # P5 Intel smdk2412
59   FF_ARCH=P5
60   USE_PARROTOS_CORE=no
61 elif [ $1 ] && [ $1 = elinux ] ; then
62   if [ ! $QUIET_BUILD = yes ] ; then
63     echo ; echo "BUILD FOR EMBEDDED LINUX" ; echo
64   fi
65   USE_ECOS=no
66   USE_LINUX=no
67   USE_ELINUX=yes
68   USE_NDS=no
69   USE_IPHONE=no
70   ELINUX_VERSION=head
71   TOOLCHAIN_VERSION=arm-eglibc
72   NO_COM=no
73   USE_BLUES32=no
74   USE_BLUEZ=no
75   USE_BONJOUR=no
76   FF_ARCH=Intel
77   USE_BROADCOM=no
78   USE_IWLIB=yes
79   USE_PARROTOS_CORE=no
80   COMMONSOFT_VERSION=head
81   CONFIG_PARROTOS=$ALL_SOURCES/video/$SDK_VERSION/Video/VP_SDK/VP_Os/parrotos/default_config.h
82 elif [ $1 ] && [ $1 = linux ] ; then
83   if [ ! $QUIET_BUILD = yes ] ; then
84     echo ; echo "BUILD FOR LINUX" ; echo
85   fi
86   USE_ECOS=no
87   USE_LINUX=yes
88   USE_ELINUX=no
89   USE_NDS=no
90   USE_IPHONE=no
91   NO_COM=no
92   USE_BLUES32=no
93   USE_BLUEZ=no
94   USE_WIFI=no
95   USE_BONJOUR=no
96   FF_ARCH=Intel
97   USE_PARROTOS_CORE=no
98 elif [ $1 ] && [ $1 = nds ] ; then
99   if [ ! $QUIET_BUILD = yes ] ; then
100     echo ; echo "BUILD FOR NINTENDO DS" ; echo
101   fi
102   USE_ECOS=no
103   USE_LINUX=no
104   USE_ELINUX=no
105   USE_NDS=yes
106   NDS_CPU=ARM9
107   USE_IPHONE=no
108   NO_COM=no
109   USE_BLUES32=no
110   USE_BLUEZ=no
111   USE_BONJOUR=no
112   FF_ARCH=Intel
113   USE_PARROTOS_CORE=no
114 elif [ $1 ] && [ ${1:0:6} = iphone ] ; then
115         if [ ! $QUIET_BUILD = yes ] ; then
116                 echo ; echo "BUILD FOR IPHONE with platform $1 $IPHONE_SDK_VERSION" ; echo
117         fi
118         USE_ECOS=no
119         USE_LINUX=no
120         USE_ELINUX=no
121         USE_NDS=no
122         USE_IPHONE=yes
123         IPHONE_PLATFORM=$1
124         NO_COM=no
125         USE_BLUES32=no
126         USE_BLUEZ=no
127         USE_WIFI=no
128         USE_BONJOUR=no
129         FF_ARCH=Intel
130         USE_PARROTOS_CORE=no
131 else
132   echo ; echo "UNDEFINED BUILD" ; echo ;
133 fi
134
135 #####################
136 # Update flags
137 #####################
138 FLAGS="USE_APP=$USE_APP"
139 FLAGS="IPHONE_SDK_VERSION=$IPHONE_SDK_VERSION $FLAGS"
140 FLAGS="NO_EXAMPLES=$NO_EXAMPLES $FLAGS"
141 FLAGS="GNUTOOLS_VERSION=$GNUTOOLS_VERSION $FLAGS"
142 FLAGS="USE_ECOS=$USE_ECOS $FLAGS"
143 FLAGS="USE_LINUX=$USE_LINUX $FLAGS"
144 FLAGS="USE_ELINUX=$USE_ELINUX $FLAGS"
145 FLAGS="USE_NDS=$USE_NDS $FLAGS"
146 FLAGS="NDS_CPU=$NDS_CPU $FLAGS"
147 FLAGS="USE_IPHONE=$USE_IPHONE $FLAGS"
148 FLAGS="IPHONE_PLATFORM=$IPHONE_PLATFORM $FLAGS"
149 FLAGS="USE_SDK=$USE_SDK $FLAGS"
150 FLAGS="NO_COM=$NO_COM $FLAGS"
151 FLAGS="USE_BLUES32=$USE_BLUES32 $FLAGS"
152 FLAGS="USE_SOUL=$USE_SOUL $FLAGS"
153 FLAGS="USE_TANGO=$USE_TANGO $FLAGS"
154 FLAGS="USE_CK5050=$USE_CK5050 $FLAGS"
155 FLAGS="USE_BLUEZ=$USE_BLUEZ $FLAGS"
156 FLAGS="USE_FFMPEG=$USE_FFMPEG $FLAGS"
157 FLAGS="USE_MJPEG=$USE_MJPEG $FLAGS"
158 FLAGS="USE_JPEG=$USE_JPEG $FLAGS"
159 FLAGS="USE_JPEG_P6=$USE_JPEG_P6 $FLAGS"
160 FLAGS="USE_SWING=$USE_SWING $FLAGS"
161 FLAGS="USE_VLIB=$USE_VLIB $FLAGS"
162 FLAGS="SWING_VERSION=$SWING_VERSION $FLAGS"
163 FLAGS="USE_BONJOUR=$USE_BONJOUR $FLAGS"
164 FLAGS="USE_WIFI=$USE_WIFI $FLAGS"
165
166 FLAGS="QUIET_BUILD=$QUIET_BUILD $FLAGS"
167 FLAGS="RELEASE_BUILD=$RELEASE_BUILD $FLAGS"
168 FLAGS="SDK_VERSION=$SDK_VERSION $FLAGS"
169
170 FLAGS="USE_ECOS_RELEASE=$USE_ECOS_RELEASE $FLAGS"
171 FLAGS="ECOS_VERSION=$ECOS_VERSION $FLAGS"
172 FLAGS="ELINUX_VERSION=$ELINUX_VERSION $FLAGS"
173 FLAGS="PROJECT=$PROJECT $FLAGS"
174 FLAGS="MODE_TARGET=$MODE_TARGET $FLAGS"
175
176 FLAGS="TOOLCHAIN_VERSION=$TOOLCHAIN_VERSION $FLAGS"
177
178 FLAGS="BLUES32_VERSION=$BLUES32_VERSION $FLAGS"
179 FLAGS="SOUL_VERSION=$SOUL_VERSION $FLAGS"
180 FLAGS="TANGO_VERSION=$TANGO_VERSION $FLAGS"
181 FLAGS="CK5050_VERSION=$CK5050_VERSION $FLAGS"
182 FLAGS="DONT_USE_TTS=$DONT_USE_TTS $FLAGS"
183
184 FLAGS="FF_ARCH=$FF_ARCH $FLAGS"
185
186 FLAGS="USE_BROADCOM=$USE_BROADCOM $FLAGS"
187 FLAGS="USE_IWLIB=$USE_IWLIB $FLAGS"
188 FLAGS="USE_PARROTOS_CORE=$USE_PARROTOS_CORE $FLAGS"
189 FLAGS="COMMONSOFT_VERSION=$COMMONSOFT_VERSION $FLAGS"
190
191 if [ $USE_ECOS = yes ] ; then
192   FLAGS="CUSTOM_PRIORITIES=$CUSTOM_PRIORITIES $FLAGS"
193 fi
194
195 if [ $USE_ELINUX = yes ] ; then
196   FLAGS="CONFIG_PARROTOS=$CONFIG_PARROTOS $FLAGS"
197 fi
198
199 if [ $USE_ECOS = yes ] && [ $2 ] && ! [ $2 = check ] && ! [ $2 = clean ] || [ $USE_ECOS = yes ] && ! [ $2 ] ; then
200   CHOOSE=yes
201 fi
202 if [ $2 ] && [ $2 = check ] ; then
203   CHECK=yes
204 fi
205 shift
206
207 #####################
208 # Build
209 #####################
210
211 size=`stty size`
212 if [ $QUIET_BUILD = yes ] ; then
213   make_theme=darkq
214 else
215   make_theme=dark
216 fi
217 if [ $CHECK ] && [ $CHECK = yes ] ; then
218   make -f Makefile $FLAGS $* 2>&1 | grep -v "^$"
219 else
220   make -f Makefile $FLAGS $* 2>&1
221 fi
222
223 #####################
224 # Choose example ?
225 #####################
226
227 if [ $CHOOSE ] && [ $CHOOSE = yes ] ; then
228   j=1 ; for i in $( find . -type d -name "*Examples" | grep arm ) ; do j=$( expr $j + 1 ) ; done
229
230   if [ $j = 1 ] ; then
231     echo No example directory found
232     exit
233   fi
234
235   if ! [ $j = 2 ] ; then
236     j=1 ; for i in $( find . -type d -name "*Examples" | grep arm ) ; do echo -e "\t$j\t$i" ; j=$( expr $j + 1 ) ; done
237     echo -n -e "\nChoose directory : "
238     read var
239     j=1 ; for i in $( find . -type d -name "*Examples" | grep arm ) ; do if [ $j = $var ] ; then ex_dir=$i ; fi ; j=$( expr $j + 1 ) ; done
240   else
241     ex_dir=$( find . -type d -name "*Examples" | grep arm )
242   fi
243
244   echo -e "\nDirectory $ex_dir :"
245
246   j=1 ; for i in $( find $ex_dir -type f -exec basename \{\} \; ) ; do echo -e "\t$j\t$i" ; j=$( expr $j + 1 ) ; done
247   echo -n -e "\nChoose example : "
248   read var
249   j=1 ; for i in $( find $ex_dir -type f ) ; do if [ $j = $var ] ; then ex_file=$i ; fi ; j=$( expr $j + 1 ) ; done
250
251   if [ ! -z $ex_file ] && [ -f $ex_file ] ; then
252     cp $ex_file /srv/tftp/program.elf && echo -e "\n$ex_file copied to /srv/tftp/program.elf"
253   else
254     echo -e "\nBad choice !"
255   fi
256 fi