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