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