FS#11611: Use -std=gnu99 to allow additional C99 features
[maemo-rb.git] / tools / configure
blob7821ab6d3beefb43971cb0121b40ba25b16cddd2
1 #!/bin/sh
2 # __________ __ ___.
3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 # \/ \/ \/ \/ \/
8 # $Id$
11 # global CC options for all platforms
12 CCOPTS="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe -std=gnu99"
14 # global LD options for all platforms
15 GLOBAL_LDOPTS=""
17 extradefines=""
18 use_logf="#undef ROCKBOX_HAS_LOGF"
19 use_bootchart="#undef DO_BOOTCHART"
21 scriptver=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
23 rbdir="/.rockbox"
24 need_full_path=
25 bindir=
26 libdir=
27 bindir_full=
28 libdir_full=
30 app_platform=
31 app_lcd_width=
32 app_lcd_height=
34 # Begin Function Definitions
36 input() {
37 read response
38 echo $response
41 prefixtools () {
42 prefix="$1"
43 CC=${prefix}gcc
44 WINDRES=${prefix}windres
45 DLLTOOL=${prefix}dlltool
46 DLLWRAP=${prefix}dllwrap
47 RANLIB=${prefix}ranlib
48 LD=${prefix}ld
49 AR=${prefix}ar
50 AS=${prefix}as
51 OC=${prefix}objcopy
54 app_get_platform() {
55 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
56 choice=`input`
57 case $choice in
58 s|S*) app_platform="sdl" ;;
59 *|a|A*) app_platform="android" ;;
60 esac
62 echo "Selected $app_platform platform"
63 echo "Enter the LCD width (default: 320)"
64 app_lcd_width=`input`
65 if [ -z "$app_lcd_width" ]; then app_lcd_width="320"; fi
66 echo "Enter the LCD height (default: 480)"
67 app_lcd_height=`input`
68 if [ -z "$app_lcd_height" ]; then app_lcd_height="480"; fi
69 echo "Selected $app_lcd_width x $app_lcd_height resolution"
71 app_lcd_width="#define LCD_WIDTH $app_lcd_width"
72 app_lcd_height="#define LCD_HEIGHT $app_lcd_height"
73 # setup files and paths depending on the platform
74 if [ "$app_platform" = "sdl" ]; then
75 if [ -z "$PREFIX" ]; then
76 rbdir="/usr/local/share/rockbox"
77 bindir="/usr/local/bin"
78 bindir_full=$bindir
79 libdir="/usr/local/lib"
80 libdir_full=$libdir
81 else
82 rbdir=`realpath $PREFIX/share/rockbox`
83 bindir="$PREFIX/bin"
84 libdir="$PREFIX/lib"
85 if [ -d bindir ]; then
86 bindir_full=`realpath $bindir`
88 if [ -d libdir ]; then
89 libdir_full=`realpath $libdir`
91 fi
92 output="rockbox"
93 bootoutput="rockbox"
94 elif [ "$app_platform" = "android" ]; then
95 if [ -n "$PREFIX" ]; then
96 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
98 if [ -z "$ANDROID_SDK_PATH" ]; then
99 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
100 echo "environment variable point to the root directory of the Android SDK."
101 exit
103 if [ -z "$ANDROID_NDK_PATH" ]; then
104 echo "ERROR: You need the Android NDK installed and have the ANDROID_NDK_PATH"
105 echo "environment variable point to the root directory of the Android NDK."
106 exit
108 rbdir="/data/data/org.rockbox/app_rockbox/rockbox"
109 bindir="/data/data/org.rockbox/lib"
110 bindir_full=$bindir
111 libdir="/data/data/org.rockbox/app_rockbox"
112 libdir_full=$libdir
113 output="librockbox.so"
114 bootoutput="librockbox.so"
118 findarmgcc() {
119 if [ "$ARG_ARM_EABI" != "0" ]; then
120 prefixtools arm-elf-eabi-
121 gccchoice="4.4.4"
122 else
123 prefixtools arm-elf-
124 gccchoice="4.0.3"
128 # scan the $PATH for the given command
129 findtool(){
130 file="$1"
132 IFS=":"
133 for path in $PATH
135 # echo "checks for $file in $path" >&2
136 if test -f "$path/$file"; then
137 echo "$path/$file"
138 return
140 done
141 # check whether caller wants literal return value if not found
142 if [ "$2" = "--lit" ]; then
143 echo "$file"
147 # scan the $PATH for sdl-config - check whether for a (cross-)win32
148 # sdl as requested
149 findsdl(){
150 file="sdl-config"
151 winbuild="$1"
153 IFS=":"
154 for path in $PATH
156 #echo "checks for $file in $path" >&2
157 if test -f "$path/$file"; then
158 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
159 if [ "yes" = "${winbuild}" ]; then
160 echo "$path/$file"
161 return
163 else
164 if [ "yes" != "${winbuild}" ]; then
165 echo "$path/$file"
166 return
170 done
173 appcc () {
174 if [ "$1" = "sdl" ]; then
175 simcc "sdl-app"
176 elif [ "$1" = "android" ]; then
177 app_type=$1
178 androidcc
182 simcc () {
184 # default tool setup for native building
185 prefixtools "$CROSS_COMPILE"
186 ARG_ARM_THUMB=0 # can't use thumb in native builds
188 app_type=$1
189 winbuild=""
190 GCCOPTS='-W -Wall -g -fno-builtin'
191 GCCOPTIMIZE=''
192 LDOPTS='-lm' # button-sdl.c uses sqrt()
194 # default output binary name, don't override app_get_platform()
195 if [ "$app_type" != "sdl-app" ]; then
196 output="rockboxui"
199 # default share option, override below if needed
200 SHARED_FLAG="-shared"
202 if [ "$win32crosscompile" = "yes" ]; then
203 LDOPTS="$LDOPTS -mconsole"
204 output="$output.exe"
205 winbuild="yes"
206 else
207 case $uname in
208 CYGWIN*)
209 echo "Cygwin host detected"
211 LDOPTS="$LDOPTS -mconsole"
212 output="$output.exe"
213 winbuild="yes"
216 MINGW*)
217 echo "MinGW host detected"
219 LDOPTS="$LDOPTS -mconsole"
220 output="$output.exe"
221 winbuild="yes"
224 Linux)
225 echo "Linux host detected"
226 LDOPTS="$LDOPTS -ldl"
229 FreeBSD)
230 echo "FreeBSD host detected"
231 LDOPTS="$LDOPTS -ldl"
234 Darwin)
235 echo "Darwin host detected"
236 LDOPTS="$LDOPTS -ldl"
238 SHARED_FLAG="-dynamiclib -Wl\,-single_module"
241 SunOS)
242 echo "*Solaris host detected"
244 GCCOPTS="$GCCOPTS -fPIC"
245 LDOPTS="$LDOPTS -ldl"
249 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
250 exit 1
252 esac
255 [ "$winbuild" != "yes" ] && GLOBAL_LDOPTS="$GLOBAL_LDOPTS -Wl,-z,defs"
256 sdl=`findsdl $winbuild`
258 if [ -n `echo $app_type | grep "sdl"` ]; then
259 if [ -z "$sdl" ]; then
260 echo "configure didn't find sdl-config, which indicates that you"
261 echo "don't have SDL (properly) installed. Please correct and"
262 echo "re-run configure!"
263 exit 2
264 else
265 # generic sdl-config checker
266 GCCOPTS="$GCCOPTS `$sdl --cflags`"
267 LDOPTS="$LDOPTS `$sdl --libs`"
272 GCCOPTS="$GCCOPTS -I\$(SIMDIR)"
274 if test "X$win32crosscompile" != "Xyes"; then
275 case `uname -m` in
276 x86_64|amd64)
277 # fPIC is needed to make shared objects link
278 # setting visibility to hidden is necessary to avoid strange crashes
279 # due to symbol clashing
280 GCCOPTS="$GCCOPTS -fPIC -fvisibility=hidden"
281 # x86_64 supports MMX by default
284 i686)
285 echo "Enabling MMX support"
286 GCCOPTS="$GCCOPTS -mmmx"
288 esac
290 id=$$
291 cat >$tmpdir/conftest-$id.c <<EOF
292 #include <stdio.h>
293 int main(int argc, char **argv)
295 int var=0;
296 char *varp = (char *)&var;
297 *varp=1;
299 printf("%d\n", var);
300 return 0;
304 $CC -o $tmpdir/conftest-$id $tmpdir/conftest-$id.c 2>/dev/null
306 # when cross compiling, the endianess cannot be detected because the above program doesn't run
307 # on the local machine. assume little endian but print a warning
308 endian=`$tmpdir/conftest-$id 2> /dev/null`
309 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
310 # big endian
311 endian="big"
312 else
313 # little endian
314 endian="little"
317 if [ "$CROSS_COMPILE" != "" ]; then
318 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
321 if [ "$app_type" = "sdl-sim" ]; then
322 echo "Simulator environment deemed $endian endian"
323 elif [ "$app_type" = "sdl-app" ]; then
324 echo "Application environment deemed $endian endian"
325 elif [ "$app_type" = "checkwps" ]; then
326 echo "CheckWPS environment deemed $endian endian"
329 # use wildcard here to make it work even if it was named *.exe like
330 # on cygwin
331 rm -f $tmpdir/conftest-$id*
332 else
333 # We are crosscompiling
334 # add cross-compiler option(s)
335 prefixtools i586-mingw32msvc-
336 LDOPTS="$LDOPTS -mconsole"
337 output="rockboxui.exe"
338 endian="little" # windows is little endian
339 echo "Enabling MMX support"
340 GCCOPTS="$GCCOPTS -mmmx"
345 # functions for setting up cross-compiler names and options
346 # also set endianess and what the exact recommended gcc version is
347 # the gcc version should most likely match what versions we build with
348 # rockboxdev.sh
350 shcc () {
351 prefixtools sh-elf-
352 GCCOPTS="$CCOPTS -m1"
353 GCCOPTIMIZE="-fomit-frame-pointer -fschedule-insns"
354 endian="big"
355 gccchoice="4.0.3"
358 calmrisccc () {
359 prefixtools calmrisc16-unknown-elf-
360 GCCOPTS="-Wl\,--no-check-sections $CCOPTS"
361 GCCOPTIMIZE="-fomit-frame-pointer"
362 endian="big"
365 coldfirecc () {
366 prefixtools m68k-elf-
367 GCCOPTS="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
368 GCCOPTIMIZE="-fomit-frame-pointer"
369 endian="big"
370 gccchoice="3.4.6"
373 arm7tdmicc () {
374 findarmgcc
375 GCCOPTS="$CCOPTS -mcpu=arm7tdmi"
376 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
377 GCCOPTS="$GCCOPTS -mlong-calls"
379 GCCOPTIMIZE="-fomit-frame-pointer"
380 endian="little"
383 arm9tdmicc () {
384 findarmgcc
385 GCCOPTS="$CCOPTS -mcpu=arm9tdmi"
386 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
387 GCCOPTS="$GCCOPTS -mlong-calls"
389 GCCOPTIMIZE="-fomit-frame-pointer"
390 endian="little"
393 arm940tbecc () {
394 findarmgcc
395 GCCOPTS="$CCOPTS -mbig-endian -mcpu=arm940t"
396 if test "$ARG_ARM_EABI" = "0"; then
397 GCCOPTS="$GCCOPTS -mlong-calls"
399 GCCOPTIMIZE="-fomit-frame-pointer"
400 endian="big"
403 arm940tcc () {
404 findarmgcc
405 GCCOPTS="$CCOPTS -mcpu=arm940t"
406 if test "$ARG_ARM_EABI" = "0"; then
407 GCCOPTS="$GCCOPTS -mlong-calls"
409 GCCOPTIMIZE="-fomit-frame-pointer"
410 endian="little"
413 arm946cc () {
414 findarmgcc
415 GCCOPTS="$CCOPTS -mcpu=arm9e"
416 if test "$ARG_ARM_EABI" = "0"; then
417 GCCOPTS="$GCCOPTS -mlong-calls"
419 GCCOPTIMIZE="-fomit-frame-pointer"
420 endian="little"
423 arm926ejscc () {
424 findarmgcc
425 GCCOPTS="$CCOPTS -mcpu=arm926ej-s"
426 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
427 GCCOPTS="$GCCOPTS -mlong-calls"
429 GCCOPTIMIZE="-fomit-frame-pointer"
430 endian="little"
433 arm1136jfscc () {
434 findarmgcc
435 GCCOPTS="$CCOPTS -mcpu=arm1136jf-s"
436 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
437 GCCOPTS="$GCCOPTS -mlong-calls"
439 GCCOPTIMIZE="-fomit-frame-pointer"
440 endian="little"
443 arm1176jzscc () {
444 findarmgcc
445 GCCOPTS="$CCOPTS -mcpu=arm1176jz-s"
446 if test "$ARG_ARM_EABI" = "0"; then
447 GCCOPTS="$GCCOPTS -mlong-calls"
449 GCCOPTIMIZE="-fomit-frame-pointer"
450 endian="little"
453 mipselcc () {
454 prefixtools mipsel-elf-
455 # mips is predefined, but we want it for paths. use __mips instead
456 GCCOPTS="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls -Umips"
457 GCCOPTS="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
458 GCCOPTIMIZE="-fomit-frame-pointer"
459 endian="little"
460 gccchoice="4.1.2"
463 androidcc () {
464 gccchoice="4.4.0"
465 prefixtools $ANDROID_NDK_PATH/build/prebuilt/linux-x86/arm-eabi-$gccchoice/bin/arm-eabi-
466 GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//`
467 GCCOPTS="$GCCOPTS -ffunction-sections -fno-short-enums -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer"
468 GLOBAL_LDOPTS="$GLOBAL_LDOPTS -nostdlib -lc -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -L$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/lib/ -Wl,-rpath-link=$ANDROID_NKD_PATH/build/platforms/android-4/arch-arm/usr/lib"
469 LDOPTS="$LDOPTS -shared -nostdlib -lm -ldl -llog"
470 extradefines="$extradefines -DANDROID"
471 endian="little"
472 SHARED_FLAG="-shared"
475 whichadvanced () {
476 atype=`echo "$1" | cut -c 2-`
477 ##################################################################
478 # Prompt for specific developer options
480 if [ "$atype" ]; then
481 interact=
482 else
483 interact=1
484 echo ""
485 printf "Enter your developer options (press only enter when done)\n\
486 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
487 (T)est plugins, S(m)all C lib:"
488 if [ "$memory" = "2" ]; then
489 printf ", (8)MB MOD"
491 if [ "$modelname" = "archosplayer" ]; then
492 printf ", Use (A)TA poweroff"
494 if [ "$t_model" = "ondio" ]; then
495 printf ", (B)acklight MOD"
497 if [ "$modelname" = "iaudiom5" ]; then
498 printf ", (F)M radio MOD"
500 if [ "$modelname" = "iriverh120" ]; then
501 printf ", (R)TC MOD"
503 echo ""
506 cont=1
507 while [ $cont = "1" ]; do
509 if [ "$interact" ]; then
510 option=`input`
511 else
512 option=`echo "$atype" | cut -c 1`
515 case $option in
516 [Dd])
517 if [ "yes" = "$profile" ]; then
518 echo "Debug is incompatible with profiling"
519 else
520 echo "DEBUG build enabled"
521 use_debug="yes"
524 [Ll])
525 echo "logf() support enabled"
526 logf="yes"
528 [Mm])
529 echo "Using Rockbox' small C library"
530 extradefines="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
532 [Tt])
533 echo "Including test plugins"
534 extradefines="$extradefines -DHAVE_TEST_PLUGINS"
536 [Cc])
537 echo "bootchart enabled (logf also enabled)"
538 bootchart="yes"
539 logf="yes"
541 [Ss])
542 echo "Simulator build enabled"
543 simulator="yes"
545 [Pp])
546 if [ "yes" = "$use_debug" ]; then
547 echo "Profiling is incompatible with debug"
548 else
549 echo "Profiling support is enabled"
550 profile="yes"
553 [Vv])
554 echo "Voice build selected"
555 voice="yes"
558 if [ "$memory" = "2" ]; then
559 memory="8"
560 echo "Memory size selected: 8MB"
563 [Aa])
564 if [ "$modelname" = "archosplayer" ]; then
565 have_ata_poweroff="#define HAVE_ATA_POWER_OFF"
566 echo "ATA power off enabled"
569 [Bb])
570 if [ "$t_model" = "ondio" ]; then
571 have_backlight="#define HAVE_BACKLIGHT"
572 echo "Backlight functions enabled"
575 [Ff])
576 if [ "$modelname" = "iaudiom5" ]; then
577 have_fmradio_in="#define HAVE_FMRADIO_IN"
578 echo "FM radio functions enabled"
581 [Rr])
582 if [ "$modelname" = "iriverh120" ]; then
583 config_rtc="#define CONFIG_RTC RTC_DS1339_DS3231"
584 have_rtc_alarm="#define HAVE_RTC_ALARM"
585 echo "RTC functions enabled (DS1339/DS3231)"
588 [Ww])
589 echo "Enabling Windows 32 cross-compiling"
590 win32crosscompile="yes"
592 "") # Match enter press when finished with advanced options
593 cont=0
596 echo "[ERROR] Option $option unsupported"
598 esac
599 if [ "$interact" ]; then
600 btype="$btype$option"
601 else
602 atype=`echo "$atype" | cut -c 2-`
603 [ "$atype" ] || cont=0
605 done
606 echo "done"
608 if [ "yes" = "$voice" ]; then
609 # Ask about languages to build
610 picklang
611 voicelanguage=`whichlang`
612 echo "Voice language set to $voicelanguage"
614 # Configure encoder and TTS engine for each language
615 for thislang in `echo $voicelanguage | sed 's/,/ /g'`; do
616 voiceconfig "$thislang"
617 done
619 if [ "yes" = "$use_debug" ]; then
620 debug="-DDEBUG"
621 GCCOPTS="$GCCOPTS -g -DDEBUG"
623 if [ "yes" = "$logf" ]; then
624 use_logf="#define ROCKBOX_HAS_LOGF 1"
626 if [ "yes" = "$bootchart" ]; then
627 use_bootchart="#define DO_BOOTCHART 1"
629 if [ "yes" = "$simulator" ]; then
630 debug="-DDEBUG"
631 extradefines="$extradefines -DSIMULATOR"
632 archosrom=""
633 flash=""
635 if [ "yes" = "$profile" ]; then
636 extradefines="$extradefines -DRB_PROFILE"
637 PROFILE_OPTS="-finstrument-functions"
641 # Configure voice settings
642 voiceconfig () {
643 thislang=$1
644 if [ ! "$ARG_TTS" ]; then
645 echo "Building $thislang voice for $modelname. Select options"
646 echo ""
649 if [ -n "`findtool flite`" ]; then
650 FLITE="F(l)ite "
651 FLITE_OPTS=""
652 DEFAULT_TTS="flite"
653 DEFAULT_TTS_OPTS=$FLITE_OPTS
654 DEFAULT_NOISEFLOOR="500"
655 DEFAULT_CHOICE="L"
657 if [ -n "`findtool espeak`" ]; then
658 ESPEAK="(e)Speak "
659 ESPEAK_OPTS=""
660 DEFAULT_TTS="espeak"
661 DEFAULT_TTS_OPTS=$ESPEAK_OPTS
662 DEFAULT_NOISEFLOOR="500"
663 DEFAULT_CHOICE="e"
665 if [ -n "`findtool festival`" ]; then
666 FESTIVAL="(F)estival "
667 case "$thislang" in
668 "italiano")
669 FESTIVAL_OPTS="--language italian"
671 "espanol")
672 FESTIVAL_OPTS="--language spanish"
674 "finnish")
675 FESTIVAL_OPTS="--language finnish"
677 "czech")
678 FESTIVAL_OPTS="--language czech"
681 FESTIVAL_OPTS=""
683 esac
684 DEFAULT_TTS="festival"
685 DEFAULT_TTS_OPTS=$FESTIVAL_OPTS
686 DEFAULT_NOISEFLOOR="500"
687 DEFAULT_CHOICE="F"
689 if [ -n "`findtool swift`" ]; then
690 SWIFT="S(w)ift "
691 SWIFT_OPTS=""
692 DEFAULT_TTS="swift"
693 DEFAULT_TTS_OPTS=$SWIFT_OPTS
694 DEFAULT_NOISEFLOOR="500"
695 DEFAULT_CHOICE="w"
697 # Allow SAPI if Windows is in use
698 if [ -n "`findtool winver`" ]; then
699 SAPI="(S)API "
700 SAPI_OPTS=""
701 DEFAULT_TTS="sapi"
702 DEFAULT_TTS_OPTS=$SAPI_OPTS
703 DEFAULT_NOISEFLOOR="500"
704 DEFAULT_CHOICE="S"
707 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
708 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
709 exit 3
712 if [ "$ARG_TTS" ]; then
713 option=$ARG_TTS
714 else
715 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
716 option=`input`
718 advopts="$advopts --tts=$option"
719 case "$option" in
720 [Ll])
721 TTS_ENGINE="flite"
722 NOISEFLOOR="500" # TODO: check this value
723 TTS_OPTS=$FLITE_OPTS
725 [Ee])
726 TTS_ENGINE="espeak"
727 NOISEFLOOR="500"
728 TTS_OPTS=$ESPEAK_OPTS
730 [Ff])
731 TTS_ENGINE="festival"
732 NOISEFLOOR="500"
733 TTS_OPTS=$FESTIVAL_OPTS
735 [Ss])
736 TTS_ENGINE="sapi"
737 NOISEFLOOR="500"
738 TTS_OPTS=$SAPI_OPTS
740 [Ww])
741 TTS_ENGINE="swift"
742 NOISEFLOOR="500"
743 TTS_OPTS=$SWIFT_OPTS
746 TTS_ENGINE=$DEFAULT_TTS
747 TTS_OPTS=$DEFAULT_TTS_OPTS
748 NOISEFLOOR=$DEFAULT_NOISEFLOOR
749 esac
750 echo "Using $TTS_ENGINE for TTS"
752 # Select which voice to use for Festival
753 if [ "$TTS_ENGINE" = "festival" ]; then
754 voicelist=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
755 for voice in $voicelist; do
756 TTS_FESTIVAL_VOICE="$voice" # Default choice
757 break
758 done
759 if [ "$ARG_VOICE" ]; then
760 CHOICE=$ARG_VOICE
761 else
763 for voice in $voicelist; do
764 printf "%3d. %s\n" "$i" "$voice"
765 i=`expr $i + 1`
766 done
767 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
768 CHOICE=`input`
771 for voice in $voicelist; do
772 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
773 TTS_FESTIVAL_VOICE="$voice"
775 i=`expr $i + 1`
776 done
777 advopts="$advopts --voice=$CHOICE"
778 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
779 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
782 # Read custom tts options from command line
783 if [ "$ARG_TTSOPTS" ]; then
784 TTS_OPTS="$ARG_TTSOPTS"
785 advopts="$advopts --ttsopts='$TTS_OPTS'"
786 echo "$TTS_ENGINE options set to $TTS_OPTS"
789 if [ "$swcodec" = "yes" ]; then
790 ENCODER="rbspeexenc"
791 ENC_CMD="rbspeexenc"
792 ENC_OPTS="-q 4 -c 10"
793 else
794 if [ -n "`findtool lame`" ]; then
795 ENCODER="lame"
796 ENC_CMD="lame"
797 ENC_OPTS="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
798 else
799 echo "You need LAME in the system path to build voice files for"
800 echo "HWCODEC targets."
801 exit 4
805 echo "Using $ENCODER for encoding voice clips"
807 # Read custom encoder options from command line
808 if [ "$ARG_ENCOPTS" ]; then
809 ENC_OPTS="$ARG_ENCOPTS"
810 advopts="$advopts --encopts='$ENC_OPTS'"
811 echo "$ENCODER options set to $ENC_OPTS"
814 TEMPDIR="${pwd}"
815 if [ -n "`findtool cygpath`" ]; then
816 TEMPDIR=`cygpath . -a -w`
820 picklang() {
821 # figure out which languages that are around
822 for file in $rootdir/apps/lang/*.lang; do
823 clean=`basename $file .lang`
824 langs="$langs $clean"
825 done
827 if [ "$ARG_LANG" ]; then
828 pick=$ARG_LANG
829 else
830 echo "Select a number for the language to use (default is english)"
831 # FIXME The multiple-language feature is currently broken
832 # echo "You may enter a comma-separated list of languages to build"
834 num=1
835 for one in $langs; do
836 echo "$num. $one"
837 num=`expr $num + 1`
838 done
839 pick=`input`
841 advopts="$advopts --language=$pick"
844 whichlang() {
845 output=""
846 # Allow the user to pass a comma-separated list of langauges
847 for thispick in `echo $pick | sed 's/,/ /g'`; do
848 num=1
849 for one in $langs; do
850 # Accept both the language number and name
851 if [ "$num" = "$thispick" ] || [ "$thispick" = "$one" ]; then
852 if [ "$output" = "" ]; then
853 output=$one
854 else
855 output=$output,$one
858 num=`expr $num + 1`
859 done
860 done
861 if [ -z "$output" ]; then
862 # pick a default
863 output="english"
865 echo $output
868 help() {
869 echo "Rockbox configure script."
870 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
871 echo "Do *NOT* run this within the tools directory!"
872 echo ""
873 cat <<EOF
874 Usage: configure [OPTION]...
875 Options:
876 --target=TARGET Sets the target, TARGET can be either the target ID or
877 corresponding string. Run without this option to see all
878 available targets.
880 --ram=RAM Sets the RAM for certain targets. Even though any number
881 is accepted, not every number is correct. The default
882 value will be applied, if you entered a wrong number
883 (which depends on the target). Watch the output. Run
884 without this option if you are not sure which the right
885 number is.
887 --type=TYPE Sets the build type. Shortcuts are also valid.
888 Run without this option to see all available types.
889 Multiple values are allowed and managed in the input
890 order. So --type=b stands for Bootloader build, while
891 --type=ab stands for "Backlight MOD" build.
893 --language=LANG Set the language used for voice generation (used only if
894 TYPE is AV).
896 --tts=ENGINE Set the TTS engine used for voice generation (used only
897 if TYPE is AV).
899 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
900 AV).
902 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
904 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
906 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
907 This is useful for having multiple alternate builds on
908 your device that you can load with ROLO. However as the
909 bootloader looks for .rockbox you won't be able to boot
910 into this build.
912 --ccache Enable ccache use (done by default these days)
913 --no-ccache Disable ccache use
915 --eabi Make configure prefer toolchains that are able to compile
916 for the new ARM standard abi EABI
917 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
918 --thumb Build with -mthumb (for ARM builds)
919 --no-thumb The opposite of --thumb (don't use thumb even for targets
920 where this is the default
921 --prefix Target installation directory
922 --help Shows this message (must not be used with other options)
926 exit
929 ARG_CCACHE=
930 ARG_ENCOPTS=
931 ARG_LANG=
932 ARG_RAM=
933 ARG_RBDIR=
934 ARG_TARGET=
935 ARG_TTS=
936 ARG_TTSOPTS=
937 ARG_TYPE=
938 ARG_VOICE=
939 ARG_ARM_EABI=
940 ARG_ARM_THUMB=
941 err=
942 for arg in "$@"; do
943 case "$arg" in
944 --ccache) ARG_CCACHE=1;;
945 --no-ccache) ARG_CCACHE=0;;
946 --encopts=*) ARG_ENCOPTS=`echo "$arg" | cut -d = -f 2`;;
947 --language=*) ARG_LANG=`echo "$arg" | cut -d = -f 2`;;
948 --ram=*) ARG_RAM=`echo "$arg" | cut -d = -f 2`;;
949 --rbdir=*) ARG_RBDIR=`echo "$arg" | cut -d = -f 2`;;
950 --target=*) ARG_TARGET=`echo "$arg" | cut -d = -f 2`;;
951 --tts=*) ARG_TTS=`echo "$arg" | cut -d = -f 2`;;
952 --ttsopts=*) ARG_TTSOPTS=`echo "$arg" | cut -d = -f 2`;;
953 --type=*) ARG_TYPE=`echo "$arg" | cut -d = -f 2`;;
954 --voice=*) ARG_VOICE=`echo "$arg" | cut -d = -f 2`;;
955 --eabi) ARG_ARM_EABI=1;;
956 --no-eabi) ARG_ARM_EABI=0;;
957 --thumb) ARG_ARM_THUMB=1;;
958 --no-thumb) ARG_ARM_THUMB=0;;
959 --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;;
960 --help) help;;
961 *) err=1; echo "[ERROR] Option '$arg' unsupported";;
962 esac
963 done
964 [ "$err" ] && exit 1
966 advopts=
968 if [ "$TMPDIR" != "" ]; then
969 tmpdir=$TMPDIR
970 else
971 tmpdir=/tmp
973 echo Using temporary directory $tmpdir
975 if test -r "configure"; then
976 # this is a check for a configure script in the current directory, it there
977 # is one, try to figure out if it is this one!
979 if { grep "^# Jukebox" configure >/dev/null 2>&1 ; } then
980 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
981 echo "It will only cause you pain and grief. Instead do this:"
982 echo ""
983 echo " cd .."
984 echo " mkdir build-dir"
985 echo " cd build-dir"
986 echo " ../tools/configure"
987 echo ""
988 echo "Much happiness will arise from this. Enjoy"
989 exit 5
993 # get our current directory
994 pwd=`pwd`;
996 if { echo $pwd | grep " "; } then
997 echo "You're running this script in a path that contains space. The build"
998 echo "system is unfortunately not clever enough to deal with this. Please"
999 echo "run the script from a different path, rename the path or fix the build"
1000 echo "system!"
1001 exit 6
1004 if [ -z "$rootdir" ]; then
1005 ##################################################################
1006 # Figure out where the source code root is!
1008 rootdir=`dirname $0`/../
1010 #####################################################################
1011 # Convert the possibly relative directory name to an absolute version
1013 now=`pwd`
1014 cd $rootdir
1015 rootdir=`pwd`
1017 # cd back to the build dir
1018 cd $now
1021 apps="apps"
1022 appsdir='\$(ROOTDIR)/apps'
1023 firmdir='\$(ROOTDIR)/firmware'
1024 toolsdir='\$(ROOTDIR)/tools'
1027 ##################################################################
1028 # Figure out target platform
1031 if [ "$ARG_TARGET" ]; then
1032 buildfor=$ARG_TARGET
1033 else
1034 echo "Enter target platform:"
1035 cat <<EOF
1036 ==Archos== ==iriver== ==Apple iPod==
1037 0) Player/Studio 10) H120/H140 20) Color/Photo
1038 1) Recorder 11) H320/H340 21) Nano 1G
1039 2) FM Recorder 12) iHP-100/110/115 22) Video
1040 3) Recorder v2 13) iFP-790 23) 3G
1041 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1042 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1043 6) AV300 26) Mini 2G
1044 ==Toshiba== 27) 1G, 2G
1045 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1046 30) X5/X5V/X5L 41) Gigabeat S
1047 31) M5/M5L ==SanDisk==
1048 32) 7 ==Olympus= 50) Sansa e200
1049 33) D2 70) M:Robe 500 51) Sansa e200R
1050 34) M3/M3L 71) M:Robe 100 52) Sansa c200
1051 53) Sansa m200
1052 ==Creative== ==Philips== 54) Sansa c100
1053 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
1054 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
1055 92) Zen Vision HDD1830 57) Sansa m200v4
1056 102) GoGear HDD6330 58) Sansa Fuze
1057 ==Onda== 59) Sansa c200v2
1058 120) VX747 ==Meizu== 60) Sansa Clipv2
1059 121) VX767 110) M6SL 61) Sansa View
1060 122) VX747+ 111) M6SP 62) Sansa Clip+
1061 123) VX777 112) M3 63) Sansa Fuze v2
1063 ==Logik==
1064 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
1065 140) YH-820 150) Elio TPJ-1022
1066 141) YH-920 ==Lyre project==
1067 142) YH-925 ==Packard Bell== 130) Lyre proto 1
1068 143) YP-S3 160) Vibe 500 131) Mini2440
1070 ==MPIO== == Application ==
1071 170) HD200 200) Application
1075 buildfor=`input`;
1078 # Set of tools built for all target platforms:
1079 toolset="rdf2binary convbdf codepages"
1081 # Toolsets for some target families:
1082 archosbitmaptools="$toolset scramble descramble sh2d uclpack bmp2rb"
1083 iriverbitmaptools="$toolset scramble descramble mkboot bmp2rb"
1084 iaudiobitmaptools="$toolset scramble descramble mkboot bmp2rb"
1085 ipodbitmaptools="$toolset scramble bmp2rb"
1086 gigabeatbitmaptools="$toolset scramble descramble bmp2rb"
1087 tccbitmaptools="$toolset scramble bmp2rb"
1088 # generic is used by IFP, Meizu and Onda
1089 genericbitmaptools="$toolset bmp2rb"
1090 # scramble is used by all other targets
1091 scramblebitmaptools="$genericbitmaptools scramble"
1094 # ---- For each target ----
1096 # *Variables*
1097 # target_id: a unique number identifying this target, IS NOT the menu number.
1098 # Just use the currently highest number+1 when you add a new
1099 # target.
1100 # modelname: short model name used all over to identify this target
1101 # memory: number of megabytes of RAM this target has. If the amount can
1102 # be selected by the size prompt, let memory be unset here
1103 # target: -Ddefine passed to the build commands to make the correct
1104 # config-*.h file get included etc
1105 # tool: the tool that takes a plain binary and converts that into a
1106 # working "firmware" file for your target
1107 # output: the final output file name
1108 # boottool: the tool that takes a plain binary and generates a bootloader
1109 # file for your target (or blank to use $tool)
1110 # bootoutput:the final output file name for the bootloader (or blank to use
1111 # $output)
1112 # appextra: passed to the APPEXTRA variable in the Makefiles.
1113 # TODO: add proper explanation
1114 # archosrom: used only for Archos targets that build a special flashable .ucl
1115 # image.
1116 # flash: name of output for flashing, for targets where there's a special
1117 # file output for this.
1118 # plugins: set to 'yes' to build the plugins. Early development builds can
1119 # set this to no in the early stages to have an easier life for a
1120 # while
1121 # swcodec: set 'yes' on swcodec targets
1122 # toolset: lists what particular tools in the tools/ directory that this
1123 # target needs to have built prior to building Rockbox
1125 # *Functions*
1126 # *cc: sets up gcc and compiler options for your target builds. Note
1127 # that if you select a simulator build, the compiler selection is
1128 # overridden later in the script.
1130 case $buildfor in
1132 0|archosplayer)
1133 target_id=1
1134 modelname="archosplayer"
1135 target="-DARCHOS_PLAYER"
1136 shcc
1137 tool="$rootdir/tools/scramble"
1138 output="archos.mod"
1139 appextra="player:gui"
1140 archosrom="$pwd/rombox.ucl"
1141 flash="$pwd/rockbox.ucl"
1142 plugins="yes"
1143 swcodec=""
1145 # toolset is the tools within the tools directory that we build for
1146 # this particular target.
1147 toolset="$toolset scramble descramble sh2d player_unifont uclpack"
1149 # Note: the convbdf is present in the toolset just because: 1) the
1150 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1151 # build the player simulator
1153 t_cpu="sh"
1154 t_manufacturer="archos"
1155 t_model="player"
1158 1|archosrecorder)
1159 target_id=2
1160 modelname="archosrecorder"
1161 target="-DARCHOS_RECORDER"
1162 shcc
1163 tool="$rootdir/tools/scramble"
1164 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1165 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1166 output="ajbrec.ajz"
1167 appextra="recorder:gui:radio"
1168 #archosrom="$pwd/rombox.ucl"
1169 flash="$pwd/rockbox.ucl"
1170 plugins="yes"
1171 swcodec=""
1172 # toolset is the tools within the tools directory that we build for
1173 # this particular target.
1174 toolset=$archosbitmaptools
1175 t_cpu="sh"
1176 t_manufacturer="archos"
1177 t_model="recorder"
1180 2|archosfmrecorder)
1181 target_id=3
1182 modelname="archosfmrecorder"
1183 target="-DARCHOS_FMRECORDER"
1184 shcc
1185 tool="$rootdir/tools/scramble -fm"
1186 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1187 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1188 output="ajbrec.ajz"
1189 appextra="recorder:gui:radio"
1190 #archosrom="$pwd/rombox.ucl"
1191 flash="$pwd/rockbox.ucl"
1192 plugins="yes"
1193 swcodec=""
1194 # toolset is the tools within the tools directory that we build for
1195 # this particular target.
1196 toolset=$archosbitmaptools
1197 t_cpu="sh"
1198 t_manufacturer="archos"
1199 t_model="fm_v2"
1202 3|archosrecorderv2)
1203 target_id=4
1204 modelname="archosrecorderv2"
1205 target="-DARCHOS_RECORDERV2"
1206 shcc
1207 tool="$rootdir/tools/scramble -v2"
1208 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1209 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1210 output="ajbrec.ajz"
1211 appextra="recorder:gui:radio"
1212 #archosrom="$pwd/rombox.ucl"
1213 flash="$pwd/rockbox.ucl"
1214 plugins="yes"
1215 swcodec=""
1216 # toolset is the tools within the tools directory that we build for
1217 # this particular target.
1218 toolset=$archosbitmaptools
1219 t_cpu="sh"
1220 t_manufacturer="archos"
1221 t_model="fm_v2"
1224 4|archosondiosp)
1225 target_id=7
1226 modelname="archosondiosp"
1227 target="-DARCHOS_ONDIOSP"
1228 shcc
1229 tool="$rootdir/tools/scramble -osp"
1230 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1231 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1232 output="ajbrec.ajz"
1233 appextra="recorder:gui:radio"
1234 #archosrom="$pwd/rombox.ucl"
1235 flash="$pwd/rockbox.ucl"
1236 plugins="yes"
1237 swcodec=""
1238 # toolset is the tools within the tools directory that we build for
1239 # this particular target.
1240 toolset=$archosbitmaptools
1241 t_cpu="sh"
1242 t_manufacturer="archos"
1243 t_model="ondio"
1246 5|archosondiofm)
1247 target_id=8
1248 modelname="archosondiofm"
1249 target="-DARCHOS_ONDIOFM"
1250 shcc
1251 tool="$rootdir/tools/scramble -ofm"
1252 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1253 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1254 output="ajbrec.ajz"
1255 appextra="recorder:gui:radio"
1256 #archosrom="$pwd/rombox.ucl"
1257 flash="$pwd/rockbox.ucl"
1258 plugins="yes"
1259 swcodec=""
1260 toolset=$archosbitmaptools
1261 t_cpu="sh"
1262 t_manufacturer="archos"
1263 t_model="ondio"
1266 6|archosav300)
1267 target_id=38
1268 modelname="archosav300"
1269 target="-DARCHOS_AV300"
1270 memory=16 # always
1271 arm7tdmicc
1272 tool="$rootdir/tools/scramble -mm=C"
1273 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1274 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1275 output="cjbm.ajz"
1276 appextra="recorder:gui:radio"
1277 plugins="yes"
1278 swcodec=""
1279 # toolset is the tools within the tools directory that we build for
1280 # this particular target.
1281 toolset="$toolset scramble descramble bmp2rb"
1282 # architecture, manufacturer and model for the target-tree build
1283 t_cpu="arm"
1284 t_manufacturer="archos"
1285 t_model="av300"
1288 10|iriverh120)
1289 target_id=9
1290 modelname="iriverh120"
1291 target="-DIRIVER_H120"
1292 memory=32 # always
1293 coldfirecc
1294 tool="$rootdir/tools/scramble -add=h120"
1295 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1296 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1297 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1298 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1299 output="rockbox.iriver"
1300 bootoutput="bootloader.iriver"
1301 appextra="recorder:gui:radio"
1302 flash="$pwd/rombox.iriver"
1303 plugins="yes"
1304 swcodec="yes"
1305 # toolset is the tools within the tools directory that we build for
1306 # this particular target.
1307 toolset=$iriverbitmaptools
1308 t_cpu="coldfire"
1309 t_manufacturer="iriver"
1310 t_model="h100"
1313 11|iriverh300)
1314 target_id=10
1315 modelname="iriverh300"
1316 target="-DIRIVER_H300"
1317 memory=32 # always
1318 coldfirecc
1319 tool="$rootdir/tools/scramble -add=h300"
1320 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1321 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1322 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1323 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1324 output="rockbox.iriver"
1325 appextra="recorder:gui:radio"
1326 plugins="yes"
1327 swcodec="yes"
1328 # toolset is the tools within the tools directory that we build for
1329 # this particular target.
1330 toolset=$iriverbitmaptools
1331 t_cpu="coldfire"
1332 t_manufacturer="iriver"
1333 t_model="h300"
1336 12|iriverh100)
1337 target_id=11
1338 modelname="iriverh100"
1339 target="-DIRIVER_H100"
1340 memory=16 # always
1341 coldfirecc
1342 tool="$rootdir/tools/scramble -add=h100"
1343 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1344 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1345 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1346 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1347 output="rockbox.iriver"
1348 bootoutput="bootloader.iriver"
1349 appextra="recorder:gui:radio"
1350 flash="$pwd/rombox.iriver"
1351 plugins="yes"
1352 swcodec="yes"
1353 # toolset is the tools within the tools directory that we build for
1354 # this particular target.
1355 toolset=$iriverbitmaptools
1356 t_cpu="coldfire"
1357 t_manufacturer="iriver"
1358 t_model="h100"
1361 13|iriverifp7xx)
1362 target_id=19
1363 modelname="iriverifp7xx"
1364 target="-DIRIVER_IFP7XX"
1365 memory=1
1366 arm7tdmicc short
1367 tool="cp"
1368 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1369 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1370 output="rockbox.wma"
1371 appextra="recorder:gui:radio"
1372 plugins="yes"
1373 swcodec="yes"
1374 # toolset is the tools within the tools directory that we build for
1375 # this particular target.
1376 toolset=$genericbitmaptools
1377 t_cpu="arm"
1378 t_manufacturer="pnx0101"
1379 t_model="iriver-ifp7xx"
1382 14|iriverh10)
1383 target_id=22
1384 modelname="iriverh10"
1385 target="-DIRIVER_H10"
1386 memory=32 # always
1387 arm7tdmicc
1388 tool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1389 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1390 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1391 output="rockbox.mi4"
1392 appextra="recorder:gui:radio"
1393 plugins="yes"
1394 swcodec="yes"
1395 boottool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1396 bootoutput="H10_20GC.mi4"
1397 # toolset is the tools within the tools directory that we build for
1398 # this particular target.
1399 toolset=$scramblebitmaptools
1400 # architecture, manufacturer and model for the target-tree build
1401 t_cpu="arm"
1402 t_manufacturer="iriver"
1403 t_model="h10"
1406 15|iriverh10_5gb)
1407 target_id=24
1408 modelname="iriverh10_5gb"
1409 target="-DIRIVER_H10_5GB"
1410 memory=32 # always
1411 arm7tdmicc
1412 tool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1413 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1414 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1415 output="rockbox.mi4"
1416 appextra="recorder:gui:radio"
1417 plugins="yes"
1418 swcodec="yes"
1419 boottool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1420 bootoutput="H10.mi4"
1421 # toolset is the tools within the tools directory that we build for
1422 # this particular target.
1423 toolset=$scramblebitmaptools
1424 # architecture, manufacturer and model for the target-tree build
1425 t_cpu="arm"
1426 t_manufacturer="iriver"
1427 t_model="h10"
1430 20|ipodcolor)
1431 target_id=13
1432 modelname="ipodcolor"
1433 target="-DIPOD_COLOR"
1434 memory=32 # always
1435 arm7tdmicc
1436 tool="$rootdir/tools/scramble -add=ipco"
1437 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1438 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1439 output="rockbox.ipod"
1440 appextra="recorder:gui:radio"
1441 plugins="yes"
1442 swcodec="yes"
1443 bootoutput="bootloader-$modelname.ipod"
1444 # toolset is the tools within the tools directory that we build for
1445 # this particular target.
1446 toolset=$ipodbitmaptools
1447 # architecture, manufacturer and model for the target-tree build
1448 t_cpu="arm"
1449 t_manufacturer="ipod"
1450 t_model="color"
1453 21|ipodnano1g)
1454 target_id=14
1455 modelname="ipodnano1g"
1456 target="-DIPOD_NANO"
1457 memory=32 # always
1458 arm7tdmicc
1459 tool="$rootdir/tools/scramble -add=nano"
1460 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1461 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1462 output="rockbox.ipod"
1463 appextra="recorder:gui:radio"
1464 plugins="yes"
1465 swcodec="yes"
1466 bootoutput="bootloader-$modelname.ipod"
1467 # toolset is the tools within the tools directory that we build for
1468 # this particular target.
1469 toolset=$ipodbitmaptools
1470 # architecture, manufacturer and model for the target-tree build
1471 t_cpu="arm"
1472 t_manufacturer="ipod"
1473 t_model="nano"
1476 22|ipodvideo)
1477 target_id=15
1478 modelname="ipodvideo"
1479 target="-DIPOD_VIDEO"
1480 memory=64 # always. This is reduced at runtime if needed
1481 arm7tdmicc
1482 tool="$rootdir/tools/scramble -add=ipvd"
1483 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1484 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1485 output="rockbox.ipod"
1486 appextra="recorder:gui:radio"
1487 plugins="yes"
1488 swcodec="yes"
1489 bootoutput="bootloader-$modelname.ipod"
1490 # toolset is the tools within the tools directory that we build for
1491 # this particular target.
1492 toolset=$ipodbitmaptools
1493 # architecture, manufacturer and model for the target-tree build
1494 t_cpu="arm"
1495 t_manufacturer="ipod"
1496 t_model="video"
1499 23|ipod3g)
1500 target_id=16
1501 modelname="ipod3g"
1502 target="-DIPOD_3G"
1503 memory=32 # always
1504 arm7tdmicc
1505 tool="$rootdir/tools/scramble -add=ip3g"
1506 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1507 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1508 output="rockbox.ipod"
1509 appextra="recorder:gui:radio"
1510 plugins="yes"
1511 swcodec="yes"
1512 bootoutput="bootloader-$modelname.ipod"
1513 # toolset is the tools within the tools directory that we build for
1514 # this particular target.
1515 toolset=$ipodbitmaptools
1516 # architecture, manufacturer and model for the target-tree build
1517 t_cpu="arm"
1518 t_manufacturer="ipod"
1519 t_model="3g"
1522 24|ipod4g)
1523 target_id=17
1524 modelname="ipod4g"
1525 target="-DIPOD_4G"
1526 memory=32 # always
1527 arm7tdmicc
1528 tool="$rootdir/tools/scramble -add=ip4g"
1529 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1530 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1531 output="rockbox.ipod"
1532 appextra="recorder:gui:radio"
1533 plugins="yes"
1534 swcodec="yes"
1535 bootoutput="bootloader-$modelname.ipod"
1536 # toolset is the tools within the tools directory that we build for
1537 # this particular target.
1538 toolset=$ipodbitmaptools
1539 # architecture, manufacturer and model for the target-tree build
1540 t_cpu="arm"
1541 t_manufacturer="ipod"
1542 t_model="4g"
1545 25|ipodmini1g)
1546 target_id=18
1547 modelname="ipodmini1g"
1548 target="-DIPOD_MINI"
1549 memory=32 # always
1550 arm7tdmicc
1551 tool="$rootdir/tools/scramble -add=mini"
1552 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1553 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1554 output="rockbox.ipod"
1555 appextra="recorder:gui:radio"
1556 plugins="yes"
1557 swcodec="yes"
1558 bootoutput="bootloader-$modelname.ipod"
1559 # toolset is the tools within the tools directory that we build for
1560 # this particular target.
1561 toolset=$ipodbitmaptools
1562 # architecture, manufacturer and model for the target-tree build
1563 t_cpu="arm"
1564 t_manufacturer="ipod"
1565 t_model="mini"
1568 26|ipodmini2g)
1569 target_id=21
1570 modelname="ipodmini2g"
1571 target="-DIPOD_MINI2G"
1572 memory=32 # always
1573 arm7tdmicc
1574 tool="$rootdir/tools/scramble -add=mn2g"
1575 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1576 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1577 output="rockbox.ipod"
1578 appextra="recorder:gui:radio"
1579 plugins="yes"
1580 swcodec="yes"
1581 bootoutput="bootloader-$modelname.ipod"
1582 # toolset is the tools within the tools directory that we build for
1583 # this particular target.
1584 toolset=$ipodbitmaptools
1585 # architecture, manufacturer and model for the target-tree build
1586 t_cpu="arm"
1587 t_manufacturer="ipod"
1588 t_model="mini2g"
1591 27|ipod1g2g)
1592 target_id=29
1593 modelname="ipod1g2g"
1594 target="-DIPOD_1G2G"
1595 memory=32 # always
1596 arm7tdmicc
1597 tool="$rootdir/tools/scramble -add=1g2g"
1598 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1599 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1600 output="rockbox.ipod"
1601 appextra="recorder:gui:radio"
1602 plugins="yes"
1603 swcodec="yes"
1604 bootoutput="bootloader-$modelname.ipod"
1605 # toolset is the tools within the tools directory that we build for
1606 # this particular target.
1607 toolset=$ipodbitmaptools
1608 # architecture, manufacturer and model for the target-tree build
1609 t_cpu="arm"
1610 t_manufacturer="ipod"
1611 t_model="1g2g"
1614 28|ipodnano2g)
1615 target_id=62
1616 modelname="ipodnano2g"
1617 target="-DIPOD_NANO2G"
1618 memory=32 # always
1619 arm940tcc
1620 tool="$rootdir/tools/scramble -add=nn2g"
1621 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1622 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1623 output="rockbox.ipod"
1624 appextra="recorder:gui:radio"
1625 plugins="yes"
1626 swcodec="yes"
1627 bootoutput="bootloader-$modelname.ipod"
1628 # toolset is the tools within the tools directory that we build for
1629 # this particular target.
1630 toolset=$ipodbitmaptools
1631 # architecture, manufacturer and model for the target-tree build
1632 t_cpu="arm"
1633 t_manufacturer="s5l8700"
1634 t_model="ipodnano2g"
1637 30|iaudiox5)
1638 target_id=12
1639 modelname="iaudiox5"
1640 target="-DIAUDIO_X5"
1641 memory=16 # always
1642 coldfirecc
1643 tool="$rootdir/tools/scramble -add=iax5"
1644 boottool="$rootdir/tools/scramble -iaudiox5"
1645 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1646 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1647 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1648 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1649 output="rockbox.iaudio"
1650 bootoutput="x5_fw.bin"
1651 appextra="recorder:gui:radio"
1652 plugins="yes"
1653 swcodec="yes"
1654 # toolset is the tools within the tools directory that we build for
1655 # this particular target.
1656 toolset="$iaudiobitmaptools"
1657 # architecture, manufacturer and model for the target-tree build
1658 t_cpu="coldfire"
1659 t_manufacturer="iaudio"
1660 t_model="x5"
1663 31|iaudiom5)
1664 target_id=28
1665 modelname="iaudiom5"
1666 target="-DIAUDIO_M5"
1667 memory=16 # always
1668 coldfirecc
1669 tool="$rootdir/tools/scramble -add=iam5"
1670 boottool="$rootdir/tools/scramble -iaudiom5"
1671 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1672 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1673 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1674 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1675 output="rockbox.iaudio"
1676 bootoutput="m5_fw.bin"
1677 appextra="recorder:gui:radio"
1678 plugins="yes"
1679 swcodec="yes"
1680 # toolset is the tools within the tools directory that we build for
1681 # this particular target.
1682 toolset="$iaudiobitmaptools"
1683 # architecture, manufacturer and model for the target-tree build
1684 t_cpu="coldfire"
1685 t_manufacturer="iaudio"
1686 t_model="m5"
1689 32|iaudio7)
1690 target_id=32
1691 modelname="iaudio7"
1692 target="-DIAUDIO_7"
1693 memory=16 # always
1694 arm946cc
1695 tool="$rootdir/tools/scramble -add=i7"
1696 boottool="$rootdir/tools/scramble -tcc=crc"
1697 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1698 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1699 output="rockbox.iaudio"
1700 appextra="recorder:gui:radio"
1701 plugins="yes"
1702 swcodec="yes"
1703 bootoutput="I7_FW.BIN"
1704 # toolset is the tools within the tools directory that we build for
1705 # this particular target.
1706 toolset="$tccbitmaptools"
1707 # architecture, manufacturer and model for the target-tree build
1708 t_cpu="arm"
1709 t_manufacturer="tcc77x"
1710 t_model="iaudio7"
1713 33|cowond2)
1714 target_id=34
1715 modelname="cowond2"
1716 target="-DCOWON_D2"
1717 memory=32
1718 arm926ejscc
1719 tool="$rootdir/tools/scramble -add=d2"
1720 boottool="cp "
1721 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1722 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1723 output="rockbox.d2"
1724 bootoutput="bootloader-cowond2.bin"
1725 appextra="recorder:gui:radio"
1726 plugins="yes"
1727 swcodec="yes"
1728 toolset="$tccbitmaptools"
1729 # architecture, manufacturer and model for the target-tree build
1730 t_cpu="arm"
1731 t_manufacturer="tcc780x"
1732 t_model="cowond2"
1735 34|iaudiom3)
1736 target_id=37
1737 modelname="iaudiom3"
1738 target="-DIAUDIO_M3"
1739 memory=16 # always
1740 coldfirecc
1741 tool="$rootdir/tools/scramble -add=iam3"
1742 boottool="$rootdir/tools/scramble -iaudiom3"
1743 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1744 bmp2rb_native="$rootdir/tools/bmp2rb -f 7"
1745 output="rockbox.iaudio"
1746 bootoutput="cowon_m3.bin"
1747 appextra="recorder:gui:radio"
1748 plugins="yes"
1749 swcodec="yes"
1750 # toolset is the tools within the tools directory that we build for
1751 # this particular target.
1752 toolset="$iaudiobitmaptools"
1753 # architecture, manufacturer and model for the target-tree build
1754 t_cpu="coldfire"
1755 t_manufacturer="iaudio"
1756 t_model="m3"
1759 40|gigabeatfx)
1760 target_id=20
1761 modelname="gigabeatfx"
1762 target="-DGIGABEAT_F"
1763 memory=32 # always
1764 arm9tdmicc
1765 tool="$rootdir/tools/scramble -add=giga"
1766 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1767 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1768 output="rockbox.gigabeat"
1769 appextra="recorder:gui:radio"
1770 plugins="yes"
1771 swcodec="yes"
1772 toolset=$gigabeatbitmaptools
1773 boottool="$rootdir/tools/scramble -gigabeat"
1774 bootoutput="FWIMG01.DAT"
1775 # architecture, manufacturer and model for the target-tree build
1776 t_cpu="arm"
1777 t_manufacturer="s3c2440"
1778 t_model="gigabeat-fx"
1781 41|gigabeats)
1782 target_id=26
1783 modelname="gigabeats"
1784 target="-DGIGABEAT_S"
1785 memory=64
1786 arm1136jfscc
1787 tool="$rootdir/tools/scramble -add=gigs"
1788 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1789 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1790 output="rockbox.gigabeat"
1791 appextra="recorder:gui:radio"
1792 plugins="yes"
1793 swcodec="yes"
1794 toolset="$gigabeatbitmaptools"
1795 boottool="$rootdir/tools/scramble -gigabeats"
1796 bootoutput="nk.bin"
1797 # architecture, manufacturer and model for the target-tree build
1798 t_cpu="arm"
1799 t_manufacturer="imx31"
1800 t_model="gigabeat-s"
1803 70|mrobe500)
1804 target_id=36
1805 modelname="mrobe500"
1806 target="-DMROBE_500"
1807 memory=64 # always
1808 arm926ejscc
1809 tool="$rootdir/tools/scramble -add=m500"
1810 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1811 bmp2rb_native="$rootdir/tools/bmp2rb -f 8"
1812 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1813 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1814 output="rockbox.mrobe500"
1815 appextra="recorder:gui:radio"
1816 plugins="yes"
1817 swcodec="yes"
1818 toolset=$gigabeatbitmaptools
1819 boottool="cp "
1820 bootoutput="rockbox.mrboot"
1821 # architecture, manufacturer and model for the target-tree build
1822 t_cpu="arm"
1823 t_manufacturer="tms320dm320"
1824 t_model="mrobe-500"
1827 71|mrobe100)
1828 target_id=33
1829 modelname="mrobe100"
1830 target="-DMROBE_100"
1831 memory=32 # always
1832 arm7tdmicc
1833 tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1834 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1835 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1836 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1837 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1838 output="rockbox.mi4"
1839 appextra="recorder:gui:radio"
1840 plugins="yes"
1841 swcodec="yes"
1842 boottool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1843 bootoutput="pp5020.mi4"
1844 # toolset is the tools within the tools directory that we build for
1845 # this particular target.
1846 toolset=$scramblebitmaptools
1847 # architecture, manufacturer and model for the target-tree build
1848 t_cpu="arm"
1849 t_manufacturer="olympus"
1850 t_model="mrobe-100"
1853 80|logikdax)
1854 target_id=31
1855 modelname="logikdax"
1856 target="-DLOGIK_DAX"
1857 memory=2 # always
1858 arm946cc
1859 tool="$rootdir/tools/scramble -add=ldax"
1860 boottool="$rootdir/tools/scramble -tcc=crc"
1861 bootoutput="player.rom"
1862 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1863 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1864 output="rockbox.logik"
1865 appextra="recorder:gui:radio"
1866 plugins=""
1867 swcodec="yes"
1868 # toolset is the tools within the tools directory that we build for
1869 # this particular target.
1870 toolset=$tccbitmaptools
1871 # architecture, manufacturer and model for the target-tree build
1872 t_cpu="arm"
1873 t_manufacturer="tcc77x"
1874 t_model="logikdax"
1877 90|zenvisionm30gb)
1878 target_id=35
1879 modelname="zenvisionm30gb"
1880 target="-DCREATIVE_ZVM"
1881 memory=64
1882 arm926ejscc
1883 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1884 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1885 tool="$rootdir/tools/scramble -creative=zvm"
1886 USE_ELF="yes"
1887 output="rockbox.zvm"
1888 appextra="recorder:gui:radio"
1889 plugins="yes"
1890 swcodec="yes"
1891 toolset=$ipodbitmaptools
1892 boottool="$rootdir/tools/scramble -creative=zvm -no-ciff"
1893 bootoutput="rockbox.zvmboot"
1894 # architecture, manufacturer and model for the target-tree build
1895 t_cpu="arm"
1896 t_manufacturer="tms320dm320"
1897 t_model="creative-zvm"
1900 91|zenvisionm60gb)
1901 target_id=40
1902 modelname="zenvisionm60gb"
1903 target="-DCREATIVE_ZVM60GB"
1904 memory=64
1905 arm926ejscc
1906 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1907 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1908 tool="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1909 USE_ELF="yes"
1910 output="rockbox.zvm60"
1911 appextra="recorder:gui:radio"
1912 plugins="yes"
1913 swcodec="yes"
1914 toolset=$ipodbitmaptools
1915 boottool="$rootdir/tools/scramble -creative=zvm60"
1916 bootoutput="rockbox.zvm60boot"
1917 # architecture, manufacturer and model for the target-tree build
1918 t_cpu="arm"
1919 t_manufacturer="tms320dm320"
1920 t_model="creative-zvm"
1923 92|zenvision)
1924 target_id=39
1925 modelname="zenvision"
1926 target="-DCREATIVE_ZV"
1927 memory=64
1928 arm926ejscc
1929 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1930 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1931 tool="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1932 USE_ELF="yes"
1933 output="rockbox.zv"
1934 appextra="recorder:gui:radio"
1935 plugins=""
1936 swcodec="yes"
1937 toolset=$ipodbitmaptools
1938 boottool="$rootdir/tools/scramble -creative=zenvision"
1939 bootoutput="rockbox.zvboot"
1940 # architecture, manufacturer and model for the target-tree build
1941 t_cpu="arm"
1942 t_manufacturer="tms320dm320"
1943 t_model="creative-zvm"
1946 50|sansae200)
1947 target_id=23
1948 modelname="sansae200"
1949 target="-DSANSA_E200"
1950 memory=32 # supposedly
1951 arm7tdmicc
1952 tool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1953 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1954 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1955 output="rockbox.mi4"
1956 appextra="recorder:gui:radio"
1957 plugins="yes"
1958 swcodec="yes"
1959 boottool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1960 bootoutput="PP5022.mi4"
1961 # toolset is the tools within the tools directory that we build for
1962 # this particular target.
1963 toolset=$scramblebitmaptools
1964 # architecture, manufacturer and model for the target-tree build
1965 t_cpu="arm"
1966 t_manufacturer="sandisk"
1967 t_model="sansa-e200"
1970 51|sansae200r)
1971 # the e200R model is pretty much identical to the e200, it only has a
1972 # different option to the scramble tool when building a bootloader and
1973 # makes the bootloader output file name in all lower case.
1974 target_id=27
1975 modelname="sansae200r"
1976 target="-DSANSA_E200"
1977 memory=32 # supposedly
1978 arm7tdmicc
1979 tool="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1980 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1981 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1982 output="rockbox.mi4"
1983 appextra="recorder:gui:radio"
1984 plugins="yes"
1985 swcodec="yes"
1986 boottool="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1987 bootoutput="pp5022.mi4"
1988 # toolset is the tools within the tools directory that we build for
1989 # this particular target.
1990 toolset=$scramblebitmaptools
1991 # architecture, manufacturer and model for the target-tree build
1992 t_cpu="arm"
1993 t_manufacturer="sandisk"
1994 t_model="sansa-e200"
1997 52|sansac200)
1998 target_id=30
1999 modelname="sansac200"
2000 target="-DSANSA_C200"
2001 memory=32 # supposedly
2002 arm7tdmicc
2003 tool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2004 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2005 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2006 output="rockbox.mi4"
2007 appextra="recorder:gui:radio"
2008 plugins="yes"
2009 swcodec="yes"
2010 boottool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2011 bootoutput="firmware.mi4"
2012 # toolset is the tools within the tools directory that we build for
2013 # this particular target.
2014 toolset=$scramblebitmaptools
2015 # architecture, manufacturer and model for the target-tree build
2016 t_cpu="arm"
2017 t_manufacturer="sandisk"
2018 t_model="sansa-c200"
2021 53|sansam200)
2022 target_id=48
2023 modelname="sansam200"
2024 target="-DSANSA_M200"
2025 memory=1 # always
2026 arm946cc
2027 tool="$rootdir/tools/scramble -add=m200"
2028 boottool="$rootdir/tools/scramble -tcc=crc"
2029 bootoutput="player.rom"
2030 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2031 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
2032 output="rockbox.m200"
2033 appextra="recorder:gui:radio"
2034 plugins=""
2035 swcodec="yes"
2036 # toolset is the tools within the tools directory that we build for
2037 # this particular target.
2038 toolset=$tccbitmaptools
2039 # architecture, manufacturer and model for the target-tree build
2040 t_cpu="arm"
2041 t_manufacturer="tcc77x"
2042 t_model="m200"
2045 54|sansac100)
2046 target_id=42
2047 modelname="sansac100"
2048 target="-DSANSA_C100"
2049 memory=2
2050 arm946cc
2051 tool="$rootdir/tools/scramble -add=c100"
2052 boottool="$rootdir/tools/scramble -tcc=crc"
2053 bootoutput="player.rom"
2054 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2055 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2056 output="rockbox.c100"
2057 appextra="recorder:gui:radio"
2058 plugins=""
2059 swcodec="yes"
2060 # toolset is the tools within the tools directory that we build for
2061 # this particular target.
2062 toolset=$tccbitmaptools
2063 # architecture, manufacturer and model for the target-tree build
2064 t_cpu="arm"
2065 t_manufacturer="tcc77x"
2066 t_model="c100"
2069 55|sansaclip)
2070 target_id=50
2071 modelname="sansaclip"
2072 target="-DSANSA_CLIP"
2073 memory=2
2074 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2075 bmp2rb_native="$bmp2rb_mono"
2076 tool="$rootdir/tools/scramble -add=clip"
2077 output="rockbox.sansa"
2078 bootoutput="bootloader-clip.sansa"
2079 appextra="recorder:gui:radio"
2080 plugins="yes"
2081 swcodec="yes"
2082 toolset=$scramblebitmaptools
2083 t_cpu="arm"
2084 t_manufacturer="as3525"
2085 t_model="sansa-clip"
2086 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2087 arm9tdmicc
2088 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2092 56|sansae200v2)
2093 target_id=51
2094 modelname="sansae200v2"
2095 target="-DSANSA_E200V2"
2096 memory=8
2097 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2098 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2099 tool="$rootdir/tools/scramble -add=e2v2"
2100 output="rockbox.sansa"
2101 bootoutput="bootloader-e200v2.sansa"
2102 appextra="recorder:gui:radio"
2103 plugins="yes"
2104 swcodec="yes"
2105 toolset=$scramblebitmaptools
2106 t_cpu="arm"
2107 t_manufacturer="as3525"
2108 t_model="sansa-e200v2"
2109 arm9tdmicc
2113 57|sansam200v4)
2114 target_id=52
2115 modelname="sansam200v4"
2116 target="-DSANSA_M200V4"
2117 memory=2
2118 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2119 bmp2rb_native="$bmp2rb_mono"
2120 tool="$rootdir/tools/scramble -add=m2v4"
2121 output="rockbox.sansa"
2122 bootoutput="bootloader-m200v4.sansa"
2123 appextra="recorder:gui:radio"
2124 plugins="yes"
2125 swcodec="yes"
2126 toolset=$scramblebitmaptools
2127 t_cpu="arm"
2128 t_manufacturer="as3525"
2129 t_model="sansa-m200v4"
2130 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2131 arm9tdmicc
2132 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2136 58|sansafuze)
2137 target_id=53
2138 modelname="sansafuze"
2139 target="-DSANSA_FUZE"
2140 memory=8
2141 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2142 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2143 tool="$rootdir/tools/scramble -add=fuze"
2144 output="rockbox.sansa"
2145 bootoutput="bootloader-fuze.sansa"
2146 appextra="recorder:gui:radio"
2147 plugins="yes"
2148 swcodec="yes"
2149 toolset=$scramblebitmaptools
2150 t_cpu="arm"
2151 t_manufacturer="as3525"
2152 t_model="sansa-fuze"
2153 arm9tdmicc
2157 59|sansac200v2)
2158 target_id=55
2159 modelname="sansac200v2"
2160 target="-DSANSA_C200V2"
2161 memory=2 # as per OF diagnosis mode
2162 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2163 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2164 tool="$rootdir/tools/scramble -add=c2v2"
2165 output="rockbox.sansa"
2166 bootoutput="bootloader-c200v2.sansa"
2167 appextra="recorder:gui:radio"
2168 plugins="yes"
2169 swcodec="yes"
2170 # toolset is the tools within the tools directory that we build for
2171 # this particular target.
2172 toolset=$scramblebitmaptools
2173 # architecture, manufacturer and model for the target-tree build
2174 t_cpu="arm"
2175 t_manufacturer="as3525"
2176 t_model="sansa-c200v2"
2177 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2178 arm9tdmicc
2179 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2182 60|sansaclipv2)
2183 target_id=60
2184 modelname="sansaclipv2"
2185 target="-DSANSA_CLIPV2"
2186 memory=8
2187 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2188 bmp2rb_native="$bmp2rb_mono"
2189 tool="$rootdir/tools/scramble -add=clv2"
2190 output="rockbox.sansa"
2191 bootoutput="bootloader-clipv2.sansa"
2192 appextra="recorder:gui:radio"
2193 plugins="yes"
2194 swcodec="yes"
2195 toolset=$scramblebitmaptools
2196 t_cpu="arm"
2197 t_manufacturer="as3525"
2198 t_model="sansa-clipv2"
2199 arm926ejscc
2202 61|sansaview)
2203 echo "Sansa View is not yet supported!"
2204 exit 1
2205 target_id=63
2206 modelname="sansaview"
2207 target="-DSANSA_VIEW"
2208 memory=32
2209 arm1176jzscc
2210 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2211 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2212 output="rockbox.mi4"
2213 appextra="gui"
2214 plugins=""
2215 swcodec="yes"
2216 boottool="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2217 bootoutput="firmware.mi4"
2218 # toolset is the tools within the tools directory that we build for
2219 # this particular target.
2220 toolset=$scramblebitmaptools
2221 t_cpu="arm"
2222 t_manufacturer="sandisk"
2223 t_model="sansa-view"
2226 62|sansaclipplus)
2227 target_id=66
2228 modelname="sansaclipplus"
2229 target="-DSANSA_CLIPPLUS"
2230 memory=8
2231 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2232 bmp2rb_native="$bmp2rb_mono"
2233 tool="$rootdir/tools/scramble -add=cli+"
2234 output="rockbox.sansa"
2235 bootoutput="bootloader-clipplus.sansa"
2236 appextra="recorder:gui:radio"
2237 plugins="yes"
2238 swcodec="yes"
2239 toolset=$scramblebitmaptools
2240 t_cpu="arm"
2241 t_manufacturer="as3525"
2242 t_model="sansa-clipplus"
2243 arm926ejscc
2246 63|sansafuzev2)
2247 target_id=68
2248 modelname="sansafuzev2"
2249 target="-DSANSA_FUZEV2"
2250 memory=8 # not sure
2251 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2252 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2253 tool="$rootdir/tools/scramble -add=fuz2"
2254 output="rockbox.sansa"
2255 bootoutput="bootloader-fuzev2.sansa"
2256 appextra="recorder:gui:radio"
2257 plugins="yes"
2258 swcodec="yes"
2259 toolset=$scramblebitmaptools
2260 t_cpu="arm"
2261 t_manufacturer="as3525"
2262 t_model="sansa-fuzev2"
2263 arm926ejscc
2266 150|tatungtpj1022)
2267 target_id=25
2268 modelname="tatungtpj1022"
2269 target="-DTATUNG_TPJ1022"
2270 memory=32 # always
2271 arm7tdmicc
2272 tool="$rootdir/tools/scramble -add tpj2"
2273 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2274 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2275 output="rockbox.elio"
2276 appextra="recorder:gui:radio"
2277 plugins="yes"
2278 swcodec="yes"
2279 boottool="$rootdir/tools/scramble -mi4v2"
2280 bootoutput="pp5020.mi4"
2281 # toolset is the tools within the tools directory that we build for
2282 # this particular target.
2283 toolset=$scramblebitmaptools
2284 # architecture, manufacturer and model for the target-tree build
2285 t_cpu="arm"
2286 t_manufacturer="tatung"
2287 t_model="tpj1022"
2290 100|gogearsa9200)
2291 target_id=41
2292 modelname="gogearsa9200"
2293 target="-DPHILIPS_SA9200"
2294 memory=32 # supposedly
2295 arm7tdmicc
2296 tool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2297 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2298 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2299 output="rockbox.mi4"
2300 appextra="recorder:gui:radio"
2301 plugins=""
2302 swcodec="yes"
2303 boottool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2304 bootoutput="FWImage.ebn"
2305 # toolset is the tools within the tools directory that we build for
2306 # this particular target.
2307 toolset=$scramblebitmaptools
2308 # architecture, manufacturer and model for the target-tree build
2309 t_cpu="arm"
2310 t_manufacturer="philips"
2311 t_model="sa9200"
2314 101|gogearhdd1630)
2315 target_id=43
2316 modelname="gogearhdd1630"
2317 target="-DPHILIPS_HDD1630"
2318 memory=32 # supposedly
2319 arm7tdmicc
2320 tool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2321 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2322 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2323 output="rockbox.mi4"
2324 appextra="recorder:gui:radio"
2325 plugins="yes"
2326 swcodec="yes"
2327 boottool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2328 bootoutput="FWImage.ebn"
2329 # toolset is the tools within the tools directory that we build for
2330 # this particular target.
2331 toolset=$scramblebitmaptools
2332 # architecture, manufacturer and model for the target-tree build
2333 t_cpu="arm"
2334 t_manufacturer="philips"
2335 t_model="hdd1630"
2338 102|gogearhdd6330)
2339 target_id=65
2340 modelname="gogearhdd6330"
2341 target="-DPHILIPS_HDD6330"
2342 memory=64 # always
2343 arm7tdmicc
2344 tool="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2345 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2346 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2347 output="rockbox.mi4"
2348 appextra="recorder:gui:radio"
2349 plugins=""
2350 swcodec="yes"
2351 boottool="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2352 bootoutput="FWImage.ebn"
2353 # toolset is the tools within the tools directory that we build for
2354 # this particular target.
2355 toolset=$scramblebitmaptools
2356 # architecture, manufacturer and model for the target-tree build
2357 t_cpu="arm"
2358 t_manufacturer="philips"
2359 t_model="hdd6330"
2362 110|meizum6sl)
2363 target_id=49
2364 modelname="meizum6sl"
2365 target="-DMEIZU_M6SL"
2366 memory=16 # always
2367 arm940tbecc
2368 tool="cp"
2369 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2370 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2371 output="rockbox.meizu"
2372 appextra="recorder:gui:radio"
2373 plugins="no" #FIXME
2374 swcodec="yes"
2375 toolset=$genericbitmaptools
2376 boottool="cp"
2377 bootoutput="rockboot.ebn"
2378 # architecture, manufacturer and model for the target-tree build
2379 t_cpu="arm"
2380 t_manufacturer="s5l8700"
2381 t_model="meizu-m6sl"
2384 111|meizum6sp)
2385 target_id=46
2386 modelname="meizum6sp"
2387 target="-DMEIZU_M6SP"
2388 memory=16 # always
2389 arm940tbecc
2390 tool="cp"
2391 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2392 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2393 output="rockbox.meizu"
2394 appextra="recorder:gui:radio"
2395 plugins="no" #FIXME
2396 swcodec="yes"
2397 toolset=$genericbitmaptools
2398 boottool="cp"
2399 bootoutput="rockboot.ebn"
2400 # architecture, manufacturer and model for the target-tree build
2401 t_cpu="arm"
2402 t_manufacturer="s5l8700"
2403 t_model="meizu-m6sp"
2406 112|meizum3)
2407 target_id=47
2408 modelname="meizum3"
2409 target="-DMEIZU_M3"
2410 memory=16 # always
2411 arm940tbecc
2412 tool="cp"
2413 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2414 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2415 output="rockbox.meizu"
2416 appextra="recorder:gui:radio"
2417 plugins="no" #FIXME
2418 swcodec="yes"
2419 toolset=$genericbitmaptools
2420 boottool="cp"
2421 bootoutput="rockboot.ebn"
2422 # architecture, manufacturer and model for the target-tree build
2423 t_cpu="arm"
2424 t_manufacturer="s5l8700"
2425 t_model="meizu-m3"
2428 120|ondavx747)
2429 target_id=45
2430 modelname="ondavx747"
2431 target="-DONDA_VX747"
2432 memory=16
2433 mipselcc
2434 tool="$rootdir/tools/scramble -add=x747"
2435 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2436 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2437 output="rockbox.vx747"
2438 appextra="recorder:gui:radio"
2439 plugins="yes"
2440 swcodec="yes"
2441 toolset=$genericbitmaptools
2442 boottool="$rootdir/tools/scramble -ccpmp"
2443 bootoutput="ccpmp.bin"
2444 # architecture, manufacturer and model for the target-tree build
2445 t_cpu="mips"
2446 t_manufacturer="ingenic_jz47xx"
2447 t_model="onda_vx747"
2450 121|ondavx767)
2451 target_id=64
2452 modelname="ondavx767"
2453 target="-DONDA_VX767"
2454 memory=16 #FIXME
2455 mipselcc
2456 tool="cp"
2457 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2458 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2459 output="rockbox.vx767"
2460 appextra="recorder:gui:radio"
2461 plugins="" #FIXME
2462 swcodec="yes"
2463 toolset=$genericbitmaptools
2464 boottool="$rootdir/tools/scramble -ccpmp"
2465 bootoutput="ccpmp.bin"
2466 # architecture, manufacturer and model for the target-tree build
2467 t_cpu="mips"
2468 t_manufacturer="ingenic_jz47xx"
2469 t_model="onda_vx767"
2472 122|ondavx747p)
2473 target_id=54
2474 modelname="ondavx747p"
2475 target="-DONDA_VX747P"
2476 memory=16
2477 mipselcc
2478 tool="$rootdir/tools/scramble -add=747p"
2479 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2480 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2481 output="rockbox.vx747p"
2482 appextra="recorder:gui:radio"
2483 plugins="yes"
2484 swcodec="yes"
2485 toolset=$genericbitmaptools
2486 boottool="$rootdir/tools/scramble -ccpmp"
2487 bootoutput="ccpmp.bin"
2488 # architecture, manufacturer and model for the target-tree build
2489 t_cpu="mips"
2490 t_manufacturer="ingenic_jz47xx"
2491 t_model="onda_vx747"
2494 123|ondavx777)
2495 target_id=61
2496 modelname="ondavx777"
2497 target="-DONDA_VX777"
2498 memory=16
2499 mipselcc
2500 tool="$rootdir/tools/scramble -add=x777"
2501 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2502 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2503 output="rockbox.vx777"
2504 appextra="recorder:gui:radio"
2505 plugins="yes"
2506 swcodec="yes"
2507 toolset=$genericbitmaptools
2508 boottool="$rootdir/tools/scramble -ccpmp"
2509 bootoutput="ccpmp.bin"
2510 # architecture, manufacturer and model for the target-tree build
2511 t_cpu="mips"
2512 t_manufacturer="ingenic_jz47xx"
2513 t_model="onda_vx747"
2516 130|lyreproto1)
2517 target_id=56
2518 modelname="lyreproto1"
2519 target="-DLYRE_PROTO1"
2520 memory=64
2521 arm926ejscc
2522 tool="cp"
2523 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2524 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2525 output="rockbox.lyre"
2526 appextra="recorder:gui:radio"
2527 plugins=""
2528 swcodec="yes"
2529 toolset=$scramblebitmaptools
2530 boottool="cp"
2531 bootoutput="bootloader-proto1.lyre"
2532 # architecture, manufacturer and model for the target-tree build
2533 t_cpu="arm"
2534 t_manufacturer="at91sam"
2535 t_model="lyre_proto1"
2538 131|mini2440)
2539 target_id=99
2540 modelname="mini2440"
2541 target="-DMINI2440"
2542 memory=64
2543 arm9tdmicc
2544 tool="$rootdir/tools/scramble -add=m244"
2545 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2546 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2547 output="rockbox.mini2440"
2548 appextra="recorder:gui:radio"
2549 plugins=""
2550 swcodec="yes"
2551 toolset=$scramblebitmaptools
2552 boottool="cp"
2553 bootoutput="bootloader-mini2440.lyre"
2554 # architecture, manufacturer and model for the target-tree build
2555 t_cpu="arm"
2556 t_manufacturer="s3c2440"
2557 t_model="mini2440"
2560 140|samsungyh820)
2561 target_id=57
2562 modelname="samsungyh820"
2563 target="-DSAMSUNG_YH820"
2564 memory=32 # always
2565 arm7tdmicc
2566 tool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2567 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2568 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2569 output="rockbox.mi4"
2570 appextra="recorder:gui:radio"
2571 plugins="yes"
2572 swcodec="yes"
2573 boottool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2574 bootoutput="FW_YH820.mi4"
2575 # toolset is the tools within the tools directory that we build for
2576 # this particular target.
2577 toolset=$scramblebitmaptools
2578 # architecture, manufacturer and model for the target-tree build
2579 t_cpu="arm"
2580 t_manufacturer="samsung"
2581 t_model="yh820"
2584 141|samsungyh920)
2585 target_id=58
2586 modelname="samsungyh920"
2587 target="-DSAMSUNG_YH920"
2588 memory=32 # always
2589 arm7tdmicc
2590 tool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2591 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2592 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
2593 output="rockbox.mi4"
2594 appextra="recorder:gui:radio"
2595 plugins="yes"
2596 swcodec="yes"
2597 boottool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2598 bootoutput="PP5020.mi4"
2599 # toolset is the tools within the tools directory that we build for
2600 # this particular target.
2601 toolset=$scramblebitmaptools
2602 # architecture, manufacturer and model for the target-tree build
2603 t_cpu="arm"
2604 t_manufacturer="samsung"
2605 t_model="yh920"
2608 142|samsungyh925)
2609 target_id=59
2610 modelname="samsungyh925"
2611 target="-DSAMSUNG_YH925"
2612 memory=32 # always
2613 arm7tdmicc
2614 tool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2615 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2616 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2617 output="rockbox.mi4"
2618 appextra="recorder:gui:radio"
2619 plugins="yes"
2620 swcodec="yes"
2621 boottool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2622 bootoutput="FW_YH925.mi4"
2623 # toolset is the tools within the tools directory that we build for
2624 # this particular target.
2625 toolset=$scramblebitmaptools
2626 # architecture, manufacturer and model for the target-tree build
2627 t_cpu="arm"
2628 t_manufacturer="samsung"
2629 t_model="yh925"
2632 143|samsungyps3)
2633 target_id=60
2634 modelname="samsungyps3"
2635 target="-DSAMSUNG_YPS3"
2636 memory=16 # always
2637 arm940tbecc
2638 tool="cp"
2639 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2640 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2641 output="rockbox.yps3"
2642 appextra="recorder:gui:radio"
2643 plugins="no" #FIXME
2644 swcodec="yes"
2645 toolset=$genericbitmaptools
2646 boottool="cp"
2647 bootoutput="rockboot.ebn"
2648 # architecture, manufacturer and model for the target-tree build
2649 t_cpu="arm"
2650 t_manufacturer="s5l8700"
2651 t_model="yps3"
2654 160|vibe500)
2655 target_id=67
2656 modelname="vibe500"
2657 target="-DPBELL_VIBE500"
2658 memory=32 # always
2659 arm7tdmicc
2660 tool="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2661 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2662 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2663 output="rockbox.mi4"
2664 appextra="recorder:gui:radio"
2665 plugins="yes"
2666 swcodec="yes"
2667 boottool="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2668 bootoutput="jukebox.mi4"
2669 # toolset is the tools within the tools directory that we build for
2670 # this particular target.
2671 toolset=$scramblebitmaptools
2672 # architecture, manufacturer and model for the target-tree build
2673 t_cpu="arm"
2674 t_manufacturer="pbell"
2675 t_model="vibe500"
2678 170|hd200)
2679 target_id=69
2680 modelname="mpiohd200"
2681 target="-DMPIO_HD200"
2682 memory=16 # always
2683 coldfirecc
2684 tool="$rootdir/tools/scramble -add=hd20"
2685 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2686 bmp2rb_native="$rootdir/tools/bmp2rb -f 7"
2687 output="rockbox.mpio"
2688 bootoutput="bootloader.mpio"
2689 appextra="recorder:gui:radio"
2690 plugins="yes"
2691 swcodec="yes"
2692 # toolset is the tools within the tools directory that we build for
2693 # this particular target.
2694 toolset="$genericbitmaptools"
2695 # architecture, manufacturer and model for the target-tree build
2696 t_cpu="coldfire"
2697 t_manufacturer="mpio"
2698 t_model="hd200"
2701 200|app*)
2702 target_id=100
2703 modelname="application"
2704 target="-DAPPLICATION"
2706 need_full_path="yes"
2707 app_get_platform
2709 memory=8
2710 uname=`uname`
2712 appcc "$app_platform"
2713 tool="cp "
2714 boottool="cp "
2715 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2716 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2717 appextra="recorder:gui:radio"
2718 plugins=""
2719 swcodec="yes"
2720 # architecture, manufacturer and model for the target-tree build
2721 t_cpu="hosted"
2722 t_manufacturer="$app_platform"
2723 t_model="app"
2727 echo "Please select a supported target platform!"
2728 exit 7
2731 esac
2733 echo "Platform set to $modelname"
2736 #remove start
2737 ############################################################################
2738 # Amount of memory, for those that can differ. They have $memory unset at
2739 # this point.
2742 if [ -z "$memory" ]; then
2743 case $target_id in
2745 if [ "$ARG_RAM" ]; then
2746 size=$ARG_RAM
2747 else
2748 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2749 size=`input`;
2751 case $size in
2752 60|64)
2753 memory="64"
2756 memory="32"
2758 esac
2761 if [ "$ARG_RAM" ]; then
2762 size=$ARG_RAM
2763 else
2764 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2765 size=`input`;
2767 case $size in
2769 memory="8"
2772 memory="2"
2774 esac
2776 esac
2777 echo "Memory size selected: $memory MB"
2778 [ "$ARG_TYPE" ] || echo ""
2780 #remove end
2782 ##################################################################
2783 # Figure out build "type"
2786 # the ifp7x0 is the only platform that supports building a gdb stub like
2787 # this
2788 case $modelname in
2789 iriverifp7xx)
2790 gdbstub="(G)DB stub, "
2792 sansae200r|sansae200)
2793 gdbstub="(I)nstaller, "
2795 sansac200)
2796 gdbstub="(E)raser, "
2800 esac
2801 if [ "$ARG_TYPE" ]; then
2802 btype=$ARG_TYPE
2803 else
2804 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2805 btype=`input`;
2808 case $btype in
2809 [Ii])
2810 appsdir='\$(ROOTDIR)/bootloader'
2811 apps="bootloader"
2812 extradefines="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2813 bootloader="1"
2814 echo "e200R-installer build selected"
2816 [Ee])
2817 appsdir='\$(ROOTDIR)/bootloader'
2818 apps="bootloader"
2819 echo "C2(4)0 or C2(5)0"
2820 variant=`input`
2821 case $variant in
2823 extradefines="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2824 echo "c240 eraser build selected"
2827 extradefines="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2828 echo "c240 eraser build selected"
2830 esac
2831 bootloader="1"
2832 echo "c200 eraser build selected"
2834 [Bb])
2835 if test $t_manufacturer = "archos"; then
2836 # Archos SH-based players do this somewhat differently for
2837 # some reason
2838 appsdir='\$(ROOTDIR)/flash/bootbox'
2839 apps="bootbox"
2840 else
2841 appsdir='\$(ROOTDIR)/bootloader'
2842 apps="bootloader"
2843 flash=""
2844 if test -n "$boottool"; then
2845 tool="$boottool"
2847 if test -n "$bootoutput"; then
2848 output=$bootoutput
2851 extradefines="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2852 bootloader="1"
2853 echo "Bootloader build selected"
2855 [Ss])
2856 if [ "$modelname" = "sansae200r" ]; then
2857 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2858 exit 8
2860 debug="-DDEBUG"
2861 simulator="yes"
2862 extradefines="$extradefines -DSIMULATOR"
2863 archosrom=""
2864 flash=""
2865 echo "Simulator build selected"
2867 [Aa]*)
2868 echo "Advanced build selected"
2869 whichadvanced $btype
2871 [Gg])
2872 extradefines="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2873 appsdir='\$(ROOTDIR)/gdb'
2874 apps="stub"
2875 case $modelname in
2876 iriverifp7xx)
2877 output="stub.wma"
2881 esac
2882 echo "GDB stub build selected"
2884 [Mm])
2885 toolset='';
2886 apps="manual"
2887 echo "Manual build selected"
2889 [Cc])
2890 uname=`uname`
2891 simcc "checkwps"
2892 toolset='';
2893 t_cpu='';
2894 GCCOPTS='';
2895 extradefines="$extradefines -DDEBUG"
2896 appsdir='\$(ROOTDIR)/tools/checkwps';
2897 output='checkwps.'${modelname};
2898 archosrom='';
2899 echo "CheckWPS build selected"
2901 [Dd])
2902 uname=`uname`
2903 simcc "database"
2904 toolset='';
2905 t_cpu='';
2906 GCCOPTS='';
2907 appsdir='\$(ROOTDIR)/tools/database';
2908 archosrom='';
2910 case $uname in
2911 CYGWIN*|MINGW*)
2912 output="database_${modelname}.exe"
2915 output='database.'${modelname};
2917 esac
2919 echo "Database tool build selected"
2922 if [ "$modelname" = "sansae200r" ]; then
2923 echo "Do not use the e200R target for regular builds. Use e200 instead."
2924 exit 8
2926 debug=""
2927 btype="N" # set it explicitly since RET only gets here as well
2928 echo "Normal build selected"
2931 esac
2932 # to be able running "make manual" from non-manual configuration
2933 case $modelname in
2934 archosrecorderv2)
2935 manualdev="archosfmrecorder"
2937 iriverh1??)
2938 manualdev="iriverh100"
2940 ipodmini2g)
2941 manualdev="ipodmini1g"
2944 manualdev=$modelname
2946 esac
2948 if [ -z "$debug" ]; then
2949 GCCOPTS="$GCCOPTS $GCCOPTIMIZE"
2952 echo "Using source code root directory: $rootdir"
2954 # this was once possible to change at build-time, but no more:
2955 language="english"
2957 uname=`uname`
2959 if [ "yes" = "$simulator" ]; then
2960 # setup compiler and things for simulator
2961 simcc "sdl-sim"
2963 if [ -d "simdisk" ]; then
2964 echo "Subdirectory 'simdisk' already present"
2965 else
2966 mkdir simdisk
2967 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2971 # Now, figure out version number of the (gcc) compiler we are about to use
2972 gccver=`$CC -dumpversion`;
2974 # figure out the binutil version too and display it, mostly for the build
2975 # system etc to be able to see it easier
2976 if [ $uname = "Darwin" ]; then
2977 ldver=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2978 else
2979 ldver=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2982 if [ -z "$gccver" ]; then
2983 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2984 echo "[WARNING] this may cause your build to fail since we cannot do the"
2985 echo "[WARNING] checks we want now."
2986 else
2988 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2989 # DEPEND on it
2991 num1=`echo $gccver | cut -d . -f1`
2992 num2=`echo $gccver | cut -d . -f2`
2993 gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2995 # This makes:
2996 # 3.3.X => 303
2997 # 3.4.X => 304
2998 # 2.95.3 => 295
3000 echo "Using $CC $gccver ($gccnum)"
3002 if test "$gccnum" -ge "400"; then
3003 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3004 # so we ignore that warnings for now
3005 # -Wno-pointer-sign
3006 GCCOPTS="$GCCOPTS -Wno-pointer-sign"
3009 if test "$gccnum" -ge "402"; then
3010 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3011 # and later would throw it for several valid cases
3012 GCCOPTS="$GCCOPTS -Wno-override-init"
3015 case $prefix in
3016 ""|"$CROSS_COMPILE")
3017 # simulator
3019 i586-mingw32msvc-)
3020 # cross-compile for win32
3023 # Verify that the cross-compiler is of a recommended version!
3024 if test "$gccver" != "$gccchoice"; then
3025 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3026 echo "WARNING: version $gccchoice!"
3027 echo "WARNING: This may cause your build to fail since it may be a version"
3028 echo "WARNING: that isn't functional or known to not be the best choice."
3029 echo "WARNING: If you suffer from build problems, you know that this is"
3030 echo "WARNING: a likely source for them..."
3033 esac
3038 echo "Using $LD $ldver"
3040 # check the compiler for SH platforms
3041 if test "$CC" = "sh-elf-gcc"; then
3042 if test "$gccnum" -lt "400"; then
3043 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3044 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3045 else
3046 # figure out patch status
3047 gccpatch=`$CC --version`;
3049 if { echo $gccpatch | grep "rockbox" >/dev/null 2>&1; } then
3050 echo "gcc $gccver is rockbox patched"
3051 # then convert -O to -Os to get smaller binaries!
3052 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3053 else
3054 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3055 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3060 if test "$CC" = "m68k-elf-gcc"; then
3061 # convert -O to -Os to get smaller binaries!
3062 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3065 if [ "$ARG_CCACHE" = "1" ]; then
3066 echo "Enable ccache for building"
3067 ccache="ccache"
3068 elif [ "$ARG_CCACHE" != "0" ]; then
3069 ccache=`findtool ccache`
3070 if test -n "$ccache"; then
3071 echo "Found and uses ccache ($ccache)"
3075 # figure out the full path to the various commands if possible
3076 HOSTCC=`findtool gcc --lit`
3077 HOSTAR=`findtool ar --lit`
3078 CC=`findtool ${CC} --lit`
3079 LD=`findtool ${AR} --lit`
3080 AR=`findtool ${AR} --lit`
3081 AS=`findtool ${AS} --lit`
3082 OC=`findtool ${OC} --lit`
3083 WINDRES=`findtool ${WINDRES} --lit`
3084 DLLTOOL=`findtool ${DLLTOOL} --lit`
3085 DLLWRAP=`findtool ${DLLWRAP} --lit`
3086 RANLIB=`findtool ${RANLIB} --lit`
3088 if test -n "$ccache"; then
3089 CC="$ccache $CC"
3092 if test "$ARG_ARM_THUMB" = "1"; then
3093 extradefines="$extradefines -DUSE_THUMB"
3094 CC="$toolsdir/thumb-cc.py $CC"
3097 if test "X$endian" = "Xbig"; then
3098 defendian="ROCKBOX_BIG_ENDIAN"
3099 else
3100 defendian="ROCKBOX_LITTLE_ENDIAN"
3103 if [ "$ARG_RBDIR" ]; then
3104 if [ "$need_full_path" = "yes" ]; then
3105 rbdir=`realpath $ARG_RBDIR`
3106 else # prepend '/' if needed
3107 if [ -z `echo $ARG_RBDIR | grep '^/'` ]; then
3108 rbdir="/"$ARG_RBDIR
3109 else
3110 rbdir=$ARG_RBDIR
3113 echo "Using alternate rockbox dir: ${rbdir}"
3116 sed > autoconf.h \
3117 -e "s<@ENDIAN@<${defendian}<g" \
3118 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3119 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3120 -e "s<@config_rtc@<$config_rtc<g" \
3121 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3122 -e "s<@RBDIR@<${rbdir}<g" \
3123 -e "s<@binpath@<${bindir_full}<g" \
3124 -e "s<@libpath@<${libdir_full}<g" \
3125 -e "s<@have_backlight@<$have_backlight<g" \
3126 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3127 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3128 -e "s<@lcd_width@<$app_lcd_width<g" \
3129 -e "s<@lcd_height@<$app_lcd_height<g" \
3130 <<EOF
3131 /* This header was made by configure */
3132 #ifndef __BUILD_AUTOCONF_H
3133 #define __BUILD_AUTOCONF_H
3135 /* Define endianess for the target or simulator platform */
3136 #define @ENDIAN@ 1
3138 /* Define this if you build rockbox to support the logf logging and display */
3139 #undef ROCKBOX_HAS_LOGF
3141 /* Define this to record a chart with timings for the stages of boot */
3142 #undef DO_BOOTCHART
3144 /* optional define for a backlight modded Ondio */
3145 @have_backlight@
3147 /* optional define for FM radio mod for iAudio M5 */
3148 @have_fmradio_in@
3150 /* optional define for ATA poweroff on Player */
3151 @have_ata_poweroff@
3153 /* optional defines for RTC mod for h1x0 */
3154 @config_rtc@
3155 @have_rtc_alarm@
3157 /* lcd dimensions for application builds from configure */
3158 @lcd_width@
3159 @lcd_height@
3161 /* root of Rockbox */
3162 #define ROCKBOX_DIR "@RBDIR@"
3163 #define ROCKBOX_BINARY_PATH "@binpath@"
3164 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3166 #endif /* __BUILD_AUTOCONF_H */
3169 if test -n "$t_cpu"; then
3170 TARGET_INC="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3171 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3172 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3173 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3175 if [ -n "$app_platform" -a "$app_platform" = "android" ]; then
3176 # android's gcc doesn't add this :/
3177 TARGET_INC="$TARGET_INC -I$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/include"
3179 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3180 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3181 GCCOPTS="$GCCOPTS"
3184 if test "$simulator" = "yes"; then
3185 # add simul make stuff on the #SIMUL# line
3186 simmagic1="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3187 simmagic2="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3188 else
3189 # delete the lines that match
3190 simmagic1='/@SIMUL1@/D'
3191 simmagic2='/@SIMUL2@/D'
3194 if test "$swcodec" = "yes"; then
3195 voicetoolset="rbspeexenc voicefont wavtrim"
3196 else
3197 voicetoolset="voicefont wavtrim"
3200 if test "$apps" = "apps"; then
3201 # only when we build "real" apps we build the .lng files
3202 buildlangs="langs"
3205 #### Fix the cmdline ###
3206 if [ "$ARG_CCACHE" = "1" ]; then
3207 cmdline="--ccache "
3208 elif [ "$ARG_CCACHE" = "0" ]; then
3209 cmdline="--no-ccache "
3211 if [ "$ARG_ARM_EABI" = "1" ]; then
3212 cmdline="$cmdline--eabi "
3215 cmdline="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts --prefix=\$(PREFIX)"
3216 ### end of cmdline
3218 sed > Makefile \
3219 -e "s<@ROOTDIR@<${rootdir}<g" \
3220 -e "s<@DEBUG@<${debug}<g" \
3221 -e "s<@MEMORY@<${memory}<g" \
3222 -e "s<@TARGET_ID@<${target_id}<g" \
3223 -e "s<@TARGET@<${target}<g" \
3224 -e "s<@CPU@<${t_cpu}<g" \
3225 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3226 -e "s<@MODELNAME@<${modelname}<g" \
3227 -e "s<@LANGUAGE@<${language}<g" \
3228 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3229 -e "s<@PWD@<${pwd}<g" \
3230 -e "s<@HOSTCC@<${HOSTCC}<g" \
3231 -e "s<@HOSTAR@<${HOSTAR}<g" \
3232 -e "s<@CC@<${CC}<g" \
3233 -e "s<@LD@<${LD}<g" \
3234 -e "s<@AR@<${AR}<g" \
3235 -e "s<@AS@<${AS}<g" \
3236 -e "s<@OC@<${OC}<g" \
3237 -e "s<@WINDRES@<${WINDRES}<g" \
3238 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3239 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3240 -e "s<@RANLIB@<${RANLIB}<g" \
3241 -e "s<@TOOL@<${tool}<g" \
3242 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3243 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3244 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3245 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3246 -e "s<@OUTPUT@<${output}<g" \
3247 -e "s<@APPEXTRA@<${appextra}<g" \
3248 -e "s<@ARCHOSROM@<${archosrom}<g" \
3249 -e "s<@FLASHFILE@<${flash}<g" \
3250 -e "s<@PLUGINS@<${plugins}<g" \
3251 -e "s<@CODECS@<${swcodec}<g" \
3252 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3253 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3254 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3255 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3256 -e "s<@LDOPTS@<${LDOPTS}<g" \
3257 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3258 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3259 -e "s<@EXTRADEF@<${extradefines}<g" \
3260 -e "s<@APPSDIR@<${appsdir}<g" \
3261 -e "s<@FIRMDIR@<${firmdir}<g" \
3262 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3263 -e "s<@APPS@<${apps}<g" \
3264 -e "s<@APP_TYPE@<${app_type}<g" \
3265 -e "s<@GCCVER@<${gccver}<g" \
3266 -e "s<@GCCNUM@<${gccnum}<g" \
3267 -e "s<@UNAME@<${uname}<g" \
3268 -e "s<@ENDIAN@<${defendian}<g" \
3269 -e "s<@TOOLSET@<${toolset}<g" \
3270 -e "${simmagic1}" \
3271 -e "${simmagic2}" \
3272 -e "s<@MANUALDEV@<${manualdev}<g" \
3273 -e "s<@ENCODER@<${ENC_CMD}<g" \
3274 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3275 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3276 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3277 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3278 -e "s<@LANGS@<${buildlangs}<g" \
3279 -e "s<@USE_ELF@<${USE_ELF}<g" \
3280 -e "s<@RBDIR@<${rbdir}<g" \
3281 -e "s<@binpath@<${bindir}<g" \
3282 -e "s<@libpath@<${libdir}<g" \
3283 -e "s<@PREFIX@<$PREFIX<g" \
3284 -e "s<@CMDLINE@<$cmdline<g" \
3285 -e "s<@SDLCONFIG@<$sdl<g" \
3286 <<EOF
3287 ## Automatically generated. http://www.rockbox.org/
3289 export ROOTDIR=@ROOTDIR@
3290 export FIRMDIR=@FIRMDIR@
3291 export APPSDIR=@APPSDIR@
3292 export TOOLSDIR=@TOOLSDIR@
3293 export DOCSDIR=\$(ROOTDIR)/docs
3294 export MANUALDIR=\${ROOTDIR}/manual
3295 export DEBUG=@DEBUG@
3296 export MODELNAME=@MODELNAME@
3297 export ARCHOSROM=@ARCHOSROM@
3298 export FLASHFILE=@FLASHFILE@
3299 export TARGET_ID=@TARGET_ID@
3300 export TARGET=@TARGET@
3301 export CPU=@CPU@
3302 export MANUFACTURER=@MANUFACTURER@
3303 export OBJDIR=@PWD@
3304 export BUILDDIR=@PWD@
3305 export LANGUAGE=@LANGUAGE@
3306 export VOICELANGUAGE=@VOICELANGUAGE@
3307 export MEMORYSIZE=@MEMORY@
3308 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3309 export MKFIRMWARE=@TOOL@
3310 export BMP2RB_MONO=@BMP2RB_MONO@
3311 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3312 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3313 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3314 export BINARY=@OUTPUT@
3315 export APPEXTRA=@APPEXTRA@
3316 export ENABLEDPLUGINS=@PLUGINS@
3317 export SOFTWARECODECS=@CODECS@
3318 export EXTRA_DEFINES=@EXTRADEF@
3319 export HOSTCC=@HOSTCC@
3320 export HOSTAR=@HOSTAR@
3321 export CC=@CC@
3322 export LD=@LD@
3323 export AR=@AR@
3324 export AS=@AS@
3325 export OC=@OC@
3326 export WINDRES=@WINDRES@
3327 export DLLTOOL=@DLLTOOL@
3328 export DLLWRAP=@DLLWRAP@
3329 export RANLIB=@RANLIB@
3330 export PREFIX=@PREFIX@
3331 export PROFILE_OPTS=@PROFILE_OPTS@
3332 export APP_TYPE=@APP_TYPE@
3333 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3334 export GCCOPTS=@GCCOPTS@
3335 export TARGET_INC=@TARGET_INC@
3336 export LOADADDRESS=@LOADADDRESS@
3337 export SHARED_FLAG=@SHARED_FLAG@
3338 export LDOPTS=@LDOPTS@
3339 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3340 export GCCVER=@GCCVER@
3341 export GCCNUM=@GCCNUM@
3342 export UNAME=@UNAME@
3343 export MANUALDEV=@MANUALDEV@
3344 export TTS_OPTS=@TTS_OPTS@
3345 export TTS_ENGINE=@TTS_ENGINE@
3346 export ENC_OPTS=@ENC_OPTS@
3347 export ENCODER=@ENCODER@
3348 export USE_ELF=@USE_ELF@
3349 export RBDIR=@RBDIR@
3350 export ROCKBOX_BINARY_PATH=@binpath@
3351 export ROCKBOX_LIBRARY_PATH=@libpath@
3352 export SDLCONFIG=@SDLCONFIG@
3354 CONFIGURE_OPTIONS=@CMDLINE@
3356 include \$(TOOLSDIR)/root.make
3360 echo "Created Makefile"