FreeCalypso > hg > fc-selenite
comparison configure-gcc.sh @ 93:26237514cae7
configure-gcc.sh: created
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 21 Jul 2018 00:32:56 +0000 |
parents | |
children | 5c4db73d289a |
comparison
equal
deleted
inserted
replaced
92:e42d528f3e6e | 93:26237514cae7 |
---|---|
1 #!/bin/sh | |
2 | |
3 set -e | |
4 | |
5 if [ ! -f configure-gcc.sh ] | |
6 then | |
7 echo "This script needs to be run from the top of the source tree" 1>&2 | |
8 exit 1 | |
9 fi | |
10 | |
11 if [ ! -f helpers/makeline ] | |
12 then | |
13 echo "Please run make in the helpers directory first" 1>&2 | |
14 exit 1 | |
15 fi | |
16 | |
17 # start looking at our invokation line | |
18 | |
19 if [ "$1" = --clean ] | |
20 then | |
21 clean_flag=1 | |
22 shift | |
23 else | |
24 clean_flag=0 | |
25 fi | |
26 | |
27 if [ $# -lt 1 ] | |
28 then | |
29 echo "usage: $0 [--clean] target [vars]" 1>&2 | |
30 exit 1 | |
31 fi | |
32 | |
33 TARGET="$1" | |
34 | |
35 if [ ! -f "targets/$TARGET.conf" -o ! -f "targets/$TARGET.h" ] | |
36 then | |
37 echo "Error: target $TARGET not known" 1>&2 | |
38 exit 1 | |
39 fi | |
40 | |
41 if [ ! -f "targets/$TARGET.m4" ] | |
42 then | |
43 echo "Error: target $TARGET is not supported with gcc" 1>&2 | |
44 fi | |
45 | |
46 # target defaults that can be overridden by $TARGET.conf | |
47 | |
48 CHIPSET=10 | |
49 DSP=36 | |
50 RF=12 | |
51 DISABLE_SLEEP=0 | |
52 | |
53 . "targets/$TARGET.conf" | |
54 | |
55 BUILD_DIR="build-$TARGET-gcc" | |
56 | |
57 # settings derived from the target-defined DSP version | |
58 | |
59 case "$DSP" in | |
60 33) | |
61 AMR=0 | |
62 L1_DYN_DSP_DWNLD=0 | |
63 L1_VOICE_MEMO_AMR=0 | |
64 MELODY_E2=0 | |
65 SPEECH_RECO=0 | |
66 ;; | |
67 34) | |
68 AMR=1 | |
69 L1_DYN_DSP_DWNLD=0 | |
70 L1_VOICE_MEMO_AMR=0 | |
71 MELODY_E2=0 | |
72 SPEECH_RECO=0 | |
73 ;; | |
74 36) | |
75 AMR=1 | |
76 L1_DYN_DSP_DWNLD=1 | |
77 L1_VOICE_MEMO_AMR=1 | |
78 MELODY_E2=1 | |
79 SPEECH_RECO=1 | |
80 ;; | |
81 *) | |
82 echo "Error: DSP=$DSP setting not understood" 1>&2 | |
83 exit 1 | |
84 esac | |
85 | |
86 # miscellaneous configurable feature settings | |
87 | |
88 ALLOW_CSIM_GSM=1 | |
89 SERIAL_DYNAMIC_SWITCH=0 | |
90 TR_BAUD_CONFIG=TR_BAUD_115200 | |
91 | |
92 # allow the user to override these defaults | |
93 | |
94 shift | |
95 while [ $# != 0 ] | |
96 do | |
97 eval "$1" | |
98 shift | |
99 done | |
100 | |
101 echo "Building firmware for target $TARGET in $BUILD_DIR" | |
102 | |
103 if [ "$clean_flag" = 1 ] | |
104 then | |
105 rm -rf $BUILD_DIR | |
106 fi | |
107 mkdir -p $BUILD_DIR | |
108 | |
109 # shell functions to be used in the configuration recipe | |
110 | |
111 build_lib() { | |
112 if [ $# != 1 ] | |
113 then | |
114 echo "Error: build_lib takes 1 argument" 1>&2 | |
115 exit 1 | |
116 fi | |
117 scripts/mk-component-gcc.sh "$1" | |
118 SUBDIR="$SUBDIR $1" | |
119 LIBS="$LIBS $1/$1.a" | |
120 } | |
121 | |
122 # invoke the configuration recipe | |
123 | |
124 export BUILD_DIR TARGET | |
125 export CHIPSET DSP RF | |
126 export AMR L1_DYN_DSP_DWNLD L1_VOICE_MEMO_AMR MELODY_E2 SPEECH_RECO | |
127 export DISABLE_SLEEP | |
128 export ALLOW_CSIM_GSM SERIAL_DYNAMIC_SWITCH TR_BAUD_CONFIG | |
129 export GPRS SRVC FCHG_STATE | |
130 | |
131 scripts/config-headers.sh | |
132 | |
133 SUBDIR= | |
134 LIBS= | |
135 | |
136 build_lib ccddata | |
137 | |
138 # ACI libs | |
139 build_lib aci | |
140 build_lib aciext | |
141 build_lib aci_dti_mng | |
142 build_lib atiext | |
143 build_lib comlib | |
144 | |
145 if [ "$GPRS" = 1 ] | |
146 then | |
147 build_lib config_gprs_fl | |
148 build_lib config_gprs_ir | |
149 else | |
150 build_lib config_gsm_fl | |
151 build_lib config_gsm_ir | |
152 fi | |
153 | |
154 # G23M protocol stack libs | |
155 build_lib alr | |
156 build_lib cc | |
157 build_lib dl | |
158 build_lib dti | |
159 build_lib l1_pei | |
160 build_lib mm | |
161 build_lib rr | |
162 build_lib sim_b_lib | |
163 build_lib sms | |
164 build_lib ss | |
165 build_lib uart_b_lib | |
166 | |
167 # fax and data | |
168 if [ "$SRVC" != 0 ] | |
169 then | |
170 build_lib l2r | |
171 build_lib ra | |
172 build_lib rlp | |
173 fi | |
174 | |
175 # fax specific | |
176 if [ "$SRVC" = 1 ] | |
177 then | |
178 build_lib fad | |
179 build_lib t30 | |
180 fi | |
181 | |
182 # GPRS specific | |
183 if [ "$GPRS" = 1 ] | |
184 then | |
185 build_lib cci | |
186 build_lib cci_ir | |
187 build_lib cl | |
188 build_lib gmm | |
189 build_lib grlc | |
190 build_lib grlc_ir | |
191 build_lib grr | |
192 build_lib llc | |
193 build_lib sm | |
194 build_lib sndcp | |
195 build_lib ppp | |
196 build_lib ppp_ir | |
197 build_lib upm | |
198 fi | |
199 | |
200 # Condat drivers | |
201 build_lib gdi | |
202 | |
203 # GPF | |
204 build_lib ccd_na7_db | |
205 build_lib frame_na7_db_fl | |
206 build_lib frame_na7_db_ir | |
207 build_lib misc_na7_db_fl | |
208 build_lib misc_na7_db_ir | |
209 build_lib osx_na7_db | |
210 build_lib tif_na7_db_fl | |
211 build_lib tif_na7_db_ir | |
212 | |
213 # core drivers | |
214 build_lib drivers_flash | |
215 | |
216 # Layer 1 | |
217 build_lib tpudrv | |
218 build_lib l1_ext | |
219 build_lib l1_int | |
220 build_lib l1_custom_ext | |
221 build_lib l1_custom_int | |
222 | |
223 build_lib riviera_core_flash | |
224 build_lib riviera_cust_flash | |
225 | |
226 # services | |
227 build_lib audio | |
228 build_lib audio_bgd | |
229 build_lib cst | |
230 build_lib dar | |
231 build_lib dar_gbl_var | |
232 build_lib etm | |
233 build_lib lls | |
234 | |
235 # app drivers | |
236 build_lib abb | |
237 build_lib buzzer | |
238 if [ "$FCHG_STATE" = 1 ] | |
239 then | |
240 build_lib fchg | |
241 fi | |
242 build_lib ffs | |
243 build_lib ffs_drv | |
244 build_lib ffs_pcm | |
245 build_lib kpd | |
246 build_lib power | |
247 build_lib rtc_drv | |
248 build_lib sim_drv | |
249 build_lib spi_drv | |
250 build_lib uart_drv | |
251 | |
252 # system glue | |
253 build_lib main | |
254 build_lib main_ir | |
255 | |
256 # Nucleus | |
257 build_lib nucleus_flash | |
258 build_lib nucleus_intram | |
259 | |
260 # selective libc replacement | |
261 build_lib libsys_fl | |
262 build_lib libsys_ir | |
263 | |
264 # generate the top level Makefile! | |
265 | |
266 helpers/makeline def TARGET $TARGET > $BUILD_DIR/Makefile | |
267 echo >> $BUILD_DIR/Makefile | |
268 helpers/makeline def SUBDIR $SUBDIR >> $BUILD_DIR/Makefile | |
269 echo >> $BUILD_DIR/Makefile | |
270 helpers/makeline def LIBS $LIBS >> $BUILD_DIR/Makefile | |
271 echo >> $BUILD_DIR/Makefile | |
272 | |
273 helpers/makeline def FLASH_BASE_ADDR $FLASH_BASE_ADDR >> $BUILD_DIR/Makefile | |
274 helpers/makeline def FLASH_SECTOR_SIZE $FLASH_SECTOR_SIZE >> $BUILD_DIR/Makefile | |
275 echo >> $BUILD_DIR/Makefile | |
276 | |
277 cat gcc/makefile-body >> $BUILD_DIR/Makefile | |
278 | |
279 # All done! | |
280 | |
281 echo "Run make in $BUILD_DIR to compile the firmware" |