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