skin_engine: struct gui_skin can be static
[maemo-rb.git] / tools / configure
blob5f148d892cba934998a3817357a812e4642234c7
1 #!/bin/sh
2 # __________ __ ___.
3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 # \/ \/ \/ \/ \/
8 # $Id$
11 # global CC options for all platforms
12 CCOPTS="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe -std=gnu99"
14 # global LD options for all platforms
15 GLOBAL_LDOPTS=""
17 extradefines=""
18 use_logf="#undef ROCKBOX_HAS_LOGF"
19 use_bootchart="#undef DO_BOOTCHART"
21 scriptver=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
23 rbdir="/.rockbox"
24 need_full_path=
25 bindir=
26 libdir=
27 bindir_full=
28 libdir_full=
30 app_platform=
31 app_lcd_width=
32 app_lcd_height=
34 # Begin Function Definitions
36 input() {
37 read response
38 echo $response
41 prefixtools () {
42 prefix="$1"
43 CC=${prefix}gcc
44 WINDRES=${prefix}windres
45 DLLTOOL=${prefix}dlltool
46 DLLWRAP=${prefix}dllwrap
47 RANLIB=${prefix}ranlib
48 LD=${prefix}ld
49 AR=${prefix}ar
50 AS=${prefix}as
51 OC=${prefix}objcopy
54 app_get_platform() {
55 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
56 if [ -z "$ARG_PLATFORM" ]; then
57 choice=`input`
58 else
59 choice="$ARG_PLATFORM"
62 case $choice in
63 s|S*) app_platform="sdl" ;;
64 *|a|A*) app_platform="android" ;;
65 esac
67 echo "Selected $app_platform platform"
68 echo "Enter the LCD width (default: 320)"
69 if [ -z "$ARG_LCDWIDTH" ]; then
70 app_lcd_width=`input`
71 else
72 app_lcd_width="$ARG_LCDWIDTH"
74 if [ -z "$app_lcd_width" ]; then app_lcd_width="320"; fi
75 echo "Enter the LCD height (default: 480)"
76 if [ -z "$ARG_LCDHEIGHT" ]; then
77 app_lcd_height=`input`
78 else
79 app_lcd_height="$ARG_LCDHEIGHT"
81 if [ -z "$app_lcd_height" ]; then app_lcd_height="480"; fi
82 echo "Selected $app_lcd_width x $app_lcd_height resolution"
83 ARG_LCDWIDTH=$app_lcd_width
84 ARG_LCDHEIGHT=$app_lcd_height
86 app_lcd_width="#define LCD_WIDTH $app_lcd_width"
87 app_lcd_height="#define LCD_HEIGHT $app_lcd_height"
88 # setup files and paths depending on the platform
89 if [ "$app_platform" = "sdl" ]; then
90 if [ -z "$PREFIX" ]; then
91 rbdir="/usr/local/share/rockbox"
92 bindir="/usr/local/bin"
93 bindir_full=$bindir
94 libdir="/usr/local/lib"
95 libdir_full=$libdir
96 else
97 rbdir=`realpath $PREFIX/share/rockbox`
98 bindir="$PREFIX/bin"
99 libdir="$PREFIX/lib"
100 if [ -d bindir ]; then
101 bindir_full=`realpath $bindir`
103 if [ -d libdir ]; then
104 libdir_full=`realpath $libdir`
107 output="rockbox"
108 bootoutput="rockbox"
109 elif [ "$app_platform" = "android" ]; then
110 if [ -n "$PREFIX" ]; then
111 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
113 if [ -z "$ANDROID_SDK_PATH" ]; then
114 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
115 echo "environment variable point to the root directory of the Android SDK."
116 exit
118 if [ -z "$ANDROID_NDK_PATH" ]; then
119 echo "ERROR: You need the Android NDK installed and have the ANDROID_NDK_PATH"
120 echo "environment variable point to the root directory of the Android NDK."
121 exit
123 rbdir="/data/data/org.rockbox/app_rockbox/rockbox"
124 bindir="/data/data/org.rockbox/lib"
125 bindir_full=$bindir
126 libdir="/data/data/org.rockbox/app_rockbox"
127 libdir_full=$libdir
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 err=
957 for arg in "$@"; do
958 case "$arg" in
959 --ccache) ARG_CCACHE=1;;
960 --no-ccache) ARG_CCACHE=0;;
961 --encopts=*) ARG_ENCOPTS=`echo "$arg" | cut -d = -f 2`;;
962 --language=*) ARG_LANG=`echo "$arg" | cut -d = -f 2`;;
963 --lcdwidth=*) ARG_LCDWIDTH=`echo "$arg" | cut -d = -f 2`;;
964 --lcdheight=*) ARG_LCDHEIGHT=`echo "$arg" | cut -d = -f 2`;;
965 --platform=*) ARG_PLATFORM=`echo "$arg" | cut -d = -f 2`;;
966 --ram=*) ARG_RAM=`echo "$arg" | cut -d = -f 2`;;
967 --rbdir=*) ARG_RBDIR=`echo "$arg" | cut -d = -f 2`;;
968 --target=*) ARG_TARGET=`echo "$arg" | cut -d = -f 2`;;
969 --tts=*) ARG_TTS=`echo "$arg" | cut -d = -f 2`;;
970 --ttsopts=*) ARG_TTSOPTS=`echo "$arg" | cut -d = -f 2`;;
971 --type=*) ARG_TYPE=`echo "$arg" | cut -d = -f 2`;;
972 --voice=*) ARG_VOICE=`echo "$arg" | cut -d = -f 2`;;
973 --eabi) ARG_ARM_EABI=1;;
974 --no-eabi) ARG_ARM_EABI=0;;
975 --thumb) ARG_ARM_THUMB=1;;
976 --no-thumb) ARG_ARM_THUMB=0;;
977 --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;;
978 --help) help;;
979 *) err=1; echo "[ERROR] Option '$arg' unsupported";;
980 esac
981 done
982 [ "$err" ] && exit 1
984 advopts=
986 if [ "$TMPDIR" != "" ]; then
987 tmpdir=$TMPDIR
988 else
989 tmpdir=/tmp
991 echo Using temporary directory $tmpdir
993 if test -r "configure"; then
994 # this is a check for a configure script in the current directory, it there
995 # is one, try to figure out if it is this one!
997 if { grep "^# Jukebox" configure >/dev/null 2>&1 ; } then
998 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
999 echo "It will only cause you pain and grief. Instead do this:"
1000 echo ""
1001 echo " cd .."
1002 echo " mkdir build-dir"
1003 echo " cd build-dir"
1004 echo " ../tools/configure"
1005 echo ""
1006 echo "Much happiness will arise from this. Enjoy"
1007 exit 5
1011 # get our current directory
1012 pwd=`pwd`;
1014 if { echo $pwd | grep " "; } then
1015 echo "You're running this script in a path that contains space. The build"
1016 echo "system is unfortunately not clever enough to deal with this. Please"
1017 echo "run the script from a different path, rename the path or fix the build"
1018 echo "system!"
1019 exit 6
1022 if [ -z "$rootdir" ]; then
1023 ##################################################################
1024 # Figure out where the source code root is!
1026 rootdir=`dirname $0`/../
1028 #####################################################################
1029 # Convert the possibly relative directory name to an absolute version
1031 now=`pwd`
1032 cd $rootdir
1033 rootdir=`pwd`
1035 # cd back to the build dir
1036 cd $now
1039 apps="apps"
1040 appsdir='\$(ROOTDIR)/apps'
1041 firmdir='\$(ROOTDIR)/firmware'
1042 toolsdir='\$(ROOTDIR)/tools'
1045 ##################################################################
1046 # Figure out target platform
1049 if [ "$ARG_TARGET" ]; then
1050 buildfor=$ARG_TARGET
1051 else
1052 echo "Enter target platform:"
1053 cat <<EOF
1054 ==Archos== ==iriver== ==Apple iPod==
1055 0) Player/Studio 10) H120/H140 20) Color/Photo
1056 1) Recorder 11) H320/H340 21) Nano 1G
1057 2) FM Recorder 12) iHP-100/110/115 22) Video
1058 3) Recorder v2 13) iFP-790 23) 3G
1059 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1060 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1061 6) AV300 26) Mini 2G
1062 ==Toshiba== 27) 1G, 2G
1063 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1064 30) X5/X5V/X5L 41) Gigabeat S
1065 31) M5/M5L ==SanDisk==
1066 32) 7 ==Olympus= 50) Sansa e200
1067 33) D2 70) M:Robe 500 51) Sansa e200R
1068 34) M3/M3L 71) M:Robe 100 52) Sansa c200
1069 53) Sansa m200
1070 ==Creative== ==Philips== 54) Sansa c100
1071 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
1072 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
1073 92) Zen Vision HDD1830 57) Sansa m200v4
1074 102) GoGear HDD6330 58) Sansa Fuze
1075 ==Onda== 59) Sansa c200v2
1076 120) VX747 ==Meizu== 60) Sansa Clipv2
1077 121) VX767 110) M6SL 61) Sansa View
1078 122) VX747+ 111) M6SP 62) Sansa Clip+
1079 123) VX777 112) M3 63) Sansa Fuze v2
1081 ==Logik==
1082 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
1083 140) YH-820 150) Elio TPJ-1022
1084 141) YH-920 ==Lyre project==
1085 142) YH-925 ==Packard Bell== 130) Lyre proto 1
1086 143) YP-S3 160) Vibe 500 131) Mini2440
1088 ==MPIO== == Application ==
1089 170) HD200 200) Application
1093 buildfor=`input`;
1096 # Set of tools built for all target platforms:
1097 toolset="rdf2binary convbdf codepages"
1099 # Toolsets for some target families:
1100 archosbitmaptools="$toolset scramble descramble sh2d uclpack bmp2rb"
1101 iriverbitmaptools="$toolset scramble descramble mkboot bmp2rb"
1102 iaudiobitmaptools="$toolset scramble descramble mkboot bmp2rb"
1103 ipodbitmaptools="$toolset scramble bmp2rb"
1104 gigabeatbitmaptools="$toolset scramble descramble bmp2rb"
1105 tccbitmaptools="$toolset scramble bmp2rb"
1106 # generic is used by IFP, Meizu and Onda
1107 genericbitmaptools="$toolset bmp2rb"
1108 # scramble is used by all other targets
1109 scramblebitmaptools="$genericbitmaptools scramble"
1112 # ---- For each target ----
1114 # *Variables*
1115 # target_id: a unique number identifying this target, IS NOT the menu number.
1116 # Just use the currently highest number+1 when you add a new
1117 # target.
1118 # modelname: short model name used all over to identify this target
1119 # memory: number of megabytes of RAM this target has. If the amount can
1120 # be selected by the size prompt, let memory be unset here
1121 # target: -Ddefine passed to the build commands to make the correct
1122 # config-*.h file get included etc
1123 # tool: the tool that takes a plain binary and converts that into a
1124 # working "firmware" file for your target
1125 # output: the final output file name
1126 # boottool: the tool that takes a plain binary and generates a bootloader
1127 # file for your target (or blank to use $tool)
1128 # bootoutput:the final output file name for the bootloader (or blank to use
1129 # $output)
1130 # appextra: passed to the APPEXTRA variable in the Makefiles.
1131 # TODO: add proper explanation
1132 # archosrom: used only for Archos targets that build a special flashable .ucl
1133 # image.
1134 # flash: name of output for flashing, for targets where there's a special
1135 # file output for this.
1136 # plugins: set to 'yes' to build the plugins. Early development builds can
1137 # set this to no in the early stages to have an easier life for a
1138 # while
1139 # swcodec: set 'yes' on swcodec targets
1140 # toolset: lists what particular tools in the tools/ directory that this
1141 # target needs to have built prior to building Rockbox
1143 # *Functions*
1144 # *cc: sets up gcc and compiler options for your target builds. Note
1145 # that if you select a simulator build, the compiler selection is
1146 # overridden later in the script.
1148 case $buildfor in
1150 0|archosplayer)
1151 target_id=1
1152 modelname="archosplayer"
1153 target="-DARCHOS_PLAYER"
1154 shcc
1155 tool="$rootdir/tools/scramble"
1156 output="archos.mod"
1157 appextra="player:gui"
1158 archosrom="$pwd/rombox.ucl"
1159 flash="$pwd/rockbox.ucl"
1160 plugins="yes"
1161 swcodec=""
1163 # toolset is the tools within the tools directory that we build for
1164 # this particular target.
1165 toolset="$toolset scramble descramble sh2d player_unifont uclpack"
1167 # Note: the convbdf is present in the toolset just because: 1) the
1168 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1169 # build the player simulator
1171 t_cpu="sh"
1172 t_manufacturer="archos"
1173 t_model="player"
1176 1|archosrecorder)
1177 target_id=2
1178 modelname="archosrecorder"
1179 target="-DARCHOS_RECORDER"
1180 shcc
1181 tool="$rootdir/tools/scramble"
1182 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1183 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1184 output="ajbrec.ajz"
1185 appextra="recorder:gui:radio"
1186 #archosrom="$pwd/rombox.ucl"
1187 flash="$pwd/rockbox.ucl"
1188 plugins="yes"
1189 swcodec=""
1190 # toolset is the tools within the tools directory that we build for
1191 # this particular target.
1192 toolset=$archosbitmaptools
1193 t_cpu="sh"
1194 t_manufacturer="archos"
1195 t_model="recorder"
1198 2|archosfmrecorder)
1199 target_id=3
1200 modelname="archosfmrecorder"
1201 target="-DARCHOS_FMRECORDER"
1202 shcc
1203 tool="$rootdir/tools/scramble -fm"
1204 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1205 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1206 output="ajbrec.ajz"
1207 appextra="recorder:gui:radio"
1208 #archosrom="$pwd/rombox.ucl"
1209 flash="$pwd/rockbox.ucl"
1210 plugins="yes"
1211 swcodec=""
1212 # toolset is the tools within the tools directory that we build for
1213 # this particular target.
1214 toolset=$archosbitmaptools
1215 t_cpu="sh"
1216 t_manufacturer="archos"
1217 t_model="fm_v2"
1220 3|archosrecorderv2)
1221 target_id=4
1222 modelname="archosrecorderv2"
1223 target="-DARCHOS_RECORDERV2"
1224 shcc
1225 tool="$rootdir/tools/scramble -v2"
1226 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1227 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1228 output="ajbrec.ajz"
1229 appextra="recorder:gui:radio"
1230 #archosrom="$pwd/rombox.ucl"
1231 flash="$pwd/rockbox.ucl"
1232 plugins="yes"
1233 swcodec=""
1234 # toolset is the tools within the tools directory that we build for
1235 # this particular target.
1236 toolset=$archosbitmaptools
1237 t_cpu="sh"
1238 t_manufacturer="archos"
1239 t_model="fm_v2"
1242 4|archosondiosp)
1243 target_id=7
1244 modelname="archosondiosp"
1245 target="-DARCHOS_ONDIOSP"
1246 shcc
1247 tool="$rootdir/tools/scramble -osp"
1248 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1249 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1250 output="ajbrec.ajz"
1251 appextra="recorder:gui:radio"
1252 #archosrom="$pwd/rombox.ucl"
1253 flash="$pwd/rockbox.ucl"
1254 plugins="yes"
1255 swcodec=""
1256 # toolset is the tools within the tools directory that we build for
1257 # this particular target.
1258 toolset=$archosbitmaptools
1259 t_cpu="sh"
1260 t_manufacturer="archos"
1261 t_model="ondio"
1264 5|archosondiofm)
1265 target_id=8
1266 modelname="archosondiofm"
1267 target="-DARCHOS_ONDIOFM"
1268 shcc
1269 tool="$rootdir/tools/scramble -ofm"
1270 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1271 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1272 output="ajbrec.ajz"
1273 appextra="recorder:gui:radio"
1274 #archosrom="$pwd/rombox.ucl"
1275 flash="$pwd/rockbox.ucl"
1276 plugins="yes"
1277 swcodec=""
1278 toolset=$archosbitmaptools
1279 t_cpu="sh"
1280 t_manufacturer="archos"
1281 t_model="ondio"
1284 6|archosav300)
1285 target_id=38
1286 modelname="archosav300"
1287 target="-DARCHOS_AV300"
1288 memory=16 # always
1289 arm7tdmicc
1290 tool="$rootdir/tools/scramble -mm=C"
1291 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1292 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1293 output="cjbm.ajz"
1294 appextra="recorder:gui:radio"
1295 plugins="yes"
1296 swcodec=""
1297 # toolset is the tools within the tools directory that we build for
1298 # this particular target.
1299 toolset="$toolset scramble descramble bmp2rb"
1300 # architecture, manufacturer and model for the target-tree build
1301 t_cpu="arm"
1302 t_manufacturer="archos"
1303 t_model="av300"
1306 10|iriverh120)
1307 target_id=9
1308 modelname="iriverh120"
1309 target="-DIRIVER_H120"
1310 memory=32 # always
1311 coldfirecc
1312 tool="$rootdir/tools/scramble -add=h120"
1313 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1314 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1315 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1316 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1317 output="rockbox.iriver"
1318 bootoutput="bootloader.iriver"
1319 appextra="recorder:gui:radio"
1320 flash="$pwd/rombox.iriver"
1321 plugins="yes"
1322 swcodec="yes"
1323 # toolset is the tools within the tools directory that we build for
1324 # this particular target.
1325 toolset=$iriverbitmaptools
1326 t_cpu="coldfire"
1327 t_manufacturer="iriver"
1328 t_model="h100"
1331 11|iriverh300)
1332 target_id=10
1333 modelname="iriverh300"
1334 target="-DIRIVER_H300"
1335 memory=32 # always
1336 coldfirecc
1337 tool="$rootdir/tools/scramble -add=h300"
1338 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1339 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1340 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1341 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1342 output="rockbox.iriver"
1343 appextra="recorder:gui:radio"
1344 plugins="yes"
1345 swcodec="yes"
1346 # toolset is the tools within the tools directory that we build for
1347 # this particular target.
1348 toolset=$iriverbitmaptools
1349 t_cpu="coldfire"
1350 t_manufacturer="iriver"
1351 t_model="h300"
1354 12|iriverh100)
1355 target_id=11
1356 modelname="iriverh100"
1357 target="-DIRIVER_H100"
1358 memory=16 # always
1359 coldfirecc
1360 tool="$rootdir/tools/scramble -add=h100"
1361 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1362 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1363 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1364 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1365 output="rockbox.iriver"
1366 bootoutput="bootloader.iriver"
1367 appextra="recorder:gui:radio"
1368 flash="$pwd/rombox.iriver"
1369 plugins="yes"
1370 swcodec="yes"
1371 # toolset is the tools within the tools directory that we build for
1372 # this particular target.
1373 toolset=$iriverbitmaptools
1374 t_cpu="coldfire"
1375 t_manufacturer="iriver"
1376 t_model="h100"
1379 13|iriverifp7xx)
1380 target_id=19
1381 modelname="iriverifp7xx"
1382 target="-DIRIVER_IFP7XX"
1383 memory=1
1384 arm7tdmicc short
1385 tool="cp"
1386 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1387 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1388 output="rockbox.wma"
1389 appextra="recorder:gui:radio"
1390 plugins="yes"
1391 swcodec="yes"
1392 # toolset is the tools within the tools directory that we build for
1393 # this particular target.
1394 toolset=$genericbitmaptools
1395 t_cpu="arm"
1396 t_manufacturer="pnx0101"
1397 t_model="iriver-ifp7xx"
1400 14|iriverh10)
1401 target_id=22
1402 modelname="iriverh10"
1403 target="-DIRIVER_H10"
1404 memory=32 # always
1405 arm7tdmicc
1406 tool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1407 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1408 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1409 output="rockbox.mi4"
1410 appextra="recorder:gui:radio"
1411 plugins="yes"
1412 swcodec="yes"
1413 boottool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1414 bootoutput="H10_20GC.mi4"
1415 # toolset is the tools within the tools directory that we build for
1416 # this particular target.
1417 toolset=$scramblebitmaptools
1418 # architecture, manufacturer and model for the target-tree build
1419 t_cpu="arm"
1420 t_manufacturer="iriver"
1421 t_model="h10"
1424 15|iriverh10_5gb)
1425 target_id=24
1426 modelname="iriverh10_5gb"
1427 target="-DIRIVER_H10_5GB"
1428 memory=32 # always
1429 arm7tdmicc
1430 tool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1431 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1432 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1433 output="rockbox.mi4"
1434 appextra="recorder:gui:radio"
1435 plugins="yes"
1436 swcodec="yes"
1437 boottool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1438 bootoutput="H10.mi4"
1439 # toolset is the tools within the tools directory that we build for
1440 # this particular target.
1441 toolset=$scramblebitmaptools
1442 # architecture, manufacturer and model for the target-tree build
1443 t_cpu="arm"
1444 t_manufacturer="iriver"
1445 t_model="h10"
1448 20|ipodcolor)
1449 target_id=13
1450 modelname="ipodcolor"
1451 target="-DIPOD_COLOR"
1452 memory=32 # always
1453 arm7tdmicc
1454 tool="$rootdir/tools/scramble -add=ipco"
1455 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1456 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1457 output="rockbox.ipod"
1458 appextra="recorder:gui:radio"
1459 plugins="yes"
1460 swcodec="yes"
1461 bootoutput="bootloader-$modelname.ipod"
1462 # toolset is the tools within the tools directory that we build for
1463 # this particular target.
1464 toolset=$ipodbitmaptools
1465 # architecture, manufacturer and model for the target-tree build
1466 t_cpu="arm"
1467 t_manufacturer="ipod"
1468 t_model="color"
1471 21|ipodnano1g)
1472 target_id=14
1473 modelname="ipodnano1g"
1474 target="-DIPOD_NANO"
1475 memory=32 # always
1476 arm7tdmicc
1477 tool="$rootdir/tools/scramble -add=nano"
1478 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1479 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1480 output="rockbox.ipod"
1481 appextra="recorder:gui:radio"
1482 plugins="yes"
1483 swcodec="yes"
1484 bootoutput="bootloader-$modelname.ipod"
1485 # toolset is the tools within the tools directory that we build for
1486 # this particular target.
1487 toolset=$ipodbitmaptools
1488 # architecture, manufacturer and model for the target-tree build
1489 t_cpu="arm"
1490 t_manufacturer="ipod"
1491 t_model="nano"
1494 22|ipodvideo)
1495 target_id=15
1496 modelname="ipodvideo"
1497 target="-DIPOD_VIDEO"
1498 memory=64 # always. This is reduced at runtime if needed
1499 arm7tdmicc
1500 tool="$rootdir/tools/scramble -add=ipvd"
1501 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1502 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1503 output="rockbox.ipod"
1504 appextra="recorder:gui:radio"
1505 plugins="yes"
1506 swcodec="yes"
1507 bootoutput="bootloader-$modelname.ipod"
1508 # toolset is the tools within the tools directory that we build for
1509 # this particular target.
1510 toolset=$ipodbitmaptools
1511 # architecture, manufacturer and model for the target-tree build
1512 t_cpu="arm"
1513 t_manufacturer="ipod"
1514 t_model="video"
1517 23|ipod3g)
1518 target_id=16
1519 modelname="ipod3g"
1520 target="-DIPOD_3G"
1521 memory=32 # always
1522 arm7tdmicc
1523 tool="$rootdir/tools/scramble -add=ip3g"
1524 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1525 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1526 output="rockbox.ipod"
1527 appextra="recorder:gui:radio"
1528 plugins="yes"
1529 swcodec="yes"
1530 bootoutput="bootloader-$modelname.ipod"
1531 # toolset is the tools within the tools directory that we build for
1532 # this particular target.
1533 toolset=$ipodbitmaptools
1534 # architecture, manufacturer and model for the target-tree build
1535 t_cpu="arm"
1536 t_manufacturer="ipod"
1537 t_model="3g"
1540 24|ipod4g)
1541 target_id=17
1542 modelname="ipod4g"
1543 target="-DIPOD_4G"
1544 memory=32 # always
1545 arm7tdmicc
1546 tool="$rootdir/tools/scramble -add=ip4g"
1547 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1548 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1549 output="rockbox.ipod"
1550 appextra="recorder:gui:radio"
1551 plugins="yes"
1552 swcodec="yes"
1553 bootoutput="bootloader-$modelname.ipod"
1554 # toolset is the tools within the tools directory that we build for
1555 # this particular target.
1556 toolset=$ipodbitmaptools
1557 # architecture, manufacturer and model for the target-tree build
1558 t_cpu="arm"
1559 t_manufacturer="ipod"
1560 t_model="4g"
1563 25|ipodmini1g)
1564 target_id=18
1565 modelname="ipodmini1g"
1566 target="-DIPOD_MINI"
1567 memory=32 # always
1568 arm7tdmicc
1569 tool="$rootdir/tools/scramble -add=mini"
1570 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1571 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1572 output="rockbox.ipod"
1573 appextra="recorder:gui:radio"
1574 plugins="yes"
1575 swcodec="yes"
1576 bootoutput="bootloader-$modelname.ipod"
1577 # toolset is the tools within the tools directory that we build for
1578 # this particular target.
1579 toolset=$ipodbitmaptools
1580 # architecture, manufacturer and model for the target-tree build
1581 t_cpu="arm"
1582 t_manufacturer="ipod"
1583 t_model="mini"
1586 26|ipodmini2g)
1587 target_id=21
1588 modelname="ipodmini2g"
1589 target="-DIPOD_MINI2G"
1590 memory=32 # always
1591 arm7tdmicc
1592 tool="$rootdir/tools/scramble -add=mn2g"
1593 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1594 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1595 output="rockbox.ipod"
1596 appextra="recorder:gui:radio"
1597 plugins="yes"
1598 swcodec="yes"
1599 bootoutput="bootloader-$modelname.ipod"
1600 # toolset is the tools within the tools directory that we build for
1601 # this particular target.
1602 toolset=$ipodbitmaptools
1603 # architecture, manufacturer and model for the target-tree build
1604 t_cpu="arm"
1605 t_manufacturer="ipod"
1606 t_model="mini2g"
1609 27|ipod1g2g)
1610 target_id=29
1611 modelname="ipod1g2g"
1612 target="-DIPOD_1G2G"
1613 memory=32 # always
1614 arm7tdmicc
1615 tool="$rootdir/tools/scramble -add=1g2g"
1616 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1617 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1618 output="rockbox.ipod"
1619 appextra="recorder:gui:radio"
1620 plugins="yes"
1621 swcodec="yes"
1622 bootoutput="bootloader-$modelname.ipod"
1623 # toolset is the tools within the tools directory that we build for
1624 # this particular target.
1625 toolset=$ipodbitmaptools
1626 # architecture, manufacturer and model for the target-tree build
1627 t_cpu="arm"
1628 t_manufacturer="ipod"
1629 t_model="1g2g"
1632 28|ipodnano2g)
1633 target_id=62
1634 modelname="ipodnano2g"
1635 target="-DIPOD_NANO2G"
1636 memory=32 # always
1637 arm940tcc
1638 tool="$rootdir/tools/scramble -add=nn2g"
1639 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1640 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1641 output="rockbox.ipod"
1642 appextra="recorder:gui:radio"
1643 plugins="yes"
1644 swcodec="yes"
1645 bootoutput="bootloader-$modelname.ipod"
1646 # toolset is the tools within the tools directory that we build for
1647 # this particular target.
1648 toolset=$ipodbitmaptools
1649 # architecture, manufacturer and model for the target-tree build
1650 t_cpu="arm"
1651 t_manufacturer="s5l8700"
1652 t_model="ipodnano2g"
1655 30|iaudiox5)
1656 target_id=12
1657 modelname="iaudiox5"
1658 target="-DIAUDIO_X5"
1659 memory=16 # always
1660 coldfirecc
1661 tool="$rootdir/tools/scramble -add=iax5"
1662 boottool="$rootdir/tools/scramble -iaudiox5"
1663 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1664 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1665 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1666 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1667 output="rockbox.iaudio"
1668 bootoutput="x5_fw.bin"
1669 appextra="recorder:gui:radio"
1670 plugins="yes"
1671 swcodec="yes"
1672 # toolset is the tools within the tools directory that we build for
1673 # this particular target.
1674 toolset="$iaudiobitmaptools"
1675 # architecture, manufacturer and model for the target-tree build
1676 t_cpu="coldfire"
1677 t_manufacturer="iaudio"
1678 t_model="x5"
1681 31|iaudiom5)
1682 target_id=28
1683 modelname="iaudiom5"
1684 target="-DIAUDIO_M5"
1685 memory=16 # always
1686 coldfirecc
1687 tool="$rootdir/tools/scramble -add=iam5"
1688 boottool="$rootdir/tools/scramble -iaudiom5"
1689 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1690 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1691 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1692 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1693 output="rockbox.iaudio"
1694 bootoutput="m5_fw.bin"
1695 appextra="recorder:gui:radio"
1696 plugins="yes"
1697 swcodec="yes"
1698 # toolset is the tools within the tools directory that we build for
1699 # this particular target.
1700 toolset="$iaudiobitmaptools"
1701 # architecture, manufacturer and model for the target-tree build
1702 t_cpu="coldfire"
1703 t_manufacturer="iaudio"
1704 t_model="m5"
1707 32|iaudio7)
1708 target_id=32
1709 modelname="iaudio7"
1710 target="-DIAUDIO_7"
1711 memory=16 # always
1712 arm946cc
1713 tool="$rootdir/tools/scramble -add=i7"
1714 boottool="$rootdir/tools/scramble -tcc=crc"
1715 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1716 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1717 output="rockbox.iaudio"
1718 appextra="recorder:gui:radio"
1719 plugins="yes"
1720 swcodec="yes"
1721 bootoutput="I7_FW.BIN"
1722 # toolset is the tools within the tools directory that we build for
1723 # this particular target.
1724 toolset="$tccbitmaptools"
1725 # architecture, manufacturer and model for the target-tree build
1726 t_cpu="arm"
1727 t_manufacturer="tcc77x"
1728 t_model="iaudio7"
1731 33|cowond2)
1732 target_id=34
1733 modelname="cowond2"
1734 target="-DCOWON_D2"
1735 memory=32
1736 arm926ejscc
1737 tool="$rootdir/tools/scramble -add=d2"
1738 boottool="cp "
1739 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1740 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1741 output="rockbox.d2"
1742 bootoutput="bootloader-cowond2.bin"
1743 appextra="recorder:gui:radio"
1744 plugins="yes"
1745 swcodec="yes"
1746 toolset="$tccbitmaptools"
1747 # architecture, manufacturer and model for the target-tree build
1748 t_cpu="arm"
1749 t_manufacturer="tcc780x"
1750 t_model="cowond2"
1753 34|iaudiom3)
1754 target_id=37
1755 modelname="iaudiom3"
1756 target="-DIAUDIO_M3"
1757 memory=16 # always
1758 coldfirecc
1759 tool="$rootdir/tools/scramble -add=iam3"
1760 boottool="$rootdir/tools/scramble -iaudiom3"
1761 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1762 bmp2rb_native="$rootdir/tools/bmp2rb -f 7"
1763 output="rockbox.iaudio"
1764 bootoutput="cowon_m3.bin"
1765 appextra="recorder:gui:radio"
1766 plugins="yes"
1767 swcodec="yes"
1768 # toolset is the tools within the tools directory that we build for
1769 # this particular target.
1770 toolset="$iaudiobitmaptools"
1771 # architecture, manufacturer and model for the target-tree build
1772 t_cpu="coldfire"
1773 t_manufacturer="iaudio"
1774 t_model="m3"
1777 40|gigabeatfx)
1778 target_id=20
1779 modelname="gigabeatfx"
1780 target="-DGIGABEAT_F"
1781 memory=32 # always
1782 arm9tdmicc
1783 tool="$rootdir/tools/scramble -add=giga"
1784 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1785 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1786 output="rockbox.gigabeat"
1787 appextra="recorder:gui:radio"
1788 plugins="yes"
1789 swcodec="yes"
1790 toolset=$gigabeatbitmaptools
1791 boottool="$rootdir/tools/scramble -gigabeat"
1792 bootoutput="FWIMG01.DAT"
1793 # architecture, manufacturer and model for the target-tree build
1794 t_cpu="arm"
1795 t_manufacturer="s3c2440"
1796 t_model="gigabeat-fx"
1799 41|gigabeats)
1800 target_id=26
1801 modelname="gigabeats"
1802 target="-DGIGABEAT_S"
1803 memory=64
1804 arm1136jfscc
1805 tool="$rootdir/tools/scramble -add=gigs"
1806 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1807 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1808 output="rockbox.gigabeat"
1809 appextra="recorder:gui:radio"
1810 plugins="yes"
1811 swcodec="yes"
1812 toolset="$gigabeatbitmaptools"
1813 boottool="$rootdir/tools/scramble -gigabeats"
1814 bootoutput="nk.bin"
1815 # architecture, manufacturer and model for the target-tree build
1816 t_cpu="arm"
1817 t_manufacturer="imx31"
1818 t_model="gigabeat-s"
1821 70|mrobe500)
1822 target_id=36
1823 modelname="mrobe500"
1824 target="-DMROBE_500"
1825 memory=64 # always
1826 arm926ejscc
1827 tool="$rootdir/tools/scramble -add=m500"
1828 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1829 bmp2rb_native="$rootdir/tools/bmp2rb -f 8"
1830 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1831 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1832 output="rockbox.mrobe500"
1833 appextra="recorder:gui:radio"
1834 plugins="yes"
1835 swcodec="yes"
1836 toolset=$gigabeatbitmaptools
1837 boottool="cp "
1838 bootoutput="rockbox.mrboot"
1839 # architecture, manufacturer and model for the target-tree build
1840 t_cpu="arm"
1841 t_manufacturer="tms320dm320"
1842 t_model="mrobe-500"
1845 71|mrobe100)
1846 target_id=33
1847 modelname="mrobe100"
1848 target="-DMROBE_100"
1849 memory=32 # always
1850 arm7tdmicc
1851 tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1852 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1853 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1854 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1855 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1856 output="rockbox.mi4"
1857 appextra="recorder:gui:radio"
1858 plugins="yes"
1859 swcodec="yes"
1860 boottool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1861 bootoutput="pp5020.mi4"
1862 # toolset is the tools within the tools directory that we build for
1863 # this particular target.
1864 toolset=$scramblebitmaptools
1865 # architecture, manufacturer and model for the target-tree build
1866 t_cpu="arm"
1867 t_manufacturer="olympus"
1868 t_model="mrobe-100"
1871 80|logikdax)
1872 target_id=31
1873 modelname="logikdax"
1874 target="-DLOGIK_DAX"
1875 memory=2 # always
1876 arm946cc
1877 tool="$rootdir/tools/scramble -add=ldax"
1878 boottool="$rootdir/tools/scramble -tcc=crc"
1879 bootoutput="player.rom"
1880 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1881 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1882 output="rockbox.logik"
1883 appextra="recorder:gui:radio"
1884 plugins=""
1885 swcodec="yes"
1886 # toolset is the tools within the tools directory that we build for
1887 # this particular target.
1888 toolset=$tccbitmaptools
1889 # architecture, manufacturer and model for the target-tree build
1890 t_cpu="arm"
1891 t_manufacturer="tcc77x"
1892 t_model="logikdax"
1895 90|zenvisionm30gb)
1896 target_id=35
1897 modelname="zenvisionm30gb"
1898 target="-DCREATIVE_ZVM"
1899 memory=64
1900 arm926ejscc
1901 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1902 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1903 tool="$rootdir/tools/scramble -creative=zvm"
1904 USE_ELF="yes"
1905 output="rockbox.zvm"
1906 appextra="recorder:gui:radio"
1907 plugins="yes"
1908 swcodec="yes"
1909 toolset=$ipodbitmaptools
1910 boottool="$rootdir/tools/scramble -creative=zvm -no-ciff"
1911 bootoutput="rockbox.zvmboot"
1912 # architecture, manufacturer and model for the target-tree build
1913 t_cpu="arm"
1914 t_manufacturer="tms320dm320"
1915 t_model="creative-zvm"
1918 91|zenvisionm60gb)
1919 target_id=40
1920 modelname="zenvisionm60gb"
1921 target="-DCREATIVE_ZVM60GB"
1922 memory=64
1923 arm926ejscc
1924 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1925 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1926 tool="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1927 USE_ELF="yes"
1928 output="rockbox.zvm60"
1929 appextra="recorder:gui:radio"
1930 plugins="yes"
1931 swcodec="yes"
1932 toolset=$ipodbitmaptools
1933 boottool="$rootdir/tools/scramble -creative=zvm60"
1934 bootoutput="rockbox.zvm60boot"
1935 # architecture, manufacturer and model for the target-tree build
1936 t_cpu="arm"
1937 t_manufacturer="tms320dm320"
1938 t_model="creative-zvm"
1941 92|zenvision)
1942 target_id=39
1943 modelname="zenvision"
1944 target="-DCREATIVE_ZV"
1945 memory=64
1946 arm926ejscc
1947 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1948 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1949 tool="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1950 USE_ELF="yes"
1951 output="rockbox.zv"
1952 appextra="recorder:gui:radio"
1953 plugins=""
1954 swcodec="yes"
1955 toolset=$ipodbitmaptools
1956 boottool="$rootdir/tools/scramble -creative=zenvision"
1957 bootoutput="rockbox.zvboot"
1958 # architecture, manufacturer and model for the target-tree build
1959 t_cpu="arm"
1960 t_manufacturer="tms320dm320"
1961 t_model="creative-zvm"
1964 50|sansae200)
1965 target_id=23
1966 modelname="sansae200"
1967 target="-DSANSA_E200"
1968 memory=32 # supposedly
1969 arm7tdmicc
1970 tool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1971 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1972 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1973 output="rockbox.mi4"
1974 appextra="recorder:gui:radio"
1975 plugins="yes"
1976 swcodec="yes"
1977 boottool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1978 bootoutput="PP5022.mi4"
1979 # toolset is the tools within the tools directory that we build for
1980 # this particular target.
1981 toolset=$scramblebitmaptools
1982 # architecture, manufacturer and model for the target-tree build
1983 t_cpu="arm"
1984 t_manufacturer="sandisk"
1985 t_model="sansa-e200"
1988 51|sansae200r)
1989 # the e200R model is pretty much identical to the e200, it only has a
1990 # different option to the scramble tool when building a bootloader and
1991 # makes the bootloader output file name in all lower case.
1992 target_id=27
1993 modelname="sansae200r"
1994 target="-DSANSA_E200"
1995 memory=32 # supposedly
1996 arm7tdmicc
1997 tool="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1998 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1999 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2000 output="rockbox.mi4"
2001 appextra="recorder:gui:radio"
2002 plugins="yes"
2003 swcodec="yes"
2004 boottool="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
2005 bootoutput="pp5022.mi4"
2006 # toolset is the tools within the tools directory that we build for
2007 # this particular target.
2008 toolset=$scramblebitmaptools
2009 # architecture, manufacturer and model for the target-tree build
2010 t_cpu="arm"
2011 t_manufacturer="sandisk"
2012 t_model="sansa-e200"
2015 52|sansac200)
2016 target_id=30
2017 modelname="sansac200"
2018 target="-DSANSA_C200"
2019 memory=32 # supposedly
2020 arm7tdmicc
2021 tool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2022 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2023 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2024 output="rockbox.mi4"
2025 appextra="recorder:gui:radio"
2026 plugins="yes"
2027 swcodec="yes"
2028 boottool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2029 bootoutput="firmware.mi4"
2030 # toolset is the tools within the tools directory that we build for
2031 # this particular target.
2032 toolset=$scramblebitmaptools
2033 # architecture, manufacturer and model for the target-tree build
2034 t_cpu="arm"
2035 t_manufacturer="sandisk"
2036 t_model="sansa-c200"
2039 53|sansam200)
2040 target_id=48
2041 modelname="sansam200"
2042 target="-DSANSA_M200"
2043 memory=1 # always
2044 arm946cc
2045 tool="$rootdir/tools/scramble -add=m200"
2046 boottool="$rootdir/tools/scramble -tcc=crc"
2047 bootoutput="player.rom"
2048 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2049 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
2050 output="rockbox.m200"
2051 appextra="recorder:gui:radio"
2052 plugins=""
2053 swcodec="yes"
2054 # toolset is the tools within the tools directory that we build for
2055 # this particular target.
2056 toolset=$tccbitmaptools
2057 # architecture, manufacturer and model for the target-tree build
2058 t_cpu="arm"
2059 t_manufacturer="tcc77x"
2060 t_model="m200"
2063 54|sansac100)
2064 target_id=42
2065 modelname="sansac100"
2066 target="-DSANSA_C100"
2067 memory=2
2068 arm946cc
2069 tool="$rootdir/tools/scramble -add=c100"
2070 boottool="$rootdir/tools/scramble -tcc=crc"
2071 bootoutput="player.rom"
2072 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2073 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2074 output="rockbox.c100"
2075 appextra="recorder:gui:radio"
2076 plugins=""
2077 swcodec="yes"
2078 # toolset is the tools within the tools directory that we build for
2079 # this particular target.
2080 toolset=$tccbitmaptools
2081 # architecture, manufacturer and model for the target-tree build
2082 t_cpu="arm"
2083 t_manufacturer="tcc77x"
2084 t_model="c100"
2087 55|sansaclip)
2088 target_id=50
2089 modelname="sansaclip"
2090 target="-DSANSA_CLIP"
2091 memory=2
2092 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2093 bmp2rb_native="$bmp2rb_mono"
2094 tool="$rootdir/tools/scramble -add=clip"
2095 output="rockbox.sansa"
2096 bootoutput="bootloader-clip.sansa"
2097 appextra="recorder:gui:radio"
2098 plugins="yes"
2099 swcodec="yes"
2100 toolset=$scramblebitmaptools
2101 t_cpu="arm"
2102 t_manufacturer="as3525"
2103 t_model="sansa-clip"
2104 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2105 arm9tdmicc
2106 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2110 56|sansae200v2)
2111 target_id=51
2112 modelname="sansae200v2"
2113 target="-DSANSA_E200V2"
2114 memory=8
2115 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2116 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2117 tool="$rootdir/tools/scramble -add=e2v2"
2118 output="rockbox.sansa"
2119 bootoutput="bootloader-e200v2.sansa"
2120 appextra="recorder:gui:radio"
2121 plugins="yes"
2122 swcodec="yes"
2123 toolset=$scramblebitmaptools
2124 t_cpu="arm"
2125 t_manufacturer="as3525"
2126 t_model="sansa-e200v2"
2127 arm9tdmicc
2131 57|sansam200v4)
2132 target_id=52
2133 modelname="sansam200v4"
2134 target="-DSANSA_M200V4"
2135 memory=2
2136 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2137 bmp2rb_native="$bmp2rb_mono"
2138 tool="$rootdir/tools/scramble -add=m2v4"
2139 output="rockbox.sansa"
2140 bootoutput="bootloader-m200v4.sansa"
2141 appextra="recorder:gui:radio"
2142 plugins="yes"
2143 swcodec="yes"
2144 toolset=$scramblebitmaptools
2145 t_cpu="arm"
2146 t_manufacturer="as3525"
2147 t_model="sansa-m200v4"
2148 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2149 arm9tdmicc
2150 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2154 58|sansafuze)
2155 target_id=53
2156 modelname="sansafuze"
2157 target="-DSANSA_FUZE"
2158 memory=8
2159 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2160 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2161 tool="$rootdir/tools/scramble -add=fuze"
2162 output="rockbox.sansa"
2163 bootoutput="bootloader-fuze.sansa"
2164 appextra="recorder:gui:radio"
2165 plugins="yes"
2166 swcodec="yes"
2167 toolset=$scramblebitmaptools
2168 t_cpu="arm"
2169 t_manufacturer="as3525"
2170 t_model="sansa-fuze"
2171 arm9tdmicc
2175 59|sansac200v2)
2176 target_id=55
2177 modelname="sansac200v2"
2178 target="-DSANSA_C200V2"
2179 memory=2 # as per OF diagnosis mode
2180 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2181 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2182 tool="$rootdir/tools/scramble -add=c2v2"
2183 output="rockbox.sansa"
2184 bootoutput="bootloader-c200v2.sansa"
2185 appextra="recorder:gui:radio"
2186 plugins="yes"
2187 swcodec="yes"
2188 # toolset is the tools within the tools directory that we build for
2189 # this particular target.
2190 toolset=$scramblebitmaptools
2191 # architecture, manufacturer and model for the target-tree build
2192 t_cpu="arm"
2193 t_manufacturer="as3525"
2194 t_model="sansa-c200v2"
2195 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB=1; fi
2196 arm9tdmicc
2197 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2200 60|sansaclipv2)
2201 target_id=60
2202 modelname="sansaclipv2"
2203 target="-DSANSA_CLIPV2"
2204 memory=8
2205 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2206 bmp2rb_native="$bmp2rb_mono"
2207 tool="$rootdir/tools/scramble -add=clv2"
2208 output="rockbox.sansa"
2209 bootoutput="bootloader-clipv2.sansa"
2210 appextra="recorder:gui:radio"
2211 plugins="yes"
2212 swcodec="yes"
2213 toolset=$scramblebitmaptools
2214 t_cpu="arm"
2215 t_manufacturer="as3525"
2216 t_model="sansa-clipv2"
2217 arm926ejscc
2220 61|sansaview)
2221 echo "Sansa View is not yet supported!"
2222 exit 1
2223 target_id=63
2224 modelname="sansaview"
2225 target="-DSANSA_VIEW"
2226 memory=32
2227 arm1176jzscc
2228 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2229 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2230 output="rockbox.mi4"
2231 appextra="gui"
2232 plugins=""
2233 swcodec="yes"
2234 boottool="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2235 bootoutput="firmware.mi4"
2236 # toolset is the tools within the tools directory that we build for
2237 # this particular target.
2238 toolset=$scramblebitmaptools
2239 t_cpu="arm"
2240 t_manufacturer="sandisk"
2241 t_model="sansa-view"
2244 62|sansaclipplus)
2245 target_id=66
2246 modelname="sansaclipplus"
2247 target="-DSANSA_CLIPPLUS"
2248 memory=8
2249 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2250 bmp2rb_native="$bmp2rb_mono"
2251 tool="$rootdir/tools/scramble -add=cli+"
2252 output="rockbox.sansa"
2253 bootoutput="bootloader-clipplus.sansa"
2254 appextra="recorder:gui:radio"
2255 plugins="yes"
2256 swcodec="yes"
2257 toolset=$scramblebitmaptools
2258 t_cpu="arm"
2259 t_manufacturer="as3525"
2260 t_model="sansa-clipplus"
2261 arm926ejscc
2264 63|sansafuzev2)
2265 target_id=68
2266 modelname="sansafuzev2"
2267 target="-DSANSA_FUZEV2"
2268 memory=8 # not sure
2269 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2270 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2271 tool="$rootdir/tools/scramble -add=fuz2"
2272 output="rockbox.sansa"
2273 bootoutput="bootloader-fuzev2.sansa"
2274 appextra="recorder:gui:radio"
2275 plugins="yes"
2276 swcodec="yes"
2277 toolset=$scramblebitmaptools
2278 t_cpu="arm"
2279 t_manufacturer="as3525"
2280 t_model="sansa-fuzev2"
2281 arm926ejscc
2284 150|tatungtpj1022)
2285 target_id=25
2286 modelname="tatungtpj1022"
2287 target="-DTATUNG_TPJ1022"
2288 memory=32 # always
2289 arm7tdmicc
2290 tool="$rootdir/tools/scramble -add tpj2"
2291 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2292 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2293 output="rockbox.elio"
2294 appextra="recorder:gui:radio"
2295 plugins="yes"
2296 swcodec="yes"
2297 boottool="$rootdir/tools/scramble -mi4v2"
2298 bootoutput="pp5020.mi4"
2299 # toolset is the tools within the tools directory that we build for
2300 # this particular target.
2301 toolset=$scramblebitmaptools
2302 # architecture, manufacturer and model for the target-tree build
2303 t_cpu="arm"
2304 t_manufacturer="tatung"
2305 t_model="tpj1022"
2308 100|gogearsa9200)
2309 target_id=41
2310 modelname="gogearsa9200"
2311 target="-DPHILIPS_SA9200"
2312 memory=32 # supposedly
2313 arm7tdmicc
2314 tool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2315 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2316 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2317 output="rockbox.mi4"
2318 appextra="recorder:gui:radio"
2319 plugins=""
2320 swcodec="yes"
2321 boottool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2322 bootoutput="FWImage.ebn"
2323 # toolset is the tools within the tools directory that we build for
2324 # this particular target.
2325 toolset=$scramblebitmaptools
2326 # architecture, manufacturer and model for the target-tree build
2327 t_cpu="arm"
2328 t_manufacturer="philips"
2329 t_model="sa9200"
2332 101|gogearhdd1630)
2333 target_id=43
2334 modelname="gogearhdd1630"
2335 target="-DPHILIPS_HDD1630"
2336 memory=32 # supposedly
2337 arm7tdmicc
2338 tool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2339 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2340 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2341 output="rockbox.mi4"
2342 appextra="recorder:gui:radio"
2343 plugins="yes"
2344 swcodec="yes"
2345 boottool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2346 bootoutput="FWImage.ebn"
2347 # toolset is the tools within the tools directory that we build for
2348 # this particular target.
2349 toolset=$scramblebitmaptools
2350 # architecture, manufacturer and model for the target-tree build
2351 t_cpu="arm"
2352 t_manufacturer="philips"
2353 t_model="hdd1630"
2356 102|gogearhdd6330)
2357 target_id=65
2358 modelname="gogearhdd6330"
2359 target="-DPHILIPS_HDD6330"
2360 memory=64 # always
2361 arm7tdmicc
2362 tool="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2363 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2364 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2365 output="rockbox.mi4"
2366 appextra="recorder:gui:radio"
2367 plugins=""
2368 swcodec="yes"
2369 boottool="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2370 bootoutput="FWImage.ebn"
2371 # toolset is the tools within the tools directory that we build for
2372 # this particular target.
2373 toolset=$scramblebitmaptools
2374 # architecture, manufacturer and model for the target-tree build
2375 t_cpu="arm"
2376 t_manufacturer="philips"
2377 t_model="hdd6330"
2380 110|meizum6sl)
2381 target_id=49
2382 modelname="meizum6sl"
2383 target="-DMEIZU_M6SL"
2384 memory=16 # always
2385 arm940tbecc
2386 tool="cp"
2387 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2388 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2389 output="rockbox.meizu"
2390 appextra="recorder:gui:radio"
2391 plugins="no" #FIXME
2392 swcodec="yes"
2393 toolset=$genericbitmaptools
2394 boottool="cp"
2395 bootoutput="rockboot.ebn"
2396 # architecture, manufacturer and model for the target-tree build
2397 t_cpu="arm"
2398 t_manufacturer="s5l8700"
2399 t_model="meizu-m6sl"
2402 111|meizum6sp)
2403 target_id=46
2404 modelname="meizum6sp"
2405 target="-DMEIZU_M6SP"
2406 memory=16 # always
2407 arm940tbecc
2408 tool="cp"
2409 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2410 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2411 output="rockbox.meizu"
2412 appextra="recorder:gui:radio"
2413 plugins="no" #FIXME
2414 swcodec="yes"
2415 toolset=$genericbitmaptools
2416 boottool="cp"
2417 bootoutput="rockboot.ebn"
2418 # architecture, manufacturer and model for the target-tree build
2419 t_cpu="arm"
2420 t_manufacturer="s5l8700"
2421 t_model="meizu-m6sp"
2424 112|meizum3)
2425 target_id=47
2426 modelname="meizum3"
2427 target="-DMEIZU_M3"
2428 memory=16 # always
2429 arm940tbecc
2430 tool="cp"
2431 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2432 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2433 output="rockbox.meizu"
2434 appextra="recorder:gui:radio"
2435 plugins="no" #FIXME
2436 swcodec="yes"
2437 toolset=$genericbitmaptools
2438 boottool="cp"
2439 bootoutput="rockboot.ebn"
2440 # architecture, manufacturer and model for the target-tree build
2441 t_cpu="arm"
2442 t_manufacturer="s5l8700"
2443 t_model="meizu-m3"
2446 120|ondavx747)
2447 target_id=45
2448 modelname="ondavx747"
2449 target="-DONDA_VX747"
2450 memory=16
2451 mipselcc
2452 tool="$rootdir/tools/scramble -add=x747"
2453 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2454 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2455 output="rockbox.vx747"
2456 appextra="recorder:gui:radio"
2457 plugins="yes"
2458 swcodec="yes"
2459 toolset=$genericbitmaptools
2460 boottool="$rootdir/tools/scramble -ccpmp"
2461 bootoutput="ccpmp.bin"
2462 # architecture, manufacturer and model for the target-tree build
2463 t_cpu="mips"
2464 t_manufacturer="ingenic_jz47xx"
2465 t_model="onda_vx747"
2468 121|ondavx767)
2469 target_id=64
2470 modelname="ondavx767"
2471 target="-DONDA_VX767"
2472 memory=16 #FIXME
2473 mipselcc
2474 tool="cp"
2475 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2476 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2477 output="rockbox.vx767"
2478 appextra="recorder:gui:radio"
2479 plugins="" #FIXME
2480 swcodec="yes"
2481 toolset=$genericbitmaptools
2482 boottool="$rootdir/tools/scramble -ccpmp"
2483 bootoutput="ccpmp.bin"
2484 # architecture, manufacturer and model for the target-tree build
2485 t_cpu="mips"
2486 t_manufacturer="ingenic_jz47xx"
2487 t_model="onda_vx767"
2490 122|ondavx747p)
2491 target_id=54
2492 modelname="ondavx747p"
2493 target="-DONDA_VX747P"
2494 memory=16
2495 mipselcc
2496 tool="$rootdir/tools/scramble -add=747p"
2497 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2498 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2499 output="rockbox.vx747p"
2500 appextra="recorder:gui:radio"
2501 plugins="yes"
2502 swcodec="yes"
2503 toolset=$genericbitmaptools
2504 boottool="$rootdir/tools/scramble -ccpmp"
2505 bootoutput="ccpmp.bin"
2506 # architecture, manufacturer and model for the target-tree build
2507 t_cpu="mips"
2508 t_manufacturer="ingenic_jz47xx"
2509 t_model="onda_vx747"
2512 123|ondavx777)
2513 target_id=61
2514 modelname="ondavx777"
2515 target="-DONDA_VX777"
2516 memory=16
2517 mipselcc
2518 tool="$rootdir/tools/scramble -add=x777"
2519 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2520 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2521 output="rockbox.vx777"
2522 appextra="recorder:gui:radio"
2523 plugins="yes"
2524 swcodec="yes"
2525 toolset=$genericbitmaptools
2526 boottool="$rootdir/tools/scramble -ccpmp"
2527 bootoutput="ccpmp.bin"
2528 # architecture, manufacturer and model for the target-tree build
2529 t_cpu="mips"
2530 t_manufacturer="ingenic_jz47xx"
2531 t_model="onda_vx747"
2534 130|lyreproto1)
2535 target_id=56
2536 modelname="lyreproto1"
2537 target="-DLYRE_PROTO1"
2538 memory=64
2539 arm926ejscc
2540 tool="cp"
2541 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2542 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2543 output="rockbox.lyre"
2544 appextra="recorder:gui:radio"
2545 plugins=""
2546 swcodec="yes"
2547 toolset=$scramblebitmaptools
2548 boottool="cp"
2549 bootoutput="bootloader-proto1.lyre"
2550 # architecture, manufacturer and model for the target-tree build
2551 t_cpu="arm"
2552 t_manufacturer="at91sam"
2553 t_model="lyre_proto1"
2556 131|mini2440)
2557 target_id=99
2558 modelname="mini2440"
2559 target="-DMINI2440"
2560 memory=64
2561 arm9tdmicc
2562 tool="$rootdir/tools/scramble -add=m244"
2563 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2564 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2565 output="rockbox.mini2440"
2566 appextra="recorder:gui:radio"
2567 plugins=""
2568 swcodec="yes"
2569 toolset=$scramblebitmaptools
2570 boottool="cp"
2571 bootoutput="bootloader-mini2440.lyre"
2572 # architecture, manufacturer and model for the target-tree build
2573 t_cpu="arm"
2574 t_manufacturer="s3c2440"
2575 t_model="mini2440"
2578 140|samsungyh820)
2579 target_id=57
2580 modelname="samsungyh820"
2581 target="-DSAMSUNG_YH820"
2582 memory=32 # always
2583 arm7tdmicc
2584 tool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2585 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2586 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2587 output="rockbox.mi4"
2588 appextra="recorder:gui:radio"
2589 plugins="yes"
2590 swcodec="yes"
2591 boottool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2592 bootoutput="FW_YH820.mi4"
2593 # toolset is the tools within the tools directory that we build for
2594 # this particular target.
2595 toolset=$scramblebitmaptools
2596 # architecture, manufacturer and model for the target-tree build
2597 t_cpu="arm"
2598 t_manufacturer="samsung"
2599 t_model="yh820"
2602 141|samsungyh920)
2603 target_id=58
2604 modelname="samsungyh920"
2605 target="-DSAMSUNG_YH920"
2606 memory=32 # always
2607 arm7tdmicc
2608 tool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2609 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2610 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
2611 output="rockbox.mi4"
2612 appextra="recorder:gui:radio"
2613 plugins="yes"
2614 swcodec="yes"
2615 boottool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2616 bootoutput="PP5020.mi4"
2617 # toolset is the tools within the tools directory that we build for
2618 # this particular target.
2619 toolset=$scramblebitmaptools
2620 # architecture, manufacturer and model for the target-tree build
2621 t_cpu="arm"
2622 t_manufacturer="samsung"
2623 t_model="yh920"
2626 142|samsungyh925)
2627 target_id=59
2628 modelname="samsungyh925"
2629 target="-DSAMSUNG_YH925"
2630 memory=32 # always
2631 arm7tdmicc
2632 tool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2633 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2634 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2635 output="rockbox.mi4"
2636 appextra="recorder:gui:radio"
2637 plugins="yes"
2638 swcodec="yes"
2639 boottool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2640 bootoutput="FW_YH925.mi4"
2641 # toolset is the tools within the tools directory that we build for
2642 # this particular target.
2643 toolset=$scramblebitmaptools
2644 # architecture, manufacturer and model for the target-tree build
2645 t_cpu="arm"
2646 t_manufacturer="samsung"
2647 t_model="yh925"
2650 143|samsungyps3)
2651 target_id=60
2652 modelname="samsungyps3"
2653 target="-DSAMSUNG_YPS3"
2654 memory=16 # always
2655 arm940tbecc
2656 tool="cp"
2657 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2658 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2659 output="rockbox.yps3"
2660 appextra="recorder:gui:radio"
2661 plugins="no" #FIXME
2662 swcodec="yes"
2663 toolset=$genericbitmaptools
2664 boottool="cp"
2665 bootoutput="rockboot.ebn"
2666 # architecture, manufacturer and model for the target-tree build
2667 t_cpu="arm"
2668 t_manufacturer="s5l8700"
2669 t_model="yps3"
2672 160|vibe500)
2673 target_id=67
2674 modelname="vibe500"
2675 target="-DPBELL_VIBE500"
2676 memory=32 # always
2677 arm7tdmicc
2678 tool="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2679 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2680 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
2681 output="rockbox.mi4"
2682 appextra="recorder:gui:radio"
2683 plugins="yes"
2684 swcodec="yes"
2685 boottool="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2686 bootoutput="jukebox.mi4"
2687 # toolset is the tools within the tools directory that we build for
2688 # this particular target.
2689 toolset=$scramblebitmaptools
2690 # architecture, manufacturer and model for the target-tree build
2691 t_cpu="arm"
2692 t_manufacturer="pbell"
2693 t_model="vibe500"
2696 170|mpiohd200)
2697 target_id=69
2698 modelname="mpiohd200"
2699 target="-DMPIO_HD200"
2700 memory=16 # always
2701 coldfirecc
2702 tool="$rootdir/tools/scramble -add=hd20"
2703 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2704 bmp2rb_native="$rootdir/tools/bmp2rb -f 7"
2705 output="rockbox.mpio"
2706 bootoutput="bootloader.mpio"
2707 appextra="recorder:gui:radio"
2708 plugins="yes"
2709 swcodec="yes"
2710 # toolset is the tools within the tools directory that we build for
2711 # this particular target.
2712 toolset="$genericbitmaptools"
2713 # architecture, manufacturer and model for the target-tree build
2714 t_cpu="coldfire"
2715 t_manufacturer="mpio"
2716 t_model="hd200"
2719 200|app*)
2720 target_id=100
2721 modelname="application"
2722 target="-DAPPLICATION"
2724 need_full_path="yes"
2725 app_get_platform
2727 memory=8
2728 uname=`uname`
2730 appcc "$app_platform"
2731 tool="cp "
2732 boottool="cp "
2733 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2734 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2735 appextra="recorder:gui:radio"
2736 plugins=""
2737 swcodec="yes"
2738 # architecture, manufacturer and model for the target-tree build
2739 t_cpu="hosted"
2740 t_manufacturer="$app_platform"
2741 t_model="app"
2745 echo "Please select a supported target platform!"
2746 exit 7
2749 esac
2751 echo "Platform set to $modelname"
2754 #remove start
2755 ############################################################################
2756 # Amount of memory, for those that can differ. They have $memory unset at
2757 # this point.
2760 if [ -z "$memory" ]; then
2761 case $target_id in
2763 if [ "$ARG_RAM" ]; then
2764 size=$ARG_RAM
2765 else
2766 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2767 size=`input`;
2769 case $size in
2770 60|64)
2771 memory="64"
2774 memory="32"
2776 esac
2779 if [ "$ARG_RAM" ]; then
2780 size=$ARG_RAM
2781 else
2782 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2783 size=`input`;
2785 case $size in
2787 memory="8"
2790 memory="2"
2792 esac
2794 esac
2795 echo "Memory size selected: $memory MB"
2796 [ "$ARG_TYPE" ] || echo ""
2798 #remove end
2800 ##################################################################
2801 # Figure out build "type"
2804 # the ifp7x0 is the only platform that supports building a gdb stub like
2805 # this
2806 case $modelname in
2807 iriverifp7xx)
2808 gdbstub="(G)DB stub, "
2810 sansae200r|sansae200)
2811 gdbstub="(I)nstaller, "
2813 sansac200)
2814 gdbstub="(E)raser, "
2818 esac
2819 if [ "$ARG_TYPE" ]; then
2820 btype=$ARG_TYPE
2821 else
2822 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2823 btype=`input`;
2826 case $btype in
2827 [Ii])
2828 appsdir='\$(ROOTDIR)/bootloader'
2829 apps="bootloader"
2830 extradefines="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2831 bootloader="1"
2832 echo "e200R-installer build selected"
2834 [Ee])
2835 appsdir='\$(ROOTDIR)/bootloader'
2836 apps="bootloader"
2837 echo "C2(4)0 or C2(5)0"
2838 variant=`input`
2839 case $variant in
2841 extradefines="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2842 echo "c240 eraser build selected"
2845 extradefines="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2846 echo "c240 eraser build selected"
2848 esac
2849 bootloader="1"
2850 echo "c200 eraser build selected"
2852 [Bb])
2853 if test $t_manufacturer = "archos"; then
2854 # Archos SH-based players do this somewhat differently for
2855 # some reason
2856 appsdir='\$(ROOTDIR)/flash/bootbox'
2857 apps="bootbox"
2858 else
2859 appsdir='\$(ROOTDIR)/bootloader'
2860 apps="bootloader"
2861 flash=""
2862 if test -n "$boottool"; then
2863 tool="$boottool"
2865 if test -n "$bootoutput"; then
2866 output=$bootoutput
2869 extradefines="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2870 bootloader="1"
2871 echo "Bootloader build selected"
2873 [Ss])
2874 if [ "$modelname" = "sansae200r" ]; then
2875 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2876 exit 8
2878 debug="-DDEBUG"
2879 simulator="yes"
2880 extradefines="$extradefines -DSIMULATOR"
2881 archosrom=""
2882 flash=""
2883 echo "Simulator build selected"
2885 [Aa]*)
2886 echo "Advanced build selected"
2887 whichadvanced $btype
2889 [Gg])
2890 extradefines="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2891 appsdir='\$(ROOTDIR)/gdb'
2892 apps="stub"
2893 case $modelname in
2894 iriverifp7xx)
2895 output="stub.wma"
2899 esac
2900 echo "GDB stub build selected"
2902 [Mm])
2903 toolset='';
2904 apps="manual"
2905 echo "Manual build selected"
2907 [Cc])
2908 uname=`uname`
2909 simcc "checkwps"
2910 toolset='';
2911 t_cpu='';
2912 GCCOPTS='';
2913 extradefines="$extradefines -DDEBUG"
2914 appsdir='\$(ROOTDIR)/tools/checkwps';
2915 output='checkwps.'${modelname};
2916 archosrom='';
2917 echo "CheckWPS build selected"
2919 [Dd])
2920 uname=`uname`
2921 simcc "database"
2922 toolset='';
2923 t_cpu='';
2924 GCCOPTS='';
2925 appsdir='\$(ROOTDIR)/tools/database';
2926 archosrom='';
2928 case $uname in
2929 CYGWIN*|MINGW*)
2930 output="database_${modelname}.exe"
2933 output='database.'${modelname};
2935 esac
2937 echo "Database tool build selected"
2940 if [ "$modelname" = "sansae200r" ]; then
2941 echo "Do not use the e200R target for regular builds. Use e200 instead."
2942 exit 8
2944 debug=""
2945 btype="N" # set it explicitly since RET only gets here as well
2946 echo "Normal build selected"
2949 esac
2950 # to be able running "make manual" from non-manual configuration
2951 case $modelname in
2952 archosrecorderv2)
2953 manualdev="archosfmrecorder"
2955 iriverh1??)
2956 manualdev="iriverh100"
2958 ipodmini2g)
2959 manualdev="ipodmini1g"
2962 manualdev=$modelname
2964 esac
2966 if [ -z "$debug" ]; then
2967 GCCOPTS="$GCCOPTS $GCCOPTIMIZE"
2970 echo "Using source code root directory: $rootdir"
2972 # this was once possible to change at build-time, but no more:
2973 language="english"
2975 uname=`uname`
2977 if [ "yes" = "$simulator" ]; then
2978 # setup compiler and things for simulator
2979 simcc "sdl-sim"
2981 if [ -d "simdisk" ]; then
2982 echo "Subdirectory 'simdisk' already present"
2983 else
2984 mkdir simdisk
2985 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2989 # Now, figure out version number of the (gcc) compiler we are about to use
2990 gccver=`$CC -dumpversion`;
2992 # figure out the binutil version too and display it, mostly for the build
2993 # system etc to be able to see it easier
2994 if [ $uname = "Darwin" ]; then
2995 ldver=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2996 else
2997 ldver=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
3000 if [ -z "$gccver" ]; then
3001 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
3002 echo "[WARNING] this may cause your build to fail since we cannot do the"
3003 echo "[WARNING] checks we want now."
3004 else
3006 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
3007 # DEPEND on it
3009 num1=`echo $gccver | cut -d . -f1`
3010 num2=`echo $gccver | cut -d . -f2`
3011 gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
3013 # This makes:
3014 # 3.3.X => 303
3015 # 3.4.X => 304
3016 # 2.95.3 => 295
3018 echo "Using $CC $gccver ($gccnum)"
3020 if test "$gccnum" -ge "400"; then
3021 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3022 # so we ignore that warnings for now
3023 # -Wno-pointer-sign
3024 GCCOPTS="$GCCOPTS -Wno-pointer-sign"
3027 if test "$gccnum" -ge "402"; then
3028 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3029 # and later would throw it for several valid cases
3030 GCCOPTS="$GCCOPTS -Wno-override-init"
3033 case $prefix in
3034 ""|"$CROSS_COMPILE")
3035 # simulator
3037 i586-mingw32msvc-)
3038 # cross-compile for win32
3041 # Verify that the cross-compiler is of a recommended version!
3042 if test "$gccver" != "$gccchoice"; then
3043 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3044 echo "WARNING: version $gccchoice!"
3045 echo "WARNING: This may cause your build to fail since it may be a version"
3046 echo "WARNING: that isn't functional or known to not be the best choice."
3047 echo "WARNING: If you suffer from build problems, you know that this is"
3048 echo "WARNING: a likely source for them..."
3051 esac
3056 echo "Using $LD $ldver"
3058 # check the compiler for SH platforms
3059 if test "$CC" = "sh-elf-gcc"; then
3060 if test "$gccnum" -lt "400"; then
3061 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3062 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3063 else
3064 # figure out patch status
3065 gccpatch=`$CC --version`;
3067 if { echo $gccpatch | grep "rockbox" >/dev/null 2>&1; } then
3068 echo "gcc $gccver is rockbox patched"
3069 # then convert -O to -Os to get smaller binaries!
3070 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3071 else
3072 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3073 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3078 if test "$CC" = "m68k-elf-gcc"; then
3079 # convert -O to -Os to get smaller binaries!
3080 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3083 if [ "$ARG_CCACHE" = "1" ]; then
3084 echo "Enable ccache for building"
3085 ccache="ccache"
3086 elif [ "$ARG_CCACHE" != "0" ]; then
3087 ccache=`findtool ccache`
3088 if test -n "$ccache"; then
3089 echo "Found and uses ccache ($ccache)"
3093 # figure out the full path to the various commands if possible
3094 HOSTCC=`findtool gcc --lit`
3095 HOSTAR=`findtool ar --lit`
3096 CC=`findtool ${CC} --lit`
3097 LD=`findtool ${AR} --lit`
3098 AR=`findtool ${AR} --lit`
3099 AS=`findtool ${AS} --lit`
3100 OC=`findtool ${OC} --lit`
3101 WINDRES=`findtool ${WINDRES} --lit`
3102 DLLTOOL=`findtool ${DLLTOOL} --lit`
3103 DLLWRAP=`findtool ${DLLWRAP} --lit`
3104 RANLIB=`findtool ${RANLIB} --lit`
3106 if test -n "$ccache"; then
3107 CC="$ccache $CC"
3110 if test "$ARG_ARM_THUMB" = "1"; then
3111 extradefines="$extradefines -DUSE_THUMB"
3112 CC="$toolsdir/thumb-cc.py $CC"
3115 if test "X$endian" = "Xbig"; then
3116 defendian="ROCKBOX_BIG_ENDIAN"
3117 else
3118 defendian="ROCKBOX_LITTLE_ENDIAN"
3121 if [ "$ARG_RBDIR" ]; then
3122 if [ "$need_full_path" = "yes" ]; then
3123 rbdir=`realpath $ARG_RBDIR`
3124 else # prepend '/' if needed
3125 if [ -z `echo $ARG_RBDIR | grep '^/'` ]; then
3126 rbdir="/"$ARG_RBDIR
3127 else
3128 rbdir=$ARG_RBDIR
3131 echo "Using alternate rockbox dir: ${rbdir}"
3134 sed > autoconf.h \
3135 -e "s<@ENDIAN@<${defendian}<g" \
3136 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3137 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3138 -e "s<@config_rtc@<$config_rtc<g" \
3139 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3140 -e "s<@RBDIR@<${rbdir}<g" \
3141 -e "s<@binpath@<${bindir_full}<g" \
3142 -e "s<@libpath@<${libdir_full}<g" \
3143 -e "s<@have_backlight@<$have_backlight<g" \
3144 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3145 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3146 -e "s<@lcd_width@<$app_lcd_width<g" \
3147 -e "s<@lcd_height@<$app_lcd_height<g" \
3148 <<EOF
3149 /* This header was made by configure */
3150 #ifndef __BUILD_AUTOCONF_H
3151 #define __BUILD_AUTOCONF_H
3153 /* Define endianess for the target or simulator platform */
3154 #define @ENDIAN@ 1
3156 /* Define this if you build rockbox to support the logf logging and display */
3157 #undef ROCKBOX_HAS_LOGF
3159 /* Define this to record a chart with timings for the stages of boot */
3160 #undef DO_BOOTCHART
3162 /* optional define for a backlight modded Ondio */
3163 @have_backlight@
3165 /* optional define for FM radio mod for iAudio M5 */
3166 @have_fmradio_in@
3168 /* optional define for ATA poweroff on Player */
3169 @have_ata_poweroff@
3171 /* optional defines for RTC mod for h1x0 */
3172 @config_rtc@
3173 @have_rtc_alarm@
3175 /* lcd dimensions for application builds from configure */
3176 @lcd_width@
3177 @lcd_height@
3179 /* root of Rockbox */
3180 #define ROCKBOX_DIR "@RBDIR@"
3181 #define ROCKBOX_BINARY_PATH "@binpath@"
3182 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3184 #endif /* __BUILD_AUTOCONF_H */
3187 if test -n "$t_cpu"; then
3188 TARGET_INC="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3189 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3190 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3191 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3193 if [ -n "$app_platform" -a "$app_platform" = "android" ]; then
3194 # android's gcc doesn't add this :/
3195 TARGET_INC="$TARGET_INC -I$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/include"
3197 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3198 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3199 GCCOPTS="$GCCOPTS"
3202 if test "$simulator" = "yes"; then
3203 # add simul make stuff on the #SIMUL# line
3204 simmagic1="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3205 simmagic2="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3206 else
3207 # delete the lines that match
3208 simmagic1='/@SIMUL1@/D'
3209 simmagic2='/@SIMUL2@/D'
3212 if test "$swcodec" = "yes"; then
3213 voicetoolset="rbspeexenc voicefont wavtrim"
3214 else
3215 voicetoolset="voicefont wavtrim"
3218 if test "$apps" = "apps"; then
3219 # only when we build "real" apps we build the .lng files
3220 buildlangs="langs"
3223 #### Fix the cmdline ###
3224 if [ "$ARG_CCACHE" = "1" ]; then
3225 cmdline="--ccache "
3226 elif [ "$ARG_CCACHE" = "0" ]; then
3227 cmdline="--no-ccache "
3229 if [ "$ARG_ARM_EABI" = "1" ]; then
3230 cmdline="$cmdline--eabi "
3232 if [ "$app_platform" = "sdl" ]; then
3233 cmdline="$cmdline--platform=S "
3234 elif [ "$app_platform" = "android" ]; then
3235 cmdline="$cmdline--platform=A "
3237 if [ "$modelname" = "application" ]; then
3238 cmdline="$cmdline--lcdwidth=$ARG_LCDWIDTH --lcdheight=$ARG_LCDHEIGHT "
3241 cmdline="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts --prefix=\$(PREFIX)"
3242 ### end of cmdline
3244 sed > Makefile \
3245 -e "s<@ROOTDIR@<${rootdir}<g" \
3246 -e "s<@DEBUG@<${debug}<g" \
3247 -e "s<@MEMORY@<${memory}<g" \
3248 -e "s<@TARGET_ID@<${target_id}<g" \
3249 -e "s<@TARGET@<${target}<g" \
3250 -e "s<@CPU@<${t_cpu}<g" \
3251 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3252 -e "s<@MODELNAME@<${modelname}<g" \
3253 -e "s<@LANGUAGE@<${language}<g" \
3254 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3255 -e "s<@PWD@<${pwd}<g" \
3256 -e "s<@HOSTCC@<${HOSTCC}<g" \
3257 -e "s<@HOSTAR@<${HOSTAR}<g" \
3258 -e "s<@CC@<${CC}<g" \
3259 -e "s<@LD@<${LD}<g" \
3260 -e "s<@AR@<${AR}<g" \
3261 -e "s<@AS@<${AS}<g" \
3262 -e "s<@OC@<${OC}<g" \
3263 -e "s<@WINDRES@<${WINDRES}<g" \
3264 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3265 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3266 -e "s<@RANLIB@<${RANLIB}<g" \
3267 -e "s<@TOOL@<${tool}<g" \
3268 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3269 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3270 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3271 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3272 -e "s<@OUTPUT@<${output}<g" \
3273 -e "s<@APPEXTRA@<${appextra}<g" \
3274 -e "s<@ARCHOSROM@<${archosrom}<g" \
3275 -e "s<@FLASHFILE@<${flash}<g" \
3276 -e "s<@PLUGINS@<${plugins}<g" \
3277 -e "s<@CODECS@<${swcodec}<g" \
3278 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3279 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3280 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3281 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3282 -e "s<@LDOPTS@<${LDOPTS}<g" \
3283 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3284 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3285 -e "s<@EXTRADEF@<${extradefines}<g" \
3286 -e "s<@APPSDIR@<${appsdir}<g" \
3287 -e "s<@FIRMDIR@<${firmdir}<g" \
3288 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3289 -e "s<@APPS@<${apps}<g" \
3290 -e "s<@APP_TYPE@<${app_type}<g" \
3291 -e "s<@GCCVER@<${gccver}<g" \
3292 -e "s<@GCCNUM@<${gccnum}<g" \
3293 -e "s<@UNAME@<${uname}<g" \
3294 -e "s<@ENDIAN@<${defendian}<g" \
3295 -e "s<@TOOLSET@<${toolset}<g" \
3296 -e "${simmagic1}" \
3297 -e "${simmagic2}" \
3298 -e "s<@MANUALDEV@<${manualdev}<g" \
3299 -e "s<@ENCODER@<${ENC_CMD}<g" \
3300 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3301 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3302 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3303 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3304 -e "s<@LANGS@<${buildlangs}<g" \
3305 -e "s<@USE_ELF@<${USE_ELF}<g" \
3306 -e "s<@RBDIR@<${rbdir}<g" \
3307 -e "s<@binpath@<${bindir}<g" \
3308 -e "s<@libpath@<${libdir}<g" \
3309 -e "s<@PREFIX@<$PREFIX<g" \
3310 -e "s<@CMDLINE@<$cmdline<g" \
3311 -e "s<@SDLCONFIG@<$sdl<g" \
3312 <<EOF
3313 ## Automatically generated. http://www.rockbox.org/
3315 export ROOTDIR=@ROOTDIR@
3316 export FIRMDIR=@FIRMDIR@
3317 export APPSDIR=@APPSDIR@
3318 export TOOLSDIR=@TOOLSDIR@
3319 export DOCSDIR=\$(ROOTDIR)/docs
3320 export MANUALDIR=\${ROOTDIR}/manual
3321 export DEBUG=@DEBUG@
3322 export MODELNAME=@MODELNAME@
3323 export ARCHOSROM=@ARCHOSROM@
3324 export FLASHFILE=@FLASHFILE@
3325 export TARGET_ID=@TARGET_ID@
3326 export TARGET=@TARGET@
3327 export CPU=@CPU@
3328 export MANUFACTURER=@MANUFACTURER@
3329 export OBJDIR=@PWD@
3330 export BUILDDIR=@PWD@
3331 export LANGUAGE=@LANGUAGE@
3332 export VOICELANGUAGE=@VOICELANGUAGE@
3333 export MEMORYSIZE=@MEMORY@
3334 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3335 export MKFIRMWARE=@TOOL@
3336 export BMP2RB_MONO=@BMP2RB_MONO@
3337 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3338 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3339 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3340 export BINARY=@OUTPUT@
3341 export APPEXTRA=@APPEXTRA@
3342 export ENABLEDPLUGINS=@PLUGINS@
3343 export SOFTWARECODECS=@CODECS@
3344 export EXTRA_DEFINES=@EXTRADEF@
3345 export HOSTCC=@HOSTCC@
3346 export HOSTAR=@HOSTAR@
3347 export CC=@CC@
3348 export LD=@LD@
3349 export AR=@AR@
3350 export AS=@AS@
3351 export OC=@OC@
3352 export WINDRES=@WINDRES@
3353 export DLLTOOL=@DLLTOOL@
3354 export DLLWRAP=@DLLWRAP@
3355 export RANLIB=@RANLIB@
3356 export PREFIX=@PREFIX@
3357 export PROFILE_OPTS=@PROFILE_OPTS@
3358 export APP_TYPE=@APP_TYPE@
3359 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3360 export GCCOPTS=@GCCOPTS@
3361 export TARGET_INC=@TARGET_INC@
3362 export LOADADDRESS=@LOADADDRESS@
3363 export SHARED_FLAG=@SHARED_FLAG@
3364 export LDOPTS=@LDOPTS@
3365 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3366 export GCCVER=@GCCVER@
3367 export GCCNUM=@GCCNUM@
3368 export UNAME=@UNAME@
3369 export MANUALDEV=@MANUALDEV@
3370 export TTS_OPTS=@TTS_OPTS@
3371 export TTS_ENGINE=@TTS_ENGINE@
3372 export ENC_OPTS=@ENC_OPTS@
3373 export ENCODER=@ENCODER@
3374 export USE_ELF=@USE_ELF@
3375 export RBDIR=@RBDIR@
3376 export ROCKBOX_BINARY_PATH=@binpath@
3377 export ROCKBOX_LIBRARY_PATH=@libpath@
3378 export SDLCONFIG=@SDLCONFIG@
3380 CONFIGURE_OPTIONS=@CMDLINE@
3382 include \$(TOOLSDIR)/root.make
3386 echo "Created Makefile"