Add iAudio M5 FM radio mod to the advanced build options. * Unify iAudio audio driver...
[kugel-rb.git] / tools / configure
blob50091a5da3e3d0115f251344791ea35a420ddcd9
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"
14 use_logf="#undef ROCKBOX_HAS_LOGF"
16 scriptver=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
18 rbdir=".rockbox"
21 # Begin Function Definitions
23 input() {
24 read response
25 echo $response
28 prefixtools () {
29 prefix="$1"
30 CC=${prefix}gcc
31 WINDRES=${prefix}windres
32 DLLTOOL=${prefix}dlltool
33 DLLWRAP=${prefix}dllwrap
34 RANLIB=${prefix}ranlib
35 LD=${prefix}ld
36 AR=${prefix}ar
37 AS=${prefix}as
38 OC=${prefix}objcopy
41 crosswincc () {
42 # naive approach to selecting a mingw cross-compiler on linux/*nix
43 echo "Enabling win32 crosscompiling"
45 prefixtools i586-mingw32msvc-
47 # add cross-compiler option(s)
48 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
49 LDOPTS="`sdl-config --libs` -mconsole"
51 output="rockboxui.exe" # use this as output binary name
52 crosscompile="yes"
53 endian="little" # windows is little endian
56 # scan the $PATH for the given command
57 findtool(){
58 file="$1"
60 IFS=":"
61 for path in $PATH
63 # echo "checks for $file in $path" >&2
64 if test -f "$path/$file"; then
65 echo "$path/$file"
66 return
68 done
69 # check whether caller wants literal return value if not found
70 if [ "$2" = "--lit" ]; then
71 echo "$file"
75 # parse the argument list, returns the value after the = in case of a
76 # option=value type option, returns 0 in case of --ccache or --no-ccache,
77 # returns 1 if the searched argument type wasn't fount in the argument list
78 # Usage [var = ]`parse_args <argumenttype>`, e.g. `parse_args --target`
80 # var definitons below are needed so that parse_args can see the arguments
81 arg1=$1 arg2=$2 arg3=$3 arg4=$4 arg5=$5 arg6=$6 arg7=$7 arg8=$8 arg9=$9
83 parse_args() {
84 ret="1"
85 for i in $arg1 $arg2 $arg3 $arg4 $arg5 $arg6 $arg7 $arg8 $arg9
87 if [ "$1" = "--ccache" ]; then
88 if [ "$i" = "--ccache" ]; then
89 ret="0"
91 elif [ "$1" = "--no-ccache" ]; then
92 if [ "$i" = "--no-ccache" ]; then
93 ret="0"
95 elif [ "$1" = `echo $i|cut -d'=' -f1` ]; then
96 ret=`echo $i|cut -d'=' -f2`
98 done
99 echo "$ret"
102 simcc () {
104 # default tool setup for native building
105 prefixtools ""
107 simver=sdl
108 GCCOPTS='-W -Wall -g -fno-builtin'
110 output="rockboxui" # use this as default output binary name
112 # generic sdl-config checker
113 sdl=`findtool sdl-config`
115 if [ -z "$sdl" ]; then
116 echo "configure didn't find sdl-config, which indicates that you"
117 echo "don't have SDL (properly) installed. Please correct and"
118 echo "re-run configure!"
119 exit 1
122 # default share option, override below if needed
123 SHARED_FLAG="-shared"
125 case $uname in
126 CYGWIN*)
127 echo "Cygwin host detected"
129 # sdl version
130 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
131 LDOPTS="`sdl-config --libs` -mconsole"
133 output="rockboxui.exe" # use this as output binary name
136 MINGW*)
137 echo "MinGW host detected"
139 # sdl version
140 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
141 LDOPTS="`sdl-config --libs` -mconsole"
143 output="rockboxui.exe" # use this as output binary name
146 Linux)
147 echo "Linux host detected"
148 if [ "0" != `sdl-config --libs |grep -c mwindows` ]; then
149 # Enable crosscompiling if sdl-config is from Windows SDL
150 crosswincc
151 else
152 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
153 LDOPTS="`sdl-config --libs`"
157 FreeBSD)
158 echo "FreeBSD host detected"
159 # sdl version
160 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
161 LDOPTS="`sdl-config --libs`"
164 Darwin)
165 echo "Darwin host detected"
166 # sdl version
167 GCCOPTS="$GCCOPTS `sdl-config --cflags`"
168 LDOPTS="`sdl-config --libs`"
169 SHARED_FLAG="-dynamiclib -Wl\,-single_module"
173 echo "Unsupported system: $uname, fix configure and retry"
174 exit 2
176 esac
178 GCCOPTS="$GCCOPTS -I\$(SIMDIR)"
180 if test "X$crosscompile" != "Xyes"; then
181 if [ "`uname -m`" = "x86_64" ] || [ "`uname -m`" = "amd64" ]; then
182 # fPIC is needed to make shared objects link
183 # setting visibility to hidden is necessary to avoid strange crashes
184 # due to symbol clashing
185 GCCOPTS="$GCCOPTS -fPIC -fvisibility=hidden"
188 id=$$
189 cat >/tmp/conftest-$id.c <<EOF
190 #include <stdio.h>
191 int main(int argc, char **argv)
193 int var=0;
194 char *varp = (char *)&var;
195 *varp=1;
197 printf("%d\n", var);
198 return 0;
202 $CC -o /tmp/conftest-$id /tmp/conftest-$id.c 2>/dev/null
204 if test `/tmp/conftest-$id 2>/dev/null` -gt "1"; then
205 # big endian
206 endian="big"
207 else
208 # little endian
209 endian="little"
211 echo "Simulator environment deemed $endian endian"
213 # use wildcard here to make it work even if it was named *.exe like
214 # on cygwin
215 rm -f /tmp/conftest-$id*
220 # functions for setting up cross-compiler names and options
221 # also set endianess and what the exact recommended gcc version is
222 # the gcc version should most likely match what versions we build with
223 # rockboxdev.sh
225 shcc () {
226 prefixtools sh-elf-
227 GCCOPTS="$CCOPTS -m1"
228 GCCOPTIMIZE="-fomit-frame-pointer -fschedule-insns"
229 endian="big"
230 gccchoice="4.0.3"
233 calmrisccc () {
234 prefixtools calmrisc16-unknown-elf-
235 GCCOPTS="-Wl\,--no-check-sections $CCOPTS"
236 GCCOPTIMIZE="-fomit-frame-pointer"
237 endian="big"
240 coldfirecc () {
241 prefixtools m68k-elf-
242 GCCOPTS="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
243 GCCOPTIMIZE="-fomit-frame-pointer"
244 endian="big"
245 gccchoice="3.4.6"
248 arm7tdmicc () {
249 prefixtools arm-elf-
250 GCCOPTS="$CCOPTS -mcpu=arm7tdmi"
251 if test "X$1" != "Xshort"; then
252 GCCOPTS="$GCCOPTS -mlong-calls"
254 GCCOPTIMIZE="-fomit-frame-pointer"
255 endian="little"
256 gccchoice="4.0.3"
259 arm9tdmicc () {
260 prefixtools arm-elf-
261 GCCOPTS="$CCOPTS -mcpu=arm9tdmi"
262 if test "$modelname" != "gigabeatf" -a "$t_manufacturer" != "as3525"; then
263 GCCOPTS="$GCCOPTS -mlong-calls"
265 GCCOPTIMIZE="-fomit-frame-pointer"
266 endian="little"
267 gccchoice="4.0.3"
270 arm940tbecc () {
271 prefixtools arm-elf-
272 GCCOPTS="$CCOPTS -mbig-endian -mcpu=arm940t -mlong-calls"
273 GCCOPTIMIZE="-fomit-frame-pointer"
274 endian="big"
275 gccchoice="4.0.3"
278 arm946cc () {
279 prefixtools arm-elf-
280 GCCOPTS="$CCOPTS -mcpu=arm9e -mlong-calls"
281 GCCOPTIMIZE="-fomit-frame-pointer"
282 endian="little"
283 gccchoice="4.0.3"
286 arm926ejscc () {
287 prefixtools arm-elf-
288 GCCOPTS="$CCOPTS -mcpu=arm926ej-s -mlong-calls"
289 GCCOPTIMIZE="-fomit-frame-pointer"
290 endian="little"
291 gccchoice="4.0.3"
294 arm1136jfscc () {
295 prefixtools arm-elf-
296 GCCOPTS="$CCOPTS -mcpu=arm1136jf-s"
297 if test "$modelname" != "gigabeats"; then
298 GCCOPTS="$GCCOPTS -mlong-calls"
300 GCCOPTIMIZE="-fomit-frame-pointer"
301 endian="little"
302 gccchoice="4.0.3"
305 mipselcc () {
306 prefixtools mipsel-elf-
307 GCCOPTS="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
308 GCCOPTS="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
309 GCCOPTIMIZE="-fomit-frame-pointer"
310 endian="little"
311 gccchoice="4.1.2"
314 whichadvanced () {
315 ##################################################################
316 # Prompt for specific developer options
318 echo ""
319 echo "Enter your developer options (press enter when done)"
320 printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice"
321 if [ "$memory" = "2" ]; then
322 printf ", (8)MB MOD"
324 if [ "$t_model" = "ondio" ]; then
325 printf ", (B)acklight MOD"
327 if [ "$modelname" = "m5" ]; then
328 printf ", (F)M radio MOD"
330 if [ "$modelname" = "h120" ]; then
331 printf ", (R)TC MOD"
333 echo ""
335 cont=1
337 while [ $cont = "1" ]; do
339 option=`input`;
341 case $option in
342 [Dd])
343 if [ "yes" = "$profile" ]; then
344 echo "Debug is incompatible with profiling"
345 else
346 echo "define DEBUG"
347 use_debug="yes"
350 [Ll])
351 echo "logf() support enabled"
352 logf="yes"
354 [Ss])
355 echo "Simulator build enabled"
356 simulator="yes"
358 [Pp])
359 if [ "yes" = "$use_debug" ]; then
360 echo "Profiling is incompatible with debug"
361 else
362 echo "Profiling support is enabled"
363 profile="yes"
366 [Vv])
367 echo "Voice build selected"
368 voice="yes"
371 if [ "$memory" = "2" ]; then
372 memory="8"
373 echo "Memory size selected: 8MB"
374 else
375 cont=0
378 [Bb])
379 if [ "$t_model" = "ondio" ]; then
380 have_backlight="#define HAVE_BACKLIGHT"
381 echo "Backlight functions enabled"
382 else
383 cont=0
386 [Ff])
387 if [ "$modelname" = "m5" ]; then
388 have_fmradio_in="#define HAVE_FMRADIO_IN"
389 echo "FM radio functions enabled"
390 else
391 cont=0
394 [Rr])
395 if [ "$modelname" = "h120" ]; then
396 config_rtc="#define CONFIG_RTC RTC_DS1339_DS3231"
397 have_rtc_alarm="#define HAVE_RTC_ALARM"
398 echo "RTC functions enabled (DS1339/DS3231)"
399 else
400 cont=0
404 cont=0
406 esac
407 done
408 echo "done"
410 if [ "yes" = "$voice" ]; then
411 # Ask about languages to build
412 echo "Select a number for the language to use (default is english)"
413 # The multiple-language feature is currently broken
414 # echo "You may enter a comma-separated list of languages to build"
416 picklang
417 voicelanguage=`whichlang`
419 if [ -z "$voicelanguage" ]; then
420 # pick a default
421 voicelanguage="english"
423 echo "Voice language set to $voicelanguage"
425 # Configure encoder and TTS engine for each language
426 for thislang in `echo $voicelanguage | sed 's/,/ /g'`; do
427 voiceconfig "$thislang"
428 done
430 if [ "yes" = "$use_debug" ]; then
431 debug="-DDEBUG"
432 GCCOPTS="$GCCOPTS -g -DDEBUG"
434 if [ "yes" = "$logf" ]; then
435 use_logf="#define ROCKBOX_HAS_LOGF 1"
437 if [ "yes" = "$simulator" ]; then
438 debug="-DDEBUG"
439 extradefines="$extradefines -DSIMULATOR"
440 archosrom=""
441 flash=""
443 if [ "yes" = "$profile" ]; then
444 extradefines="$extradefines -DRB_PROFILE"
445 PROFILE_OPTS="-finstrument-functions"
449 # Configure voice settings
450 voiceconfig () {
451 thislang=$1
452 echo "Building $thislang voice for $modelname. Select options"
453 echo ""
455 if [ -n "`findtool flite`" ]; then
456 FLITE="F(l)ite "
457 FLITE_OPTS=""
458 DEFAULT_TTS="flite"
459 DEFAULT_TTS_OPTS=$FLITE_OPTS
460 DEFAULT_NOISEFLOOR="500"
461 DEFAULT_CHOICE="L"
463 if [ -n "`findtool espeak`" ]; then
464 ESPEAK="(e)Speak "
465 ESPEAK_OPTS=""
466 DEFAULT_TTS="espeak"
467 DEFAULT_TTS_OPTS=$ESPEAK_OPTS
468 DEFAULT_NOISEFLOOR="500"
469 DEFAULT_CHOICE="e"
471 if [ -n "`findtool festival`" ]; then
472 FESTIVAL="(F)estival "
473 case "$thislang" in
474 "italiano")
475 FESTIVAL_OPTS="--language italian"
477 "espanol")
478 FESTIVAL_OPTS="--language spanish"
480 "finnish")
481 FESTIVAL_OPTS="--language finnish"
483 "czech")
484 FESTIVAL_OPTS="--language czech"
487 FESTIVAL_OPTS=""
489 esac
490 DEFAULT_TTS="festival"
491 DEFAULT_TTS_OPTS=$FESTIVAL_OPTS
492 DEFAULT_NOISEFLOOR="500"
493 DEFAULT_CHOICE="F"
495 if [ -n "`findtool swift`" ]; then
496 SWIFT="S(w)ift "
497 SWIFT_OPTS=""
498 DEFAULT_TTS="swift"
499 DEFAULT_TTS_OPTS=$SWIFT_OPTS
500 DEFAULT_NOISEFLOOR="500"
501 DEFAULT_CHOICE="w"
503 # Allow SAPI if Windows is in use
504 if [ -n "`findtool winver`" ]; then
505 SAPI="(S)API "
506 SAPI_OPTS=""
507 DEFAULT_TTS="sapi"
508 DEFAULT_TTS_OPTS=$SAPI_OPTS
509 DEFAULT_NOISEFLOOR="500"
510 DEFAULT_CHOICE="S"
513 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
514 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
515 exit 3
518 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
519 option=`input`
520 case "$option" in
521 [Ll])
522 TTS_ENGINE="flite"
523 NOISEFLOOR="500" # TODO: check this value
524 TTS_OPTS=$FLITE_OPTS
526 [Ee])
527 TTS_ENGINE="espeak"
528 NOISEFLOOR="500"
529 TTS_OPTS=$ESPEAK_OPTS
531 [Ff])
532 TTS_ENGINE="festival"
533 NOISEFLOOR="500"
534 TTS_OPTS=$FESTIVAL_OPTS
536 [Ss])
537 TTS_ENGINE="sapi"
538 NOISEFLOOR="500"
539 TTS_OPTS=$SAPI_OPTS
541 [Ww])
542 TTS_ENGINE="swift"
543 NOISEFLOOR="500"
544 TTS_OPTS=$SWIFT_OPTS
547 TTS_ENGINE=$DEFAULT_TTS
548 TTS_OPTS=$DEFAULT_TTS_OPTS
549 NOISEFLOOR=$DEFAULT_NOISEFLOOR
550 esac
551 echo "Using $TTS_ENGINE for TTS"
553 # Select which voice to use for Festival
554 if [ "$TTS_ENGINE" = "festival" ]; then
556 for voice in `echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`; do
557 if [ "$i" = "1" ]; then
558 TTS_FESTIVAL_VOICE="$voice" # Default choice
560 printf "%3d. %s\n" "$i" "$voice"
561 i=`expr $i + 1`
562 done
563 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
564 CHOICE=`input`
566 for voice in `echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`; do
567 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
568 TTS_FESTIVAL_VOICE="$voice"
570 i=`expr $i + 1`
571 done
572 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
573 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
576 # Allow the user to input manual commandline options
577 printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
578 USER_TTS_OPTS=`input`
579 if [ -n "$USER_TTS_OPTS" ]; then
580 TTS_OPTS="$USER_TTS_OPTS"
583 echo ""
585 if [ "$swcodec" = "yes" ]; then
586 ENCODER="rbspeexenc"
587 ENC_CMD="rbspeexenc"
588 ENC_OPTS="-q 4 -c 10"
589 else
590 if [ -n "`findtool lame`" ]; then
591 ENCODER="lame"
592 ENC_CMD="lame"
593 ENC_OPTS="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
594 else
595 echo "You need LAME in the system path to build voice files for"
596 echo "HWCODEC targets."
597 exit 4
601 echo "Using $ENCODER for encoding voice clips"
603 # Allow the user to input manual commandline options
604 printf "Enter $ENCODER options (enter for defaults \"$ENC_OPTS\"): "
605 USER_ENC_OPTS=`input`
606 if [ -n "$USER_ENC_OPTS" ]; then
607 ENC_OPTS=$USER_ENC_OPTS
610 TEMPDIR="${pwd}"
611 if [ -n "`findtool cygpath`" ]; then
612 TEMPDIR=`cygpath . -a -w`
616 picklang() {
617 # figure out which languages that are around
618 for file in $rootdir/apps/lang/*.lang; do
619 clean=`echo $file | sed -e 's:.*/::g' | cut "-d." -f1`
620 langs="$langs $clean"
621 done
623 num=1
624 for one in $langs; do
625 echo "$num. $one"
626 num=`expr $num + 1`
627 done
629 read pick
632 whichlang() {
633 output=""
634 # Allow the user to pass a comma-separated list of langauges
635 for thispick in `echo $pick | sed 's/,/ /g'`; do
636 num=1
637 for one in $langs; do
638 # Accept both the language number and name
639 if [ "$num" = "$thispick" ] || [ "$thispick" = "$one" ]; then
640 if [ "$output" = "" ]; then
641 output=$one
642 else
643 output=$output,$one
646 num=`expr $num + 1`
647 done
648 done
649 echo $output
652 opt=$1
654 if test "$opt" = "--help"; then
655 echo "Rockbox configure script."
656 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
657 echo "Do *NOT* run this within the tools directory!"
658 echo ""
659 cat <<EOF
660 Usage: configure [OPTION]...
661 Options:
662 --target=TARGET Sets the target, TARGET can be either the target ID or
663 corresponding string. Run without this option to see all
664 available targets.
666 --ram=RAM Sets the RAM for certain targets. Even though any number
667 is accepted, not every number is correct. The default
668 value will be applied, if you entered a wrong number
669 (which depends on the target). Watch the output. Run
670 without this option if you are not sure which the right
671 number is.
673 --type=TYPE Sets the build type. The shortcut is also valid.
674 Run without this option to see available types.
676 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
677 This is useful for having multiple alternate builds on
678 your device that you can load with ROLO. However as the
679 bootloader looks for .rockbox you won't be able to boot
680 into this build.
682 --ccache Enable ccache use (done by default these days)
683 --no-ccache Disable ccache use
684 --help Shows this message (must not be used with other options)
688 exit
691 if test -r "configure"; then
692 # this is a check for a configure script in the current directory, it there
693 # is one, try to figure out if it is this one!
695 if { grep "^# Jukebox" configure >/dev/null 2>&1 ; } then
696 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
697 echo "It will only cause you pain and grief. Instead do this:"
698 echo ""
699 echo " cd .."
700 echo " mkdir build-dir"
701 echo " cd build-dir"
702 echo " ../tools/configure"
703 echo ""
704 echo "Much happiness will arise from this. Enjoy"
705 exit 5
709 # get our current directory
710 pwd=`pwd`;
712 if { echo $pwd | grep " "; } then
713 echo "You're running this script in a path that contains space. The build"
714 echo "system is unfortunately not clever enough to deal with this. Please"
715 echo "run the script from a different path, rename the path or fix the build"
716 echo "system!"
717 exit 6
720 if [ -z "$rootdir" ]; then
721 ##################################################################
722 # Figure out where the source code root is!
724 rootdir=`dirname $0`/../
726 #####################################################################
727 # Convert the possibly relative directory name to an absolute version
729 now=`pwd`
730 cd $rootdir
731 rootdir=`pwd`
733 # cd back to the build dir
734 cd $now
737 apps="apps"
738 appsdir='\$(ROOTDIR)/apps'
739 firmdir='\$(ROOTDIR)/firmware'
740 toolsdir='\$(ROOTDIR)/tools'
743 ##################################################################
744 # Figure out target platform
747 if [ "1" != `parse_args --target` ]; then
748 buildfor=`parse_args --target`;
749 else
750 echo "Enter target platform:"
751 cat <<EOF
752 ==Archos== ==iriver== ==Apple iPod==
753 0) Player/Studio 10) H120/H140 20) Color/Photo
754 1) Recorder 11) H320/H340 21) Nano
755 2) FM Recorder 12) iHP-100/110/115 22) Video
756 3) Recorder v2 13) iFP-790 23) 3G
757 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
758 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
759 6) AV300 26) Mini 2G
760 ==Toshiba== 27) 1G, 2G
761 ==Cowon/iAudio== 40) Gigabeat F
762 30) X5/X5V/X5L 41) Gigabeat S ==SanDisk==
763 31) M5/M5L 50) Sansa e200
764 32) 7 ==Olympus= 51) Sansa e200R
765 33) D2 70) M:Robe 500 52) Sansa c200
766 34) M3/M3L 71) M:Robe 100 53) Sansa m200
767 54) Sansa c100
768 ==Creative== ==Philips== 55) Sansa Clip
769 90) Zen Vision:M 30GB 100) GoGear SA9200 56) Sansa e200v2
770 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 57) Sansa m200v4
771 92) Zen Vision HDD1830 58) Sansa Fuze
772 59) Sansa c200v2
773 ==Onda== ==Meizu== 60) Sansa Clipv2
774 120) VX747 110) M6SL
775 121) VX767 111) M6SP ==Logik==
776 122) VX747+ 112) M3 80) DAX 1GB MP3/DAB
778 ==Samsung== ==Tatung== ==Lyre project==
779 140) YH-820 150) Elio TPJ-1022 130) Lyre proto 1
780 141) YH-920
781 142) YH-925
784 buildfor=`input`;
787 # Set of tools built for all target platforms:
788 toolset="rdf2binary convbdf codepages"
790 # Toolsets for some target families:
791 archosbitmaptools="$toolset scramble descramble sh2d uclpack bmp2rb"
792 iriverbitmaptools="$toolset scramble descramble mkboot bmp2rb"
793 iaudiobitmaptools="$toolset scramble descramble mkboot bmp2rb"
794 ipodbitmaptools="$toolset scramble bmp2rb"
795 gigabeatbitmaptools="$toolset scramble descramble bmp2rb"
796 tccbitmaptools="$toolset scramble mktccboot bmp2rb"
797 # generic is used by IFP, Meizu and Onda
798 genericbitmaptools="$toolset bmp2rb"
799 # scramble is used by all other targets
800 scramblebitmaptools="$genericbitmaptools scramble"
803 # ---- For each target ----
805 # *Variables*
806 # target_id: a unique number identifying this target, IS NOT the menu number.
807 # Just use the currently highest number+1 when you add a new
808 # target.
809 # modelname: short model name used all over to identify this target
810 # memory: number of megabytes of RAM this target has. If the amount can
811 # be selected by the size prompt, let memory be unset here
812 # target: -Ddefine passed to the build commands to make the correct
813 # config-*.h file get included etc
814 # tool: the tool that takes a plain binary and converts that into a
815 # working "firmware" file for your target
816 # output: the final output file name
817 # boottool: the tool that takes a plain binary and generates a bootloader
818 # file for your target (or blank to use $tool)
819 # bootoutput:the final output file name for the bootloader (or blank to use
820 # $output)
821 # appextra: passed to the APPEXTRA variable in the Makefiles.
822 # TODO: add proper explanation
823 # archosrom: used only for Archos targets that build a special flashable .ucl
824 # image.
825 # flash: name of output for flashing, for targets where there's a special
826 # file output for this.
827 # plugins: set to 'yes' to build the plugins. Early development builds can
828 # set this to no in the early stages to have an easier life for a
829 # while
830 # swcodec: set 'yes' on swcodec targets
831 # toolset: lists what particular tools in the tools/ directory that this
832 # target needs to have built prior to building Rockbox
834 # *Functions*
835 # *cc: sets up gcc and compiler options for your target builds. Note
836 # that if you select a simulator build, the compiler selection is
837 # overridden later in the script.
839 case $buildfor in
841 0|player)
842 target_id=1
843 modelname="player"
844 target="-DARCHOS_PLAYER"
845 shcc
846 tool="$rootdir/tools/scramble"
847 output="archos.mod"
848 appextra="player:gui"
849 archosrom="$pwd/rombox.ucl"
850 flash="$pwd/rockbox.ucl"
851 plugins="yes"
852 swcodec=""
854 # toolset is the tools within the tools directory that we build for
855 # this particular target.
856 toolset="$toolset scramble descramble sh2d player_unifont uclpack"
858 # Note: the convbdf is present in the toolset just because: 1) the
859 # firmware/Makefile assumes it is present always, and 2) we will need it when we
860 # build the player simulator
862 t_cpu="sh"
863 t_manufacturer="archos"
864 t_model="player"
867 1|recorder)
868 target_id=2
869 modelname="recorder"
870 target="-DARCHOS_RECORDER"
871 shcc
872 tool="$rootdir/tools/scramble"
873 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
874 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
875 output="ajbrec.ajz"
876 appextra="recorder:gui"
877 #archosrom="$pwd/rombox.ucl"
878 flash="$pwd/rockbox.ucl"
879 plugins="yes"
880 swcodec=""
881 # toolset is the tools within the tools directory that we build for
882 # this particular target.
883 toolset=$archosbitmaptools
884 t_cpu="sh"
885 t_manufacturer="archos"
886 t_model="recorder"
889 2|fmrecorder)
890 target_id=3
891 modelname="fmrecorder"
892 target="-DARCHOS_FMRECORDER"
893 shcc
894 tool="$rootdir/tools/scramble -fm"
895 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
896 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
897 output="ajbrec.ajz"
898 appextra="recorder:gui"
899 #archosrom="$pwd/rombox.ucl"
900 flash="$pwd/rockbox.ucl"
901 plugins="yes"
902 swcodec=""
903 # toolset is the tools within the tools directory that we build for
904 # this particular target.
905 toolset=$archosbitmaptools
906 t_cpu="sh"
907 t_manufacturer="archos"
908 t_model="fm_v2"
911 3|recorderv2)
912 target_id=4
913 modelname="recorderv2"
914 target="-DARCHOS_RECORDERV2"
915 shcc
916 tool="$rootdir/tools/scramble -v2"
917 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
918 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
919 output="ajbrec.ajz"
920 appextra="recorder:gui"
921 #archosrom="$pwd/rombox.ucl"
922 flash="$pwd/rockbox.ucl"
923 plugins="yes"
924 swcodec=""
925 # toolset is the tools within the tools directory that we build for
926 # this particular target.
927 toolset=$archosbitmaptools
928 t_cpu="sh"
929 t_manufacturer="archos"
930 t_model="fm_v2"
933 4|ondiosp)
934 target_id=7
935 modelname="ondiosp"
936 target="-DARCHOS_ONDIOSP"
937 shcc
938 tool="$rootdir/tools/scramble -osp"
939 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
940 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
941 output="ajbrec.ajz"
942 appextra="recorder:gui"
943 archosrom="$pwd/rombox.ucl"
944 flash="$pwd/rockbox.ucl"
945 plugins="yes"
946 swcodec=""
947 # toolset is the tools within the tools directory that we build for
948 # this particular target.
949 toolset=$archosbitmaptools
950 t_cpu="sh"
951 t_manufacturer="archos"
952 t_model="ondio"
955 5|ondiofm)
956 target_id=8
957 modelname="ondiofm"
958 target="-DARCHOS_ONDIOFM"
959 shcc
960 tool="$rootdir/tools/scramble -ofm"
961 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
962 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
963 output="ajbrec.ajz"
964 appextra="recorder:gui"
965 #archosrom="$pwd/rombox.ucl"
966 flash="$pwd/rockbox.ucl"
967 plugins="yes"
968 swcodec=""
969 toolset=$archosbitmaptools
970 t_cpu="sh"
971 t_manufacturer="archos"
972 t_model="ondio"
975 6|av300)
976 target_id=38
977 modelname="av300"
978 target="-DARCHOS_AV300"
979 memory=16 # always
980 arm7tdmicc
981 tool="$rootdir/tools/scramble -mm=C"
982 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
983 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
984 output="cjbm.ajz"
985 appextra="recorder:gui"
986 plugins="yes"
987 swcodec=""
988 # toolset is the tools within the tools directory that we build for
989 # this particular target.
990 toolset="$toolset scramble descramble bmp2rb"
991 # architecture, manufacturer and model for the target-tree build
992 t_cpu="arm"
993 t_manufacturer="archos"
994 t_model="av300"
997 10|h120)
998 target_id=9
999 modelname="h120"
1000 target="-DIRIVER_H120"
1001 memory=32 # always
1002 coldfirecc
1003 tool="$rootdir/tools/scramble -add=h120"
1004 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1005 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1006 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1007 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1008 output="rockbox.iriver"
1009 appextra="recorder:gui"
1010 flash="$pwd/rombox.iriver"
1011 plugins="yes"
1012 swcodec="yes"
1013 # toolset is the tools within the tools directory that we build for
1014 # this particular target.
1015 toolset=$iriverbitmaptools
1016 t_cpu="coldfire"
1017 t_manufacturer="iriver"
1018 t_model="h100"
1021 11|h300)
1022 target_id=10
1023 modelname="h300"
1024 target="-DIRIVER_H300"
1025 memory=32 # always
1026 coldfirecc
1027 tool="$rootdir/tools/scramble -add=h300"
1028 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1029 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1030 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1031 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1032 output="rockbox.iriver"
1033 appextra="recorder:gui"
1034 plugins="yes"
1035 swcodec="yes"
1036 # toolset is the tools within the tools directory that we build for
1037 # this particular target.
1038 toolset=$iriverbitmaptools
1039 t_cpu="coldfire"
1040 t_manufacturer="iriver"
1041 t_model="h300"
1044 12|h100)
1045 target_id=11
1046 modelname="h100"
1047 target="-DIRIVER_H100"
1048 memory=16 # always
1049 coldfirecc
1050 tool="$rootdir/tools/scramble -add=h100"
1051 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1052 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1053 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1054 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1055 output="rockbox.iriver"
1056 appextra="recorder:gui"
1057 flash="$pwd/rombox.iriver"
1058 plugins="yes"
1059 swcodec="yes"
1060 # toolset is the tools within the tools directory that we build for
1061 # this particular target.
1062 toolset=$iriverbitmaptools
1063 t_cpu="coldfire"
1064 t_manufacturer="iriver"
1065 t_model="h100"
1068 13|ifp7xx)
1069 target_id=19
1070 modelname="ifp7xx"
1071 target="-DIRIVER_IFP7XX"
1072 memory=1
1073 arm7tdmicc short
1074 tool="cp"
1075 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1076 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1077 output="rockbox.wma"
1078 appextra="recorder:gui"
1079 plugins="yes"
1080 swcodec="yes"
1081 # toolset is the tools within the tools directory that we build for
1082 # this particular target.
1083 toolset=$genericbitmaptools
1084 t_cpu="arm"
1085 t_manufacturer="pnx0101"
1086 t_model="iriver-ifp7xx"
1089 14|h10)
1090 target_id=22
1091 modelname="h10"
1092 target="-DIRIVER_H10"
1093 memory=32 # always
1094 arm7tdmicc
1095 tool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1096 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1097 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1098 output="rockbox.mi4"
1099 appextra="recorder:gui"
1100 plugins="yes"
1101 swcodec="yes"
1102 boottool="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1103 bootoutput="H10_20GC.mi4"
1104 # toolset is the tools within the tools directory that we build for
1105 # this particular target.
1106 toolset=$scramblebitmaptools
1107 # architecture, manufacturer and model for the target-tree build
1108 t_cpu="arm"
1109 t_manufacturer="iriver"
1110 t_model="h10"
1113 15|h10_5gb)
1114 target_id=24
1115 modelname="h10_5gb"
1116 target="-DIRIVER_H10_5GB"
1117 memory=32 # always
1118 arm7tdmicc
1119 tool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1120 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1121 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1122 output="rockbox.mi4"
1123 appextra="recorder:gui"
1124 plugins="yes"
1125 swcodec="yes"
1126 boottool="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1127 bootoutput="H10.mi4"
1128 # toolset is the tools within the tools directory that we build for
1129 # this particular target.
1130 toolset=$scramblebitmaptools
1131 # architecture, manufacturer and model for the target-tree build
1132 t_cpu="arm"
1133 t_manufacturer="iriver"
1134 t_model="h10"
1137 20|ipodcolor)
1138 target_id=13
1139 modelname="ipodcolor"
1140 target="-DIPOD_COLOR"
1141 memory=32 # always
1142 arm7tdmicc
1143 tool="$rootdir/tools/scramble -add=ipco"
1144 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1145 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1146 output="rockbox.ipod"
1147 appextra="recorder:gui"
1148 plugins="yes"
1149 swcodec="yes"
1150 bootoutput="bootloader-$modelname.ipod"
1151 # toolset is the tools within the tools directory that we build for
1152 # this particular target.
1153 toolset=$ipodbitmaptools
1154 # architecture, manufacturer and model for the target-tree build
1155 t_cpu="arm"
1156 t_manufacturer="ipod"
1157 t_model="color"
1160 21|ipodnano)
1161 target_id=14
1162 modelname="ipodnano"
1163 target="-DIPOD_NANO"
1164 memory=32 # always
1165 arm7tdmicc
1166 tool="$rootdir/tools/scramble -add=nano"
1167 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1168 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1169 output="rockbox.ipod"
1170 appextra="recorder:gui"
1171 plugins="yes"
1172 swcodec="yes"
1173 bootoutput="bootloader-$modelname.ipod"
1174 # toolset is the tools within the tools directory that we build for
1175 # this particular target.
1176 toolset=$ipodbitmaptools
1177 # architecture, manufacturer and model for the target-tree build
1178 t_cpu="arm"
1179 t_manufacturer="ipod"
1180 t_model="nano"
1183 22|ipodvideo)
1184 target_id=15
1185 modelname="ipodvideo"
1186 target="-DIPOD_VIDEO"
1187 arm7tdmicc
1188 tool="$rootdir/tools/scramble -add=ipvd"
1189 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1190 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1191 output="rockbox.ipod"
1192 appextra="recorder:gui"
1193 plugins="yes"
1194 swcodec="yes"
1195 bootoutput="bootloader-$modelname.ipod"
1196 # toolset is the tools within the tools directory that we build for
1197 # this particular target.
1198 toolset=$ipodbitmaptools
1199 # architecture, manufacturer and model for the target-tree build
1200 t_cpu="arm"
1201 t_manufacturer="ipod"
1202 t_model="video"
1205 23|ipod3g)
1206 target_id=16
1207 modelname="ipod3g"
1208 target="-DIPOD_3G"
1209 memory=32 # always
1210 arm7tdmicc
1211 tool="$rootdir/tools/scramble -add=ip3g"
1212 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1213 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1214 output="rockbox.ipod"
1215 appextra="recorder:gui"
1216 plugins="yes"
1217 swcodec="yes"
1218 bootoutput="bootloader-$modelname.ipod"
1219 # toolset is the tools within the tools directory that we build for
1220 # this particular target.
1221 toolset=$ipodbitmaptools
1222 # architecture, manufacturer and model for the target-tree build
1223 t_cpu="arm"
1224 t_manufacturer="ipod"
1225 t_model="3g"
1228 24|ipod4g)
1229 target_id=17
1230 modelname="ipod4g"
1231 target="-DIPOD_4G"
1232 memory=32 # always
1233 arm7tdmicc
1234 tool="$rootdir/tools/scramble -add=ip4g"
1235 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1236 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1237 output="rockbox.ipod"
1238 appextra="recorder:gui"
1239 plugins="yes"
1240 swcodec="yes"
1241 bootoutput="bootloader-$modelname.ipod"
1242 # toolset is the tools within the tools directory that we build for
1243 # this particular target.
1244 toolset=$ipodbitmaptools
1245 # architecture, manufacturer and model for the target-tree build
1246 t_cpu="arm"
1247 t_manufacturer="ipod"
1248 t_model="4g"
1251 25|ipodmini)
1252 target_id=18
1253 modelname="ipodmini"
1254 target="-DIPOD_MINI"
1255 memory=32 # always
1256 arm7tdmicc
1257 tool="$rootdir/tools/scramble -add=mini"
1258 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1259 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1260 output="rockbox.ipod"
1261 appextra="recorder:gui"
1262 plugins="yes"
1263 swcodec="yes"
1264 bootoutput="bootloader-$modelname.ipod"
1265 # toolset is the tools within the tools directory that we build for
1266 # this particular target.
1267 toolset=$ipodbitmaptools
1268 # architecture, manufacturer and model for the target-tree build
1269 t_cpu="arm"
1270 t_manufacturer="ipod"
1271 t_model="mini"
1274 26|ipodmini2g)
1275 target_id=21
1276 modelname="ipodmini2g"
1277 target="-DIPOD_MINI2G"
1278 memory=32 # always
1279 arm7tdmicc
1280 tool="$rootdir/tools/scramble -add=mn2g"
1281 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1282 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1283 output="rockbox.ipod"
1284 appextra="recorder:gui"
1285 plugins="yes"
1286 swcodec="yes"
1287 bootoutput="bootloader-$modelname.ipod"
1288 # toolset is the tools within the tools directory that we build for
1289 # this particular target.
1290 toolset=$ipodbitmaptools
1291 # architecture, manufacturer and model for the target-tree build
1292 t_cpu="arm"
1293 t_manufacturer="ipod"
1294 t_model="mini2g"
1297 27|ipod1g2g)
1298 target_id=29
1299 modelname="ipod1g2g"
1300 target="-DIPOD_1G2G"
1301 memory=32 # always
1302 arm7tdmicc
1303 tool="$rootdir/tools/scramble -add=1g2g"
1304 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1305 bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
1306 output="rockbox.ipod"
1307 appextra="recorder:gui"
1308 plugins="yes"
1309 swcodec="yes"
1310 bootoutput="bootloader-$modelname.ipod"
1311 # toolset is the tools within the tools directory that we build for
1312 # this particular target.
1313 toolset=$ipodbitmaptools
1314 # architecture, manufacturer and model for the target-tree build
1315 t_cpu="arm"
1316 t_manufacturer="ipod"
1317 t_model="1g2g"
1320 30|x5)
1321 target_id=12
1322 modelname="x5"
1323 target="-DIAUDIO_X5"
1324 memory=16 # always
1325 coldfirecc
1326 tool="$rootdir/tools/scramble -add=iax5"
1327 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1328 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1329 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1330 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1331 output="rockbox.iaudio"
1332 appextra="recorder:gui"
1333 plugins="yes"
1334 swcodec="yes"
1335 # toolset is the tools within the tools directory that we build for
1336 # this particular target.
1337 toolset="$iaudiobitmaptools"
1338 # architecture, manufacturer and model for the target-tree build
1339 t_cpu="coldfire"
1340 t_manufacturer="iaudio"
1341 t_model="x5"
1344 31|m5)
1345 target_id=28
1346 modelname="m5"
1347 target="-DIAUDIO_M5"
1348 memory=16 # always
1349 coldfirecc
1350 tool="$rootdir/tools/scramble -add=iam5"
1351 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1352 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
1353 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1354 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7"
1355 output="rockbox.iaudio"
1356 appextra="recorder:gui"
1357 plugins="yes"
1358 swcodec="yes"
1359 # toolset is the tools within the tools directory that we build for
1360 # this particular target.
1361 toolset="$iaudiobitmaptools"
1362 # architecture, manufacturer and model for the target-tree build
1363 t_cpu="coldfire"
1364 t_manufacturer="iaudio"
1365 t_model="m5"
1368 32|iaudio7)
1369 target_id=32
1370 modelname="iaudio7"
1371 target="-DIAUDIO_7"
1372 memory=16 # always
1373 arm946cc
1374 tool="$rootdir/tools/scramble -add=i7"
1375 boottool="$rootdir/tools/scramble -tcc=crc"
1376 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1377 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1378 output="rockbox.iaudio"
1379 appextra="recorder:gui"
1380 plugins="yes"
1381 swcodec="yes"
1382 bootoutput="I7_FW.BIN"
1383 # toolset is the tools within the tools directory that we build for
1384 # this particular target.
1385 toolset="$tccbitmaptools"
1386 # architecture, manufacturer and model for the target-tree build
1387 t_cpu="arm"
1388 t_manufacturer="tcc77x"
1389 t_model="iaudio7"
1392 33|cowond2)
1393 target_id=34
1394 modelname="cowond2"
1395 target="-DCOWON_D2"
1396 memory=32
1397 arm926ejscc
1398 tool="$rootdir/tools/scramble -add=d2"
1399 boottool="$rootdir/tools/scramble -tcc=crc"
1400 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1401 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1402 output="rockbox.d2"
1403 appextra="recorder:gui"
1404 plugins="yes"
1405 swcodec="yes"
1406 toolset="$tccbitmaptools"
1407 # architecture, manufacturer and model for the target-tree build
1408 t_cpu="arm"
1409 t_manufacturer="tcc780x"
1410 t_model="cowond2"
1413 34|m3)
1414 target_id=37
1415 modelname="m3"
1416 target="-DIAUDIO_M3"
1417 memory=16 # always
1418 coldfirecc
1419 tool="$rootdir/tools/scramble -add=iam3"
1420 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1421 bmp2rb_native="$rootdir/tools/bmp2rb -f 7"
1422 output="rockbox.iaudio"
1423 appextra="recorder:gui"
1424 plugins="yes"
1425 swcodec="yes"
1426 # toolset is the tools within the tools directory that we build for
1427 # this particular target.
1428 toolset="$iaudiobitmaptools"
1429 # architecture, manufacturer and model for the target-tree build
1430 t_cpu="coldfire"
1431 t_manufacturer="iaudio"
1432 t_model="m3"
1435 40|gigabeatf)
1436 target_id=20
1437 modelname="gigabeatf"
1438 target="-DGIGABEAT_F"
1439 memory=32 # always
1440 arm9tdmicc
1441 tool="$rootdir/tools/scramble -add=giga"
1442 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1443 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1444 output="rockbox.gigabeat"
1445 appextra="recorder:gui"
1446 plugins="yes"
1447 swcodec="yes"
1448 toolset=$gigabeatbitmaptools
1449 boottool="$rootdir/tools/scramble -gigabeat"
1450 bootoutput="FWIMG01.DAT"
1451 # architecture, manufacturer and model for the target-tree build
1452 t_cpu="arm"
1453 t_manufacturer="s3c2440"
1454 t_model="gigabeat-fx"
1457 41|gigabeats)
1458 target_id=26
1459 modelname="gigabeats"
1460 target="-DGIGABEAT_S"
1461 memory=64
1462 arm1136jfscc
1463 tool="$rootdir/tools/scramble -add=gigs"
1464 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1465 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1466 output="rockbox.gigabeat"
1467 appextra="recorder:gui"
1468 plugins="yes"
1469 swcodec="yes"
1470 toolset="$gigabeatbitmaptools mknkboot"
1471 boottool="$rootdir/tools/scramble -gigabeats"
1472 bootoutput="nk.bin"
1473 # architecture, manufacturer and model for the target-tree build
1474 t_cpu="arm"
1475 t_manufacturer="imx31"
1476 t_model="gigabeat-s"
1479 70|mrobe500)
1480 target_id=36
1481 modelname="mrobe500"
1482 target="-DMROBE_500"
1483 memory=64 # always
1484 arm926ejscc
1485 tool="$rootdir/tools/scramble -add=m500"
1486 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1487 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1488 bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0"
1489 bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0"
1490 output="rockbox.mrobe500"
1491 appextra="recorder:gui"
1492 plugins="yes"
1493 swcodec="yes"
1494 toolset=$gigabeatbitmaptools
1495 boottool="cp "
1496 bootoutput="rockbox.mrboot"
1497 # architecture, manufacturer and model for the target-tree build
1498 t_cpu="arm"
1499 t_manufacturer="tms320dm320"
1500 t_model="mrobe-500"
1503 71|mrobe100)
1504 target_id=33
1505 modelname="mrobe100"
1506 target="-DMROBE_100"
1507 memory=32 # always
1508 arm7tdmicc
1509 tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1510 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1511 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1512 output="rockbox.mi4"
1513 appextra="recorder:gui"
1514 plugins="yes"
1515 swcodec="yes"
1516 boottool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1517 bootoutput="pp5020.mi4"
1518 # toolset is the tools within the tools directory that we build for
1519 # this particular target.
1520 toolset=$scramblebitmaptools
1521 # architecture, manufacturer and model for the target-tree build
1522 t_cpu="arm"
1523 t_manufacturer="olympus"
1524 t_model="mrobe-100"
1527 80|logikdax)
1528 target_id=31
1529 modelname="logikdax"
1530 target="-DLOGIK_DAX"
1531 memory=2 # always
1532 arm946cc
1533 tool="$rootdir/tools/scramble -add=ldax"
1534 boottool="$rootdir/tools/scramble -tcc=crc"
1535 bootoutput="player.rom"
1536 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1537 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1538 output="rockbox.logik"
1539 appextra="recorder:gui"
1540 plugins=""
1541 swcodec="yes"
1542 # toolset is the tools within the tools directory that we build for
1543 # this particular target.
1544 toolset=$tccbitmaptools
1545 # architecture, manufacturer and model for the target-tree build
1546 t_cpu="arm"
1547 t_manufacturer="tcc77x"
1548 t_model="logikdax"
1551 90|creativezvm30gb)
1552 target_id=35
1553 modelname="creativezvm30"
1554 target="-DCREATIVE_ZVM"
1555 memory=64
1556 arm926ejscc
1557 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1558 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1559 tool="$rootdir/tools/scramble -creative=zvm"
1560 USE_ELF="yes"
1561 output="rockbox.zvm"
1562 appextra="recorder:gui"
1563 plugins="yes"
1564 swcodec="yes"
1565 toolset=$ipodbitmaptools
1566 boottool="$rootdir/tools/scramble -creative=zvm -no-ciff"
1567 bootoutput="rockbox.zvmboot"
1568 # architecture, manufacturer and model for the target-tree build
1569 t_cpu="arm"
1570 t_manufacturer="tms320dm320"
1571 t_model="creative-zvm"
1574 91|creativezvm60gb)
1575 target_id=40
1576 modelname="creativezvm60"
1577 target="-DCREATIVE_ZVM60GB"
1578 memory=64
1579 arm926ejscc
1580 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1581 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1582 tool="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1583 USE_ELF="yes"
1584 output="rockbox.zvm60"
1585 appextra="recorder:gui"
1586 plugins="yes"
1587 swcodec="yes"
1588 toolset=$ipodbitmaptools
1589 boottool="$rootdir/tools/scramble -creative=zvm60"
1590 bootoutput="rockbox.zvm60boot"
1591 # architecture, manufacturer and model for the target-tree build
1592 t_cpu="arm"
1593 t_manufacturer="tms320dm320"
1594 t_model="creative-zvm"
1597 92|creativezenvision)
1598 target_id=39
1599 modelname="creativezv"
1600 target="-DCREATIVE_ZV"
1601 memory=64
1602 arm926ejscc
1603 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1604 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1605 tool="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1606 USE_ELF="yes"
1607 output="rockbox.zv"
1608 appextra="recorder:gui"
1609 plugins=""
1610 swcodec="yes"
1611 toolset=$ipodbitmaptools
1612 boottool="$rootdir/tools/scramble -creative=zenvision"
1613 bootoutput="rockbox.zvboot"
1614 # architecture, manufacturer and model for the target-tree build
1615 t_cpu="arm"
1616 t_manufacturer="tms320dm320"
1617 t_model="creative-zvm"
1620 50|e200)
1621 target_id=23
1622 modelname="e200"
1623 target="-DSANSA_E200"
1624 memory=32 # supposedly
1625 arm7tdmicc
1626 tool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1627 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1628 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1629 output="rockbox.mi4"
1630 appextra="recorder:gui"
1631 plugins="yes"
1632 swcodec="yes"
1633 boottool="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1634 bootoutput="PP5022.mi4"
1635 # toolset is the tools within the tools directory that we build for
1636 # this particular target.
1637 toolset=$scramblebitmaptools
1638 # architecture, manufacturer and model for the target-tree build
1639 t_cpu="arm"
1640 t_manufacturer="sandisk"
1641 t_model="sansa-e200"
1644 51|e200r)
1645 # the e200R model is pretty much identical to the e200, it only has a
1646 # different option to the scramble tool when building a bootloader and
1647 # makes the bootloader output file name in all lower case.
1648 target_id=27
1649 modelname="e200r"
1650 target="-DSANSA_E200"
1651 memory=32 # supposedly
1652 arm7tdmicc
1653 tool="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1654 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1655 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1656 output="rockbox.mi4"
1657 appextra="recorder:gui"
1658 plugins="yes"
1659 swcodec="yes"
1660 boottool="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1661 bootoutput="pp5022.mi4"
1662 # toolset is the tools within the tools directory that we build for
1663 # this particular target.
1664 toolset=$scramblebitmaptools
1665 # architecture, manufacturer and model for the target-tree build
1666 t_cpu="arm"
1667 t_manufacturer="sandisk"
1668 t_model="sansa-e200"
1671 52|c200)
1672 target_id=30
1673 modelname="c200"
1674 target="-DSANSA_C200"
1675 memory=32 # supposedly
1676 arm7tdmicc
1677 tool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1678 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1679 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1680 output="rockbox.mi4"
1681 appextra="recorder:gui"
1682 plugins="yes"
1683 swcodec="yes"
1684 boottool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1685 bootoutput="firmware.mi4"
1686 # toolset is the tools within the tools directory that we build for
1687 # this particular target.
1688 toolset=$scramblebitmaptools
1689 # architecture, manufacturer and model for the target-tree build
1690 t_cpu="arm"
1691 t_manufacturer="sandisk"
1692 t_model="sansa-c200"
1695 53|m200)
1696 target_id=48
1697 modelname="m200"
1698 target="-DSANSA_M200"
1699 memory=1 # always
1700 arm946cc
1701 tool="$rootdir/tools/scramble -add=m200"
1702 boottool="$rootdir/tools/scramble -tcc=crc"
1703 bootoutput="player.rom"
1704 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1705 bmp2rb_native="$rootdir/tools/bmp2rb -f 0"
1706 output="rockbox.m200"
1707 appextra="recorder:gui"
1708 plugins=""
1709 swcodec="yes"
1710 # toolset is the tools within the tools directory that we build for
1711 # this particular target.
1712 toolset=$tccbitmaptools
1713 # architecture, manufacturer and model for the target-tree build
1714 t_cpu="arm"
1715 t_manufacturer="tcc77x"
1716 t_model="m200"
1719 54|c100)
1720 target_id=42
1721 modelname="c100"
1722 target="-DSANSA_C100"
1723 memory=2
1724 arm946cc
1725 tool="$rootdir/tools/scramble -add=c100"
1726 boottool="$rootdir/tools/scramble -tcc=crc"
1727 bootoutput="player.rom"
1728 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1729 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1730 output="rockbox.c100"
1731 appextra="recorder:gui"
1732 plugins=""
1733 swcodec="yes"
1734 # toolset is the tools within the tools directory that we build for
1735 # this particular target.
1736 toolset=$tccbitmaptools
1737 # architecture, manufacturer and model for the target-tree build
1738 t_cpu="arm"
1739 t_manufacturer="tcc77x"
1740 t_model="c100"
1743 55|Clip|clip)
1744 target_id=50
1745 modelname="clip"
1746 target="-DSANSA_CLIP"
1747 memory=2
1748 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1749 bmp2rb_native="$bmp2rb_mono"
1750 tool="$rootdir/tools/scramble -add=clip"
1751 output="rockbox.sansa"
1752 bootoutput="bootloader-clip.sansa"
1753 appextra="recorder:gui"
1754 plugins="yes"
1755 swcodec="yes"
1756 toolset=$scramblebitmaptools
1757 t_cpu="arm"
1758 t_manufacturer="as3525"
1759 t_model="sansa-clip"
1760 arm9tdmicc
1764 56|e200v2)
1765 target_id=51
1766 modelname="e200v2"
1767 target="-DSANSA_E200V2"
1768 memory=8
1769 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1770 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1771 tool="$rootdir/tools/scramble -add=e2v2"
1772 output="rockbox.sansa"
1773 bootoutput="bootloader-e200v2.sansa"
1774 appextra="recorder:gui"
1775 plugins="yes"
1776 swcodec="yes"
1777 toolset=$scramblebitmaptools
1778 t_cpu="arm"
1779 t_manufacturer="as3525"
1780 t_model="sansa-e200v2"
1781 arm9tdmicc
1785 57|m200v4)
1786 target_id=52
1787 modelname="m200v4"
1788 target="-DSANSA_M200V4"
1789 memory=2
1790 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1791 bmp2rb_native="$bmp2rb_mono"
1792 tool="$rootdir/tools/scramble -add=m2v4"
1793 output="rockbox.sansa"
1794 bootoutput="bootloader-m200v4.sansa"
1795 appextra="recorder:gui"
1796 plugins="yes"
1797 swcodec="yes"
1798 toolset=$scramblebitmaptools
1799 t_cpu="arm"
1800 t_manufacturer="as3525"
1801 t_model="sansa-m200v4"
1802 arm9tdmicc
1806 58|fuze)
1807 target_id=53
1808 modelname="fuze"
1809 target="-DSANSA_FUZE"
1810 memory=8
1811 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1812 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1813 tool="$rootdir/tools/scramble -add=fuze"
1814 output="rockbox.sansa"
1815 bootoutput="bootloader-fuze.sansa"
1816 appextra="recorder:gui"
1817 plugins="yes"
1818 swcodec="yes"
1819 toolset=$scramblebitmaptools
1820 t_cpu="arm"
1821 t_manufacturer="as3525"
1822 t_model="sansa-fuze"
1823 arm9tdmicc
1827 59|c200v2)
1828 target_id=55
1829 modelname="c200v2"
1830 target="-DSANSA_C200V2"
1831 memory=2 # as per OF diagnosis mode
1832 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1833 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1834 tool="$rootdir/tools/scramble -add=c2v2"
1835 output="rockbox.sansa"
1836 bootoutput="bootloader-c200v2.sansa"
1837 appextra="recorder:gui"
1838 plugins="yes"
1839 swcodec="yes"
1840 # toolset is the tools within the tools directory that we build for
1841 # this particular target.
1842 toolset=$scramblebitmaptools
1843 # architecture, manufacturer and model for the target-tree build
1844 t_cpu="arm"
1845 t_manufacturer="as3525"
1846 t_model="sansa-c200v2"
1847 arm9tdmicc
1850 60|Clipv2|clipv2)
1851 echo "Sansa Clipv2 is not yet supported !"
1852 exit 1
1853 target_id=60
1854 modelname="clipv2"
1855 target="-DSANSA_CLIPV2"
1856 memory=8
1857 arm926ejscc
1858 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1859 bmp2rb_native="$bmp2rb_mono"
1860 tool="$rootdir/tools/scramble -add=clv2"
1861 output="rockbox.sansa"
1862 bootoutput="bootloader-clipv2.sansa"
1863 appextra="recorder:gui"
1864 plugins="yes"
1865 swcodec="yes"
1866 toolset=$scramblebitmaptools
1867 t_cpu="arm"
1868 t_manufacturer="as3525"
1869 t_model="sansa-clipv2"
1872 150|tpj1022)
1873 target_id=25
1874 modelname="tpj1022"
1875 target="-DELIO_TPJ1022"
1876 memory=32 # always
1877 arm7tdmicc
1878 tool="$rootdir/tools/scramble -add tpj2"
1879 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1880 bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
1881 output="rockbox.elio"
1882 appextra="recorder:gui"
1883 plugins="yes"
1884 swcodec="yes"
1885 boottool="$rootdir/tools/scramble -mi4v2"
1886 bootoutput="pp5020.mi4"
1887 # toolset is the tools within the tools directory that we build for
1888 # this particular target.
1889 toolset=$scramblebitmaptools
1890 # architecture, manufacturer and model for the target-tree build
1891 t_cpu="arm"
1892 t_manufacturer="tatung"
1893 t_model="tpj1022"
1896 100|sa9200)
1897 target_id=41
1898 modelname="sa9200"
1899 target="-DPHILIPS_SA9200"
1900 memory=32 # supposedly
1901 arm7tdmicc
1902 tool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
1903 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1904 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1905 output="rockbox.mi4"
1906 appextra="recorder:gui"
1907 plugins=""
1908 swcodec="yes"
1909 boottool="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
1910 bootoutput="FWImage.ebn"
1911 # toolset is the tools within the tools directory that we build for
1912 # this particular target.
1913 toolset=$scramblebitmaptools
1914 # architecture, manufacturer and model for the target-tree build
1915 t_cpu="arm"
1916 t_manufacturer="philips"
1917 t_model="sa9200"
1920 101|hdd1630)
1921 target_id=43
1922 modelname="hdd1630"
1923 target="-DPHILIPS_HDD1630"
1924 memory=32 # supposedly
1925 arm7tdmicc
1926 tool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
1927 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1928 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1929 output="rockbox.mi4"
1930 appextra="recorder:gui"
1931 plugins="yes"
1932 swcodec="yes"
1933 boottool="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
1934 bootoutput="FWImage.ebn"
1935 # toolset is the tools within the tools directory that we build for
1936 # this particular target.
1937 toolset=$scramblebitmaptools
1938 # architecture, manufacturer and model for the target-tree build
1939 t_cpu="arm"
1940 t_manufacturer="philips"
1941 t_model="hdd1630"
1944 110|meizum6sl)
1945 target_id=49
1946 modelname="meizum6sl"
1947 target="-DMEIZU_M6SL"
1948 memory=16 # always
1949 arm940tbecc
1950 tool="cp"
1951 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1952 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1953 output="rockbox.meizu"
1954 appextra="recorder:gui"
1955 plugins="no" #FIXME
1956 swcodec="yes"
1957 toolset=$genericbitmaptools
1958 boottool="cp"
1959 bootoutput="rockboot.ebn"
1960 # architecture, manufacturer and model for the target-tree build
1961 t_cpu="arm"
1962 t_manufacturer="s5l8700"
1963 t_model="meizu-m6sl"
1966 111|meizum6sp)
1967 target_id=46
1968 modelname="meizum6sp"
1969 target="-DMEIZU_M6SP"
1970 memory=16 # always
1971 arm940tbecc
1972 tool="cp"
1973 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1974 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1975 output="rockbox.meizu"
1976 appextra="recorder:gui"
1977 plugins="no" #FIXME
1978 swcodec="yes"
1979 toolset=$genericbitmaptools
1980 boottool="cp"
1981 bootoutput="rockboot.ebn"
1982 # architecture, manufacturer and model for the target-tree build
1983 t_cpu="arm"
1984 t_manufacturer="s5l8700"
1985 t_model="meizu-m6sp"
1988 112|meizum3)
1989 target_id=47
1990 modelname="meizum3"
1991 target="-DMEIZU_M3"
1992 memory=16 # always
1993 arm940tbecc
1994 tool="cp"
1995 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
1996 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
1997 output="rockbox.meizu"
1998 appextra="recorder:gui"
1999 plugins="no" #FIXME
2000 swcodec="yes"
2001 toolset=$genericbitmaptools
2002 boottool="cp"
2003 bootoutput="rockboot.ebn"
2004 # architecture, manufacturer and model for the target-tree build
2005 t_cpu="arm"
2006 t_manufacturer="s5l8700"
2007 t_model="meizu-m3"
2010 120|ondavx747)
2011 target_id=44
2012 modelname="ondavx747"
2013 target="-DONDA_VX747"
2014 memory=16
2015 mipselcc
2016 tool="$rootdir/tools/scramble -add=x747"
2017 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2018 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2019 output="rockbox.vx747"
2020 appextra="recorder:gui"
2021 plugins="yes"
2022 swcodec="yes"
2023 toolset=$genericbitmaptools
2024 boottool="cp"
2025 bootoutput="rockboot.vx747"
2026 # architecture, manufacturer and model for the target-tree build
2027 t_cpu="mips"
2028 t_manufacturer="ingenic_jz47xx"
2029 t_model="onda_vx747"
2032 121|ondavx767)
2033 target_id=45
2034 modelname="ondavx767"
2035 target="-DONDA_VX767"
2036 memory=16 #FIXME
2037 mipselcc
2038 tool="cp"
2039 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2040 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2041 output="rockbox.vx767"
2042 appextra="recorder:gui"
2043 plugins="" #FIXME
2044 swcodec="yes"
2045 toolset=$genericbitmaptools
2046 boottool="cp"
2047 bootoutput="rockboot.vx767"
2048 # architecture, manufacturer and model for the target-tree build
2049 t_cpu="mips"
2050 t_manufacturer="ingenic_jz47xx"
2051 t_model="onda_vx767"
2054 122|ondavx747p)
2055 target_id=54
2056 modelname="ondavx747p"
2057 target="-DONDA_VX747P"
2058 memory=16 #FIXME
2059 mipselcc
2060 tool="cp"
2061 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2062 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2063 output="rockbox.vx747p"
2064 appextra="recorder:gui"
2065 plugins="" #FIXME
2066 swcodec="yes"
2067 toolset=$genericbitmaptools
2068 boottool="cp"
2069 bootoutput="rockboot.vx747p"
2070 # architecture, manufacturer and model for the target-tree build
2071 t_cpu="mips"
2072 t_manufacturer="ingenic_jz47xx"
2073 t_model="onda_vx747"
2076 130|lyre_proto1)
2077 target_id=56
2078 modelname="lyre_proto1"
2079 target="-DLYRE_PROTO1"
2080 memory=64
2081 arm926ejscc
2082 tool="cp"
2083 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2084 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2085 output="rockbox.lyre"
2086 appextra="recorder:gui"
2087 plugins=""
2088 swcodec="yes"
2089 toolset=$scramblebitmaptools
2090 boottool="cp"
2091 bootoutput="bootloader-proto1.lyre"
2092 # architecture, manufacturer and model for the target-tree build
2093 t_cpu="arm"
2094 t_manufacturer="at91sam"
2095 t_model="lyre_proto1"
2098 140|yh_820)
2099 target_id=57
2100 modelname="yh_820"
2101 target="-DSAMSUNG_YH820"
2102 memory=32 # always
2103 arm7tdmicc
2104 tool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2105 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2106 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2107 output="rockbox.mi4"
2108 appextra="recorder:gui"
2109 plugins=""
2110 swcodec="yes"
2111 boottool="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2112 bootoutput="FW_YH820.mi4"
2113 # toolset is the tools within the tools directory that we build for
2114 # this particular target.
2115 toolset=$scramblebitmaptools
2116 # architecture, manufacturer and model for the target-tree build
2117 t_cpu="arm"
2118 t_manufacturer="samsung"
2119 t_model="yh820"
2122 141|yh_920)
2123 target_id=58
2124 modelname="yh_920"
2125 target="-DSAMSUNG_YH920"
2126 memory=32 # always
2127 arm7tdmicc
2128 tool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2129 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2130 bmp2rb_native="$rootdir/tools/bmp2rb -f 2"
2131 output="rockbox.mi4"
2132 appextra="recorder:gui"
2133 plugins=""
2134 swcodec="yes"
2135 boottool="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2136 bootoutput="PP5020.mi4"
2137 # toolset is the tools within the tools directory that we build for
2138 # this particular target.
2139 toolset=$scramblebitmaptools
2140 # architecture, manufacturer and model for the target-tree build
2141 t_cpu="arm"
2142 t_manufacturer="samsung"
2143 t_model="yh920"
2146 142|yh_925)
2147 target_id=59
2148 modelname="yh_925"
2149 target="-DSAMSUNG_YH925"
2150 memory=32 # always
2151 arm7tdmicc
2152 tool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2153 bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
2154 bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
2155 output="rockbox.mi4"
2156 appextra="recorder:gui"
2157 plugins=""
2158 swcodec="yes"
2159 boottool="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2160 bootoutput="FW_YH925.mi4"
2161 # toolset is the tools within the tools directory that we build for
2162 # this particular target.
2163 toolset=$scramblebitmaptools
2164 # architecture, manufacturer and model for the target-tree build
2165 t_cpu="arm"
2166 t_manufacturer="samsung"
2167 t_model="yh925"
2171 echo "Please select a supported target platform!"
2172 exit 7
2175 esac
2177 echo "Platform set to $modelname"
2180 #remove start
2181 ############################################################################
2182 # Amount of memory, for those that can differ. They have $memory unset at
2183 # this point.
2186 if [ -z "$memory" ]; then
2187 case $target_id in
2189 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2190 if [ "1" != `parse_args --ram` ]; then
2191 size=`parse_args --ram`;
2192 else
2193 size=`input`;
2195 case $size in
2196 60|64)
2197 memory="64"
2200 memory="32"
2202 esac
2205 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2206 if [ "1" != `parse_args --ram` ]; then
2207 size=`parse_args --ram`;
2208 else
2209 size=`input`;
2211 case $size in
2213 memory="8"
2216 memory="2"
2218 esac
2220 esac
2221 echo "Memory size selected: $memory MB"
2222 echo ""
2224 #remove end
2226 ##################################################################
2227 # Figure out build "type"
2230 # the ifp7x0 is the only platform that supports building a gdb stub like
2231 # this
2232 case $modelname in
2233 ifp7xx)
2234 gdbstub="(G)DB stub, "
2236 e200r|e200)
2237 gdbstub="(I)nstaller, "
2239 c200)
2240 gdbstub="(E)raser, "
2244 esac
2245 if [ "1" != `parse_args --type` ]; then
2246 btype=`parse_args --type`;
2247 else
2248 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, $gdbstub(M)anual: (Defaults to N)"
2249 btype=`input`;
2252 case $btype in
2253 [Ii])
2254 appsdir='\$(ROOTDIR)/bootloader'
2255 apps="bootloader"
2256 extradefines="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2257 bootloader="1"
2258 echo "e200R-installer build selected"
2260 [Ee])
2261 appsdir='\$(ROOTDIR)/bootloader'
2262 apps="bootloader"
2263 echo "C2(4)0 or C2(5)0"
2264 variant=`input`
2265 case $variant in
2267 extradefines="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2268 echo "c240 eraser build selected"
2271 extradefines="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2272 echo "c240 eraser build selected"
2274 esac
2275 bootloader="1"
2276 echo "c200 eraser build selected"
2278 [Bb])
2279 if test $t_manufacturer = "archos"; then
2280 # Archos SH-based players do this somewhat differently for
2281 # some reason
2282 appsdir='\$(ROOTDIR)/flash/bootbox'
2283 apps="bootbox"
2284 else
2285 appsdir='\$(ROOTDIR)/bootloader'
2286 apps="bootloader"
2287 flash=""
2288 if test -n "$boottool"; then
2289 tool="$boottool"
2291 if test -n "$bootoutput"; then
2292 output=$bootoutput
2295 extradefines="-DBOOTLOADER -ffunction-sections -fdata-sections"
2296 bootloader="1"
2297 echo "Bootloader build selected"
2299 [Ss])
2300 debug="-DDEBUG"
2301 simulator="yes"
2302 extradefines="-DSIMULATOR"
2303 archosrom=""
2304 flash=""
2305 echo "Simulator build selected"
2307 [Aa])
2308 echo "Advanced build selected"
2309 whichadvanced
2311 [Gg])
2312 extradefines="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2313 appsdir='\$(ROOTDIR)/gdb'
2314 apps="stub"
2315 case $modelname in
2316 ifp7xx)
2317 output="stub.wma"
2321 esac
2322 echo "GDB stub build selected"
2324 [Mm])
2325 toolset='';
2326 apps="manual"
2327 echo "Manual build selected"
2330 if [ "$modelname" = "e200r" ]; then
2331 echo "Do not use the e200R target for regular builds. Use e200 instead."
2332 exit 8
2334 debug=""
2335 btype="N" # set it explicitly since RET only gets here as well
2336 echo "Normal build selected"
2339 esac
2340 # to be able running "make manual" from non-manual configuration
2341 case $modelname in
2342 fmrecorder)
2343 manualdev="recorderv2fm"
2345 recorderv2)
2346 manualdev="recorderv2fm"
2348 h1??)
2349 manualdev="h100"
2351 ipodmini2g)
2352 manualdev="ipodmini"
2355 manualdev=$modelname
2357 esac
2359 if [ -z "$debug" ]; then
2360 GCCOPTS="$GCCOPTS $GCCOPTIMIZE"
2363 echo "Using source code root directory: $rootdir"
2365 # this was once possible to change at build-time, but no more:
2366 language="english"
2368 uname=`uname`
2370 if [ "yes" = "$simulator" ]; then
2371 # setup compiler and things for simulator
2372 simcc
2374 if [ -d "simdisk" ]; then
2375 echo "Subdirectory 'simdisk' already present"
2376 else
2377 mkdir simdisk
2378 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2382 # Now, figure out version number of the (gcc) compiler we are about to use
2383 gccver=`$CC -dumpversion`;
2385 # figure out the binutil version too and display it, mostly for the build
2386 # system etc to be able to see it easier
2387 if [ $uname = "Darwin" ]; then
2388 ldver=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2389 else
2390 ldver=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2393 if [ -z "$gccver" ]; then
2394 echo "WARNING: The compiler you must use ($CC) is not in your path!"
2395 echo "WARNING: this may cause your build to fail since we cannot do the"
2396 echo "WARNING: checks we want now."
2397 else
2399 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2400 # DEPEND on it
2402 num1=`echo $gccver | cut -d . -f1`
2403 num2=`echo $gccver | cut -d . -f2`
2404 gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2406 # This makes:
2407 # 3.3.X => 303
2408 # 3.4.X => 304
2409 # 2.95.3 => 295
2411 echo "Using $CC $gccver ($gccnum)"
2413 if test "$gccnum" -ge "400"; then
2414 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2415 # so we ignore that warnings for now
2416 # -Wno-pointer-sign
2417 GCCOPTS="$GCCOPTS -Wno-pointer-sign"
2420 if test "$gccnum" -ge "401"; then
2421 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2422 # will break strict-aliasing rules"
2424 GCCOPTS="$GCCOPTS -fno-strict-aliasing"
2427 if test "$gccnum" -ge "402"; then
2428 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2429 # and later would throw it for several valid cases
2430 GCCOPTS="$GCCOPTS -Wno-override-init"
2433 case $prefix in
2435 # simulator
2437 i586-mingw32msvc-)
2438 # cross-compile for win32
2441 # Verify that the cross-compiler is of a recommended version!
2442 if test "$gccver" != "$gccchoice"; then
2443 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2444 echo "WARNING: version $gccchoice!"
2445 echo "WARNING: This may cause your build to fail since it may be a version"
2446 echo "WARNING: that isn't functional or known to not be the best choice."
2447 echo "WARNING: If you suffer from build problems, you know that this is"
2448 echo "WARNING: a likely source for them..."
2451 esac
2456 echo "Using $LD $ldver"
2458 # check the compiler for SH platforms
2459 if test "$CC" = "sh-elf-gcc"; then
2460 if test "$gccnum" -lt "400"; then
2461 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2462 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2463 else
2464 # figure out patch status
2465 gccpatch=`$CC --version`;
2467 if { echo $gccpatch | grep "rockbox" >/dev/null 2>&1; } then
2468 echo "gcc $gccver is rockbox patched"
2469 # then convert -O to -Os to get smaller binaries!
2470 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2471 else
2472 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2473 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2478 if test "$CC" = "m68k-elf-gcc"; then
2479 # convert -O to -Os to get smaller binaries!
2480 GCCOPTS=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2483 if [ "1" != `parse_args --ccache` ]; then
2484 echo "Enable ccache for building"
2485 ccache="ccache"
2486 else
2487 if [ "1" = `parse_args --no-ccache` ]; then
2488 ccache=`findtool ccache`
2489 if test -n "$ccache"; then
2490 echo "Found and uses ccache ($ccache)"
2495 # figure out the full path to the various commands if possible
2496 HOSTCC=`findtool gcc --lit`
2497 HOSTAR=`findtool ar --lit`
2498 CC=`findtool ${CC} --lit`
2499 LD=`findtool ${AR} --lit`
2500 AR=`findtool ${AR} --lit`
2501 AS=`findtool ${AS} --lit`
2502 OC=`findtool ${OC} --lit`
2503 WINDRES=`findtool ${WINDRES} --lit`
2504 DLLTOOL=`findtool ${DLLTOOL} --lit`
2505 DLLWRAP=`findtool ${DLLWRAP} --lit`
2506 RANLIB=`findtool ${RANLIB} --lit`
2508 if test -n "$ccache"; then
2509 CC="$ccache $CC"
2512 if test "X$endian" = "Xbig"; then
2513 defendian="ROCKBOX_BIG_ENDIAN"
2514 else
2515 defendian="ROCKBOX_LITTLE_ENDIAN"
2518 if [ "1" != `parse_args --rbdir` ]; then
2519 rbdir=`parse_args --rbdir`;
2520 echo "Using alternate rockbox dir: ${rbdir}"
2523 sed > autoconf.h \
2524 -e "s,@ENDIAN@,${defendian},g" \
2525 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2526 -e "s,@config_rtc@,$config_rtc,g" \
2527 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2528 -e "s,@RBDIR@,${rbdir},g" \
2529 -e "s,@have_backlight@,$have_backlight,g" \
2530 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2531 <<EOF
2532 /* This header was made by configure */
2533 #ifndef __BUILD_AUTOCONF_H
2534 #define __BUILD_AUTOCONF_H
2536 /* Define endianess for the target or simulator platform */
2537 #define @ENDIAN@ 1
2539 /* Define this if you build rockbox to support the logf logging and display */
2540 #undef ROCKBOX_HAS_LOGF
2542 /* optional define for a backlight modded Ondio */
2543 @have_backlight@
2545 /* optional define for FM radio mod for iAudio M5 */
2546 @have_fmradio_in@
2548 /* optional defines for RTC mod for h1x0 */
2549 @config_rtc@
2550 @have_rtc_alarm@
2552 /* root of Rockbox */
2553 #define ROCKBOX_DIR "/@RBDIR@"
2555 #endif /* __BUILD_AUTOCONF_H */
2558 if test -n "$t_cpu"; then
2559 TARGET_INC="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2560 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2561 TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2562 GCCOPTS="$GCCOPTS"
2565 if test "$simulator" = "yes"; then
2566 # add simul make stuff on the #SIMUL# line
2567 simmagic1="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2568 simmagic2="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2569 else
2570 # delete the lines that match
2571 simmagic1='/@SIMUL1@/D'
2572 simmagic2='/@SIMUL2@/D'
2575 if test "$swcodec" = "yes"; then
2576 voicetoolset="rbspeexenc voicefont wavtrim"
2577 else
2578 voicetoolset="voicefont wavtrim"
2581 if test "$apps" = "apps"; then
2582 # only when we build "real" apps we build the .lng files
2583 buildlangs="langs"
2586 #### Fix the cmdline ###
2587 if test -n "$ccache"; then
2588 cmdline="--ccache"
2591 cmdline="$cmdline --target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype"
2594 ### end of cmdline
2596 sed > Makefile \
2597 -e "s,@ROOTDIR@,${rootdir},g" \
2598 -e "s,@DEBUG@,${debug},g" \
2599 -e "s,@MEMORY@,${memory},g" \
2600 -e "s,@TARGET_ID@,${target_id},g" \
2601 -e "s,@TARGET@,${target},g" \
2602 -e "s,@CPU@,${t_cpu},g" \
2603 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2604 -e "s,@MODELNAME@,${modelname},g" \
2605 -e "s,@LANGUAGE@,${language},g" \
2606 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2607 -e "s,@PWD@,${pwd},g" \
2608 -e "s,@HOSTCC@,${HOSTCC},g" \
2609 -e "s,@HOSTAR@,${HOSTAR},g" \
2610 -e "s,@CC@,${CC},g" \
2611 -e "s,@LD@,${LD},g" \
2612 -e "s,@AR@,${AR},g" \
2613 -e "s,@AS@,${AS},g" \
2614 -e "s,@OC@,${OC},g" \
2615 -e "s,@WINDRES@,${WINDRES},g" \
2616 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2617 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2618 -e "s,@RANLIB@,${RANLIB},g" \
2619 -e "s,@TOOL@,${tool},g" \
2620 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2621 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2622 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2623 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2624 -e "s,@OUTPUT@,${output},g" \
2625 -e "s,@APPEXTRA@,${appextra},g" \
2626 -e "s,@ARCHOSROM@,${archosrom},g" \
2627 -e "s,@FLASHFILE@,${flash},g" \
2628 -e "s,@PLUGINS@,${plugins},g" \
2629 -e "s,@CODECS@,${swcodec},g" \
2630 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2631 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2632 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2633 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2634 -e "s!@LDOPTS@!${LDOPTS}!g" \
2635 -e "s,@LOADADDRESS@,${loadaddress},g" \
2636 -e "s,@EXTRADEF@,${extradefines},g" \
2637 -e "s,@APPSDIR@,${appsdir},g" \
2638 -e "s,@FIRMDIR@,${firmdir},g" \
2639 -e "s,@TOOLSDIR@,${toolsdir},g" \
2640 -e "s,@APPS@,${apps},g" \
2641 -e "s,@SIMVER@,${simver},g" \
2642 -e "s,@GCCVER@,${gccver},g" \
2643 -e "s,@GCCNUM@,${gccnum},g" \
2644 -e "s,@UNAME@,${uname},g" \
2645 -e "s,@ENDIAN@,${defendian},g" \
2646 -e "s,@TOOLSET@,${toolset},g" \
2647 -e "${simmagic1}" \
2648 -e "${simmagic2}" \
2649 -e "s,@MANUALDEV@,${manualdev},g" \
2650 -e "s,@ENCODER@,${ENC_CMD},g" \
2651 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2652 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2653 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2654 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2655 -e "s,@LANGS@,${buildlangs},g" \
2656 -e "s,@USE_ELF@,${USE_ELF},g" \
2657 -e "s,@RBDIR@,${rbdir},g" \
2658 -e "s,@PREFIX@,$PREFIX,g" \
2659 -e "s,@CMDLINE@,$cmdline,g" \
2660 <<EOF
2661 ## Automatically generated. http://www.rockbox.org/
2663 export ROOTDIR=@ROOTDIR@
2664 export FIRMDIR=@FIRMDIR@
2665 export APPSDIR=@APPSDIR@
2666 export TOOLSDIR=@TOOLSDIR@
2667 export DOCSDIR=\$(ROOTDIR)/docs
2668 export MANUALDIR=\${ROOTDIR}/manual
2669 export DEBUG=@DEBUG@
2670 export MODELNAME=@MODELNAME@
2671 export ARCHOSROM=@ARCHOSROM@
2672 export FLASHFILE=@FLASHFILE@
2673 export TARGET_ID=@TARGET_ID@
2674 export TARGET=@TARGET@
2675 export CPU=@CPU@
2676 export MANUFACTURER=@MANUFACTURER@
2677 export OBJDIR=@PWD@
2678 export BUILDDIR=@PWD@
2679 export LANGUAGE=@LANGUAGE@
2680 export VOICELANGUAGE=@VOICELANGUAGE@
2681 export MEMORYSIZE=@MEMORY@
2682 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2683 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2684 export MKFIRMWARE=@TOOL@
2685 export BMP2RB_MONO=@BMP2RB_MONO@
2686 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2687 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2688 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2689 export BINARY=@OUTPUT@
2690 export APPEXTRA=@APPEXTRA@
2691 export ENABLEDPLUGINS=@PLUGINS@
2692 export SOFTWARECODECS=@CODECS@
2693 export EXTRA_DEFINES=@EXTRADEF@
2694 export HOSTCC=@HOSTCC@
2695 export HOSTAR=@HOSTAR@
2696 export CC=@CC@
2697 export LD=@LD@
2698 export AR=@AR@
2699 export AS=@AS@
2700 export OC=@OC@
2701 export WINDRES=@WINDRES@
2702 export DLLTOOL=@DLLTOOL@
2703 export DLLWRAP=@DLLWRAP@
2704 export RANLIB=@RANLIB@
2705 export PREFIX=@PREFIX@
2706 export PROFILE_OPTS=@PROFILE_OPTS@
2707 export SIMVER=@SIMVER@
2708 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2709 export GCCOPTS=@GCCOPTS@
2710 export TARGET_INC=@TARGET_INC@
2711 export LOADADDRESS=@LOADADDRESS@
2712 export SHARED_FLAG=@SHARED_FLAG@
2713 export LDOPTS=@LDOPTS@
2714 export GCCVER=@GCCVER@
2715 export GCCNUM=@GCCNUM@
2716 export UNAME=@UNAME@
2717 export MANUALDEV=@MANUALDEV@
2718 export TTS_OPTS=@TTS_OPTS@
2719 export TTS_ENGINE=@TTS_ENGINE@
2720 export ENC_OPTS=@ENC_OPTS@
2721 export ENCODER=@ENCODER@
2722 export USE_ELF=@USE_ELF@
2723 export RBDIR=@RBDIR@
2725 CONFIGURE_OPTIONS=@CMDLINE@
2727 include \$(TOOLSDIR)/root.make
2731 echo "Created Makefile"