3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 # global CC options for all platforms
12 CCOPTS
="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe"
14 use_logf
="#undef ROCKBOX_HAS_LOGF"
15 use_bootchart
="#undef DO_BOOTCHART"
17 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
22 # Begin Function Definitions
32 WINDRES
=${prefix}windres
33 DLLTOOL
=${prefix}dlltool
34 DLLWRAP
=${prefix}dllwrap
35 RANLIB
=${prefix}ranlib
43 models_not_checked_with_eabi
="ipodnano1g ipod3g ipod4g ipodmini1g ipod1g2g vibe500 cowond2"
44 if [ "$ARG_ARM_EABI" != 1 ]; then # eabi not explicitely enabled
45 for model
in $models_not_checked_with_eabi; do
46 if [ "$modelname" = "$model" ]; then
48 echo "**************************************************************"
49 echo "**** Target $modelname is using non EABI compiler !"
50 echo "**** Please test a build with --eabi and enable"
51 echo "**** EABI compiler for this target"
52 echo "**************************************************************"
57 if [ "$ARG_ARM_EABI" != "0" ]; then
58 prefixtools arm-elf-eabi-
66 # scan the $PATH for the given command
73 # echo "checks for $file in $path" >&2
74 if test -f "$path/$file"; then
79 # check whether caller wants literal return value if not found
80 if [ "$2" = "--lit" ]; then
85 # scan the $PATH for sdl-config - check whether for a (cross-)win32
94 #echo "checks for $file in $path" >&2
95 if test -f "$path/$file"; then
96 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
97 if [ "yes" = "${winbuild}" ]; then
102 if [ "yes" != "${winbuild}" ]; then
113 # default tool setup for native building
114 prefixtools
"$CROSS_COMPILE"
115 ARG_ARM_THUMB
=0 # can't use thumb in native builds
118 winbuild
="$crosscompile"
119 GCCOPTS
='-W -Wall -g -fno-builtin'
123 # default output binary name
126 # default share option, override below if needed
127 SHARED_FLAG
="-shared"
131 echo "Cygwin host detected"
134 output
="rockboxui.exe"
139 echo "MinGW host detected"
142 output
="rockboxui.exe"
147 echo "Linux host detected"
151 echo "FreeBSD host detected"
155 echo "Darwin host detected"
157 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
161 echo "*Solaris host detected"
163 GCCOPTS
="$GCCOPTS -fPIC"
168 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
173 sdl
=`findsdl $winbuild`
175 if [ $1 = "sdl" ]; then
176 if [ -z "$sdl" ]; then
177 echo "configure didn't find sdl-config, which indicates that you"
178 echo "don't have SDL (properly) installed. Please correct and"
179 echo "re-run configure!"
182 # generic sdl-config checker
183 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
184 LDOPTS
="$LDOPTS `$sdl --libs`"
188 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
190 if test "X$crosscompile" != "Xyes"; then
193 # fPIC is needed to make shared objects link
194 # setting visibility to hidden is necessary to avoid strange crashes
195 # due to symbol clashing
196 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
197 # x86_64 supports MMX by default
201 echo "Enabling MMX support"
202 GCCOPTS
="$GCCOPTS -mmmx"
207 cat >$tmpdir/conftest-
$id.c
<<EOF
209 int main(int argc, char **argv)
212 char *varp = (char *)&var;
220 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
222 # when cross compiling, the endianess cannot be detected because the above program doesn't run
223 # on the local machine. assume little endian but print a warning
224 endian
=`$tmpdir/conftest-$id 2> /dev/null`
225 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
233 if [ "$CROSS_COMPILE" != "" ]; then
234 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
237 if [ $1 = "sdl" ]; then
238 echo "Simulator environment deemed $endian endian"
239 elif [ $1 = "checkwps" ]; then
240 echo "CheckWPS environment deemed $endian endian"
243 # use wildcard here to make it work even if it was named *.exe like
245 rm -f $tmpdir/conftest-
$id*
247 # We are crosscompiling
248 # add cross-compiler option(s)
249 prefixtools i586-mingw32msvc-
250 LDOPTS
="$LDOPTS -mconsole"
251 output
="rockboxui.exe"
252 endian
="little" # windows is little endian
253 echo "Enabling MMX support"
254 GCCOPTS
="$GCCOPTS -mmmx"
259 # functions for setting up cross-compiler names and options
260 # also set endianess and what the exact recommended gcc version is
261 # the gcc version should most likely match what versions we build with
266 GCCOPTS
="$CCOPTS -m1"
267 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
273 prefixtools calmrisc16-unknown-elf-
274 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
275 GCCOPTIMIZE
="-fomit-frame-pointer"
280 prefixtools m68k-elf-
281 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
282 GCCOPTIMIZE
="-fomit-frame-pointer"
289 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
290 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
291 GCCOPTS
="$GCCOPTS -mlong-calls"
293 GCCOPTIMIZE
="-fomit-frame-pointer"
299 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
300 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
301 GCCOPTS
="$GCCOPTS -mlong-calls"
303 GCCOPTIMIZE
="-fomit-frame-pointer"
309 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
310 if test "$ARG_ARM_EABI" = "0"; then
311 GCCOPTS
="$GCCOPTS -mlong-calls"
313 GCCOPTIMIZE
="-fomit-frame-pointer"
319 GCCOPTS
="$CCOPTS -mcpu=arm940t"
320 if test "$ARG_ARM_EABI" = "0"; then
321 GCCOPTS
="$GCCOPTS -mlong-calls"
323 GCCOPTIMIZE
="-fomit-frame-pointer"
329 GCCOPTS
="$CCOPTS -mcpu=arm9e"
330 if test "$ARG_ARM_EABI" = "0"; then
331 GCCOPTS
="$GCCOPTS -mlong-calls"
333 GCCOPTIMIZE
="-fomit-frame-pointer"
339 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
340 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
341 GCCOPTS
="$GCCOPTS -mlong-calls"
343 GCCOPTIMIZE
="-fomit-frame-pointer"
349 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
350 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
351 GCCOPTS
="$GCCOPTS -mlong-calls"
353 GCCOPTIMIZE
="-fomit-frame-pointer"
359 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
360 if test "$ARG_ARM_EABI" = "0"; then
361 GCCOPTS
="$GCCOPTS -mlong-calls"
363 GCCOPTIMIZE
="-fomit-frame-pointer"
368 prefixtools mipsel-elf-
369 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
370 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
371 GCCOPTIMIZE
="-fomit-frame-pointer"
377 atype
=`echo "$1" | cut -c 2-`
378 ##################################################################
379 # Prompt for specific developer options
381 if [ "$atype" ]; then
386 echo "Enter your developer options (press enter when done)"
387 printf "(D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile, (T)est plugins"
388 if [ "$memory" = "2" ]; then
391 if [ "$modelname" = "archosplayer" ]; then
392 printf ", Use (A)TA poweroff"
394 if [ "$t_model" = "ondio" ]; then
395 printf ", (B)acklight MOD"
397 if [ "$modelname" = "iaudiom5" ]; then
398 printf ", (F)M radio MOD"
400 if [ "$modelname" = "iriverh120" ]; then
407 while [ $cont = "1" ]; do
409 if [ "$interact" ]; then
412 option
=`echo "$atype" | cut -c 1`
417 if [ "yes" = "$profile" ]; then
418 echo "Debug is incompatible with profiling"
420 echo "DEBUG build enabled"
425 echo "logf() support enabled"
429 echo "Including test plugins"
430 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
433 echo "bootchart enabled (logf also enabled)"
438 echo "Simulator build enabled"
442 if [ "yes" = "$use_debug" ]; then
443 echo "Profiling is incompatible with debug"
445 echo "Profiling support is enabled"
450 echo "Voice build selected"
454 if [ "$memory" = "2" ]; then
456 echo "Memory size selected: 8MB"
460 if [ "$modelname" = "archosplayer" ]; then
461 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
462 echo "ATA power off enabled"
466 if [ "$t_model" = "ondio" ]; then
467 have_backlight
="#define HAVE_BACKLIGHT"
468 echo "Backlight functions enabled"
472 if [ "$modelname" = "iaudiom5" ]; then
473 have_fmradio_in
="#define HAVE_FMRADIO_IN"
474 echo "FM radio functions enabled"
478 if [ "$modelname" = "iriverh120" ]; then
479 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
480 have_rtc_alarm
="#define HAVE_RTC_ALARM"
481 echo "RTC functions enabled (DS1339/DS3231)"
485 echo "Enabling Windows 32 cross-compiling"
489 if [ "$interact" ]; then
492 echo "[ERROR] Option $option unsupported"
496 if [ "$interact" ]; then
497 btype
="$btype$option"
499 atype
=`echo "$atype" | cut -c 2-`
500 [ "$atype" ] || cont
=0
505 if [ "yes" = "$voice" ]; then
506 # Ask about languages to build
508 voicelanguage
=`whichlang`
509 echo "Voice language set to $voicelanguage"
511 # Configure encoder and TTS engine for each language
512 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
513 voiceconfig
"$thislang"
516 if [ "yes" = "$use_debug" ]; then
518 GCCOPTS
="$GCCOPTS -g -DDEBUG"
520 if [ "yes" = "$logf" ]; then
521 use_logf
="#define ROCKBOX_HAS_LOGF 1"
523 if [ "yes" = "$bootchart" ]; then
524 use_bootchart
="#define DO_BOOTCHART 1"
526 if [ "yes" = "$simulator" ]; then
528 extradefines
="$extradefines -DSIMULATOR"
532 if [ "yes" = "$profile" ]; then
533 extradefines
="$extradefines -DRB_PROFILE"
534 PROFILE_OPTS
="-finstrument-functions"
538 # Configure voice settings
541 if [ ! "$ARG_TTS" ]; then
542 echo "Building $thislang voice for $modelname. Select options"
546 if [ -n "`findtool flite`" ]; then
550 DEFAULT_TTS_OPTS
=$FLITE_OPTS
551 DEFAULT_NOISEFLOOR
="500"
554 if [ -n "`findtool espeak`" ]; then
558 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
559 DEFAULT_NOISEFLOOR
="500"
562 if [ -n "`findtool festival`" ]; then
563 FESTIVAL
="(F)estival "
566 FESTIVAL_OPTS
="--language italian"
569 FESTIVAL_OPTS
="--language spanish"
572 FESTIVAL_OPTS
="--language finnish"
575 FESTIVAL_OPTS
="--language czech"
581 DEFAULT_TTS
="festival"
582 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
583 DEFAULT_NOISEFLOOR
="500"
586 if [ -n "`findtool swift`" ]; then
590 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
591 DEFAULT_NOISEFLOOR
="500"
594 # Allow SAPI if Windows is in use
595 if [ -n "`findtool winver`" ]; then
599 DEFAULT_TTS_OPTS
=$SAPI_OPTS
600 DEFAULT_NOISEFLOOR
="500"
604 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
605 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
609 if [ "$ARG_TTS" ]; then
612 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
615 advopts
="$advopts --tts=$option"
619 NOISEFLOOR
="500" # TODO: check this value
625 TTS_OPTS
=$ESPEAK_OPTS
628 TTS_ENGINE
="festival"
630 TTS_OPTS
=$FESTIVAL_OPTS
643 TTS_ENGINE
=$DEFAULT_TTS
644 TTS_OPTS
=$DEFAULT_TTS_OPTS
645 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
647 echo "Using $TTS_ENGINE for TTS"
649 # Select which voice to use for Festival
650 if [ "$TTS_ENGINE" = "festival" ]; then
651 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
652 for voice
in $voicelist; do
653 TTS_FESTIVAL_VOICE
="$voice" # Default choice
656 if [ "$ARG_VOICE" ]; then
660 for voice
in $voicelist; do
661 printf "%3d. %s\n" "$i" "$voice"
664 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
668 for voice
in $voicelist; do
669 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
670 TTS_FESTIVAL_VOICE
="$voice"
674 advopts
="$advopts --voice=$CHOICE"
675 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
676 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
679 # Read custom tts options from command line
680 if [ "$ARG_TTSOPTS" ]; then
681 TTS_OPTS
="$ARG_TTSOPTS"
682 advopts
="$advopts --ttsopts='$TTS_OPTS'"
683 echo "$TTS_ENGINE options set to $TTS_OPTS"
686 if [ "$swcodec" = "yes" ]; then
689 ENC_OPTS
="-q 4 -c 10"
691 if [ -n "`findtool lame`" ]; then
694 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
696 echo "You need LAME in the system path to build voice files for"
697 echo "HWCODEC targets."
702 echo "Using $ENCODER for encoding voice clips"
704 # Read custom encoder options from command line
705 if [ "$ARG_ENCOPTS" ]; then
706 ENC_OPTS
="$ARG_ENCOPTS"
707 advopts
="$advopts --encopts='$ENC_OPTS'"
708 echo "$ENCODER options set to $ENC_OPTS"
712 if [ -n "`findtool cygpath`" ]; then
713 TEMPDIR
=`cygpath . -a -w`
718 # figure out which languages that are around
719 for file in $rootdir/apps
/lang
/*.lang
; do
720 clean
=`basename $file .lang`
721 langs
="$langs $clean"
724 if [ "$ARG_LANG" ]; then
727 echo "Select a number for the language to use (default is english)"
728 # FIXME The multiple-language feature is currently broken
729 # echo "You may enter a comma-separated list of languages to build"
732 for one
in $langs; do
738 advopts
="$advopts --language=$pick"
743 # Allow the user to pass a comma-separated list of langauges
744 for thispick
in `echo $pick | sed 's/,/ /g'`; do
746 for one
in $langs; do
747 # Accept both the language number and name
748 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
749 if [ "$output" = "" ]; then
758 if [ -z "$output" ]; then
766 echo "Rockbox configure script."
767 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
768 echo "Do *NOT* run this within the tools directory!"
771 Usage: configure [OPTION]...
773 --target=TARGET Sets the target, TARGET can be either the target ID or
774 corresponding string. Run without this option to see all
777 --ram=RAM Sets the RAM for certain targets. Even though any number
778 is accepted, not every number is correct. The default
779 value will be applied, if you entered a wrong number
780 (which depends on the target). Watch the output. Run
781 without this option if you are not sure which the right
784 --type=TYPE Sets the build type. Shortcuts are also valid.
785 Run without this option to see all available types.
786 Multiple values are allowed and managed in the input
787 order. So --type=b stands for Bootloader build, while
788 --type=ab stands for "Backlight MOD" build.
790 --language=LANG Set the language used for voice generation (used only if
793 --tts=ENGINE Set the TTS engine used for voice generation (used only
796 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
799 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
801 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
803 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
804 This is useful for having multiple alternate builds on
805 your device that you can load with ROLO. However as the
806 bootloader looks for .rockbox you won't be able to boot
809 --ccache Enable ccache use (done by default these days)
810 --no-ccache Disable ccache use
812 --eabi Make configure prefer toolchains that are able to compile
813 for the new ARM standard abi EABI
814 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
815 --thumb Build with -mthumb (for ARM builds)
816 --no-thumb The opposite of --thumb (don't use thumb even for targets
817 where this is the default
818 --help Shows this message (must not be used with other options)
840 --ccache) ARG_CCACHE
=1;;
841 --no-ccache) ARG_CCACHE
=0;;
842 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
843 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
844 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
845 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
846 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
847 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
848 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
849 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
850 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
851 --eabi) ARG_ARM_EABI
=1;;
852 --no-eabi) ARG_ARM_EABI
=0;;
853 --thumb) ARG_ARM_THUMB
=1;;
854 --no-thumb) ARG_ARM_THUMB
=0;;
856 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
863 if [ "$TMPDIR" != "" ]; then
868 echo Using temporary directory
$tmpdir
870 if test -r "configure"; then
871 # this is a check for a configure script in the current directory, it there
872 # is one, try to figure out if it is this one!
874 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
875 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
876 echo "It will only cause you pain and grief. Instead do this:"
879 echo " mkdir build-dir"
881 echo " ../tools/configure"
883 echo "Much happiness will arise from this. Enjoy"
888 # get our current directory
891 if { echo $pwd |
grep " "; } then
892 echo "You're running this script in a path that contains space. The build"
893 echo "system is unfortunately not clever enough to deal with this. Please"
894 echo "run the script from a different path, rename the path or fix the build"
899 if [ -z "$rootdir" ]; then
900 ##################################################################
901 # Figure out where the source code root is!
903 rootdir
=`dirname $0`/..
/
905 #####################################################################
906 # Convert the possibly relative directory name to an absolute version
912 # cd back to the build dir
917 appsdir
='\$(ROOTDIR)/apps'
918 firmdir
='\$(ROOTDIR)/firmware'
919 toolsdir
='\$(ROOTDIR)/tools'
922 ##################################################################
923 # Figure out target platform
926 if [ "$ARG_TARGET" ]; then
929 echo "Enter target platform:"
931 ==Archos== ==iriver== ==Apple iPod==
932 0) Player/Studio 10) H120/H140 20) Color/Photo
933 1) Recorder 11) H320/H340 21) Nano 1G
934 2) FM Recorder 12) iHP-100/110/115 22) Video
935 3) Recorder v2 13) iFP-790 23) 3G
936 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
937 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
939 ==Toshiba== 27) 1G, 2G
940 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
941 30) X5/X5V/X5L 41) Gigabeat S
942 31) M5/M5L ==SanDisk==
943 32) 7 ==Olympus= 50) Sansa e200
944 33) D2 70) M:Robe 500 51) Sansa e200R
945 34) M3/M3L 71) M:Robe 100 52) Sansa c200
947 ==Creative== ==Philips== 54) Sansa c100
948 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
949 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
950 92) Zen Vision HDD1830 57) Sansa m200v4
951 102) GoGear HDD6330 58) Sansa Fuze
952 ==Onda== 59) Sansa c200v2
953 120) VX747 ==Meizu== 60) Sansa Clipv2
954 121) VX767 110) M6SL 61) Sansa View
955 122) VX747+ 111) M6SP 62) Sansa Clip+
956 123) VX777 112) M3 63) Sansa Fuze v2
959 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
960 140) YH-820 150) Elio TPJ-1022
961 141) YH-920 ==Lyre project==
962 142) YH-925 ==Packard Bell== 130) Lyre proto 1
963 143) YP-S3 160) Vibe 500 131) Mini2440
972 # Set of tools built for all target platforms:
973 toolset
="rdf2binary convbdf codepages"
975 # Toolsets for some target families:
976 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
977 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
978 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
979 ipodbitmaptools
="$toolset scramble bmp2rb"
980 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
981 tccbitmaptools
="$toolset scramble bmp2rb"
982 # generic is used by IFP, Meizu and Onda
983 genericbitmaptools
="$toolset bmp2rb"
984 # scramble is used by all other targets
985 scramblebitmaptools
="$genericbitmaptools scramble"
988 # ---- For each target ----
991 # target_id: a unique number identifying this target, IS NOT the menu number.
992 # Just use the currently highest number+1 when you add a new
994 # modelname: short model name used all over to identify this target
995 # memory: number of megabytes of RAM this target has. If the amount can
996 # be selected by the size prompt, let memory be unset here
997 # target: -Ddefine passed to the build commands to make the correct
998 # config-*.h file get included etc
999 # tool: the tool that takes a plain binary and converts that into a
1000 # working "firmware" file for your target
1001 # output: the final output file name
1002 # boottool: the tool that takes a plain binary and generates a bootloader
1003 # file for your target (or blank to use $tool)
1004 # bootoutput:the final output file name for the bootloader (or blank to use
1006 # appextra: passed to the APPEXTRA variable in the Makefiles.
1007 # TODO: add proper explanation
1008 # archosrom: used only for Archos targets that build a special flashable .ucl
1010 # flash: name of output for flashing, for targets where there's a special
1011 # file output for this.
1012 # plugins: set to 'yes' to build the plugins. Early development builds can
1013 # set this to no in the early stages to have an easier life for a
1015 # swcodec: set 'yes' on swcodec targets
1016 # toolset: lists what particular tools in the tools/ directory that this
1017 # target needs to have built prior to building Rockbox
1020 # *cc: sets up gcc and compiler options for your target builds. Note
1021 # that if you select a simulator build, the compiler selection is
1022 # overridden later in the script.
1028 modelname
="archosplayer"
1029 target
="-DARCHOS_PLAYER"
1031 tool
="$rootdir/tools/scramble"
1033 appextra
="player:gui"
1034 archosrom
="$pwd/rombox.ucl"
1035 flash
="$pwd/rockbox.ucl"
1039 # toolset is the tools within the tools directory that we build for
1040 # this particular target.
1041 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1043 # Note: the convbdf is present in the toolset just because: 1) the
1044 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1045 # build the player simulator
1048 t_manufacturer
="archos"
1054 modelname
="archosrecorder"
1055 target
="-DARCHOS_RECORDER"
1057 tool
="$rootdir/tools/scramble"
1058 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1059 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1061 appextra
="recorder:gui:radio"
1062 #archosrom="$pwd/rombox.ucl"
1063 flash
="$pwd/rockbox.ucl"
1066 # toolset is the tools within the tools directory that we build for
1067 # this particular target.
1068 toolset
=$archosbitmaptools
1070 t_manufacturer
="archos"
1076 modelname
="archosfmrecorder"
1077 target
="-DARCHOS_FMRECORDER"
1079 tool
="$rootdir/tools/scramble -fm"
1080 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1081 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1083 appextra
="recorder:gui:radio"
1084 #archosrom="$pwd/rombox.ucl"
1085 flash
="$pwd/rockbox.ucl"
1088 # toolset is the tools within the tools directory that we build for
1089 # this particular target.
1090 toolset
=$archosbitmaptools
1092 t_manufacturer
="archos"
1098 modelname
="archosrecorderv2"
1099 target
="-DARCHOS_RECORDERV2"
1101 tool
="$rootdir/tools/scramble -v2"
1102 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1103 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1105 appextra
="recorder:gui:radio"
1106 #archosrom="$pwd/rombox.ucl"
1107 flash
="$pwd/rockbox.ucl"
1110 # toolset is the tools within the tools directory that we build for
1111 # this particular target.
1112 toolset
=$archosbitmaptools
1114 t_manufacturer
="archos"
1120 modelname
="archosondiosp"
1121 target
="-DARCHOS_ONDIOSP"
1123 tool
="$rootdir/tools/scramble -osp"
1124 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1125 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1127 appextra
="recorder:gui:radio"
1128 #archosrom="$pwd/rombox.ucl"
1129 flash
="$pwd/rockbox.ucl"
1132 # toolset is the tools within the tools directory that we build for
1133 # this particular target.
1134 toolset
=$archosbitmaptools
1136 t_manufacturer
="archos"
1142 modelname
="archosondiofm"
1143 target
="-DARCHOS_ONDIOFM"
1145 tool
="$rootdir/tools/scramble -ofm"
1146 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1147 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1149 appextra
="recorder:gui:radio"
1150 #archosrom="$pwd/rombox.ucl"
1151 flash
="$pwd/rockbox.ucl"
1154 toolset
=$archosbitmaptools
1156 t_manufacturer
="archos"
1162 modelname
="archosav300"
1163 target
="-DARCHOS_AV300"
1166 tool
="$rootdir/tools/scramble -mm=C"
1167 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1168 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1170 appextra
="recorder:gui:radio"
1173 # toolset is the tools within the tools directory that we build for
1174 # this particular target.
1175 toolset
="$toolset scramble descramble bmp2rb"
1176 # architecture, manufacturer and model for the target-tree build
1178 t_manufacturer
="archos"
1184 modelname
="iriverh120"
1185 target
="-DIRIVER_H120"
1188 tool
="$rootdir/tools/scramble -add=h120"
1189 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1190 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1191 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1192 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1193 output
="rockbox.iriver"
1194 bootoutput
="bootloader.iriver"
1195 appextra
="recorder:gui:radio"
1196 flash
="$pwd/rombox.iriver"
1199 # toolset is the tools within the tools directory that we build for
1200 # this particular target.
1201 toolset
=$iriverbitmaptools
1203 t_manufacturer
="iriver"
1209 modelname
="iriverh300"
1210 target
="-DIRIVER_H300"
1213 tool
="$rootdir/tools/scramble -add=h300"
1214 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1215 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1216 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1217 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1218 output
="rockbox.iriver"
1219 appextra
="recorder:gui:radio"
1222 # toolset is the tools within the tools directory that we build for
1223 # this particular target.
1224 toolset
=$iriverbitmaptools
1226 t_manufacturer
="iriver"
1232 modelname
="iriverh100"
1233 target
="-DIRIVER_H100"
1236 tool
="$rootdir/tools/scramble -add=h100"
1237 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1238 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1239 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1240 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1241 output
="rockbox.iriver"
1242 bootoutput
="bootloader.iriver"
1243 appextra
="recorder:gui:radio"
1244 flash
="$pwd/rombox.iriver"
1247 # toolset is the tools within the tools directory that we build for
1248 # this particular target.
1249 toolset
=$iriverbitmaptools
1251 t_manufacturer
="iriver"
1257 modelname
="iriverifp7xx"
1258 target
="-DIRIVER_IFP7XX"
1262 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1263 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1264 output
="rockbox.wma"
1265 appextra
="recorder:gui:radio"
1268 # toolset is the tools within the tools directory that we build for
1269 # this particular target.
1270 toolset
=$genericbitmaptools
1272 t_manufacturer
="pnx0101"
1273 t_model
="iriver-ifp7xx"
1278 modelname
="iriverh10"
1279 target
="-DIRIVER_H10"
1282 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1283 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1284 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1285 output
="rockbox.mi4"
1286 appextra
="recorder:gui:radio"
1289 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1290 bootoutput
="H10_20GC.mi4"
1291 # toolset is the tools within the tools directory that we build for
1292 # this particular target.
1293 toolset
=$scramblebitmaptools
1294 # architecture, manufacturer and model for the target-tree build
1296 t_manufacturer
="iriver"
1302 modelname
="iriverh10_5gb"
1303 target
="-DIRIVER_H10_5GB"
1306 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1307 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1308 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1309 output
="rockbox.mi4"
1310 appextra
="recorder:gui:radio"
1313 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1314 bootoutput
="H10.mi4"
1315 # toolset is the tools within the tools directory that we build for
1316 # this particular target.
1317 toolset
=$scramblebitmaptools
1318 # architecture, manufacturer and model for the target-tree build
1320 t_manufacturer
="iriver"
1326 modelname
="ipodcolor"
1327 target
="-DIPOD_COLOR"
1330 tool
="$rootdir/tools/scramble -add=ipco"
1331 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1332 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1333 output
="rockbox.ipod"
1334 appextra
="recorder:gui:radio"
1337 bootoutput
="bootloader-$modelname.ipod"
1338 # toolset is the tools within the tools directory that we build for
1339 # this particular target.
1340 toolset
=$ipodbitmaptools
1341 # architecture, manufacturer and model for the target-tree build
1343 t_manufacturer
="ipod"
1349 modelname
="ipodnano1g"
1350 target
="-DIPOD_NANO"
1353 tool
="$rootdir/tools/scramble -add=nano"
1354 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1355 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1356 output
="rockbox.ipod"
1357 appextra
="recorder:gui:radio"
1360 bootoutput
="bootloader-$modelname.ipod"
1361 # toolset is the tools within the tools directory that we build for
1362 # this particular target.
1363 toolset
=$ipodbitmaptools
1364 # architecture, manufacturer and model for the target-tree build
1366 t_manufacturer
="ipod"
1372 modelname
="ipodvideo"
1373 target
="-DIPOD_VIDEO"
1375 tool
="$rootdir/tools/scramble -add=ipvd"
1376 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1377 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1378 output
="rockbox.ipod"
1379 appextra
="recorder:gui:radio"
1382 bootoutput
="bootloader-$modelname.ipod"
1383 # toolset is the tools within the tools directory that we build for
1384 # this particular target.
1385 toolset
=$ipodbitmaptools
1386 # architecture, manufacturer and model for the target-tree build
1388 t_manufacturer
="ipod"
1398 tool
="$rootdir/tools/scramble -add=ip3g"
1399 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1400 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1401 output
="rockbox.ipod"
1402 appextra
="recorder:gui:radio"
1405 bootoutput
="bootloader-$modelname.ipod"
1406 # toolset is the tools within the tools directory that we build for
1407 # this particular target.
1408 toolset
=$ipodbitmaptools
1409 # architecture, manufacturer and model for the target-tree build
1411 t_manufacturer
="ipod"
1421 tool
="$rootdir/tools/scramble -add=ip4g"
1422 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1423 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1424 output
="rockbox.ipod"
1425 appextra
="recorder:gui:radio"
1428 bootoutput
="bootloader-$modelname.ipod"
1429 # toolset is the tools within the tools directory that we build for
1430 # this particular target.
1431 toolset
=$ipodbitmaptools
1432 # architecture, manufacturer and model for the target-tree build
1434 t_manufacturer
="ipod"
1440 modelname
="ipodmini1g"
1441 target
="-DIPOD_MINI"
1444 tool
="$rootdir/tools/scramble -add=mini"
1445 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1446 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1447 output
="rockbox.ipod"
1448 appextra
="recorder:gui:radio"
1451 bootoutput
="bootloader-$modelname.ipod"
1452 # toolset is the tools within the tools directory that we build for
1453 # this particular target.
1454 toolset
=$ipodbitmaptools
1455 # architecture, manufacturer and model for the target-tree build
1457 t_manufacturer
="ipod"
1463 modelname
="ipodmini2g"
1464 target
="-DIPOD_MINI2G"
1467 tool
="$rootdir/tools/scramble -add=mn2g"
1468 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1469 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1470 output
="rockbox.ipod"
1471 appextra
="recorder:gui:radio"
1474 bootoutput
="bootloader-$modelname.ipod"
1475 # toolset is the tools within the tools directory that we build for
1476 # this particular target.
1477 toolset
=$ipodbitmaptools
1478 # architecture, manufacturer and model for the target-tree build
1480 t_manufacturer
="ipod"
1486 modelname
="ipod1g2g"
1487 target
="-DIPOD_1G2G"
1490 tool
="$rootdir/tools/scramble -add=1g2g"
1491 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1492 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1493 output
="rockbox.ipod"
1494 appextra
="recorder:gui:radio"
1497 bootoutput
="bootloader-$modelname.ipod"
1498 # toolset is the tools within the tools directory that we build for
1499 # this particular target.
1500 toolset
=$ipodbitmaptools
1501 # architecture, manufacturer and model for the target-tree build
1503 t_manufacturer
="ipod"
1509 modelname
="ipodnano2g"
1510 target
="-DIPOD_NANO2G"
1513 tool
="$rootdir/tools/scramble -add=nn2g"
1514 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1515 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1516 output
="rockbox.ipod"
1517 appextra
="recorder:gui:radio"
1520 bootoutput
="bootloader-$modelname.ipod"
1521 # toolset is the tools within the tools directory that we build for
1522 # this particular target.
1523 toolset
=$ipodbitmaptools
1524 # architecture, manufacturer and model for the target-tree build
1526 t_manufacturer
="s5l8700"
1527 t_model
="ipodnano2g"
1532 modelname
="iaudiox5"
1533 target
="-DIAUDIO_X5"
1536 tool
="$rootdir/tools/scramble -add=iax5"
1537 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1538 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1539 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1540 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1541 output
="rockbox.iaudio"
1542 appextra
="recorder:gui:radio"
1545 # toolset is the tools within the tools directory that we build for
1546 # this particular target.
1547 toolset
="$iaudiobitmaptools"
1548 # architecture, manufacturer and model for the target-tree build
1550 t_manufacturer
="iaudio"
1556 modelname
="iaudiom5"
1557 target
="-DIAUDIO_M5"
1560 tool
="$rootdir/tools/scramble -add=iam5"
1561 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1562 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1563 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1564 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1565 output
="rockbox.iaudio"
1566 appextra
="recorder:gui:radio"
1569 # toolset is the tools within the tools directory that we build for
1570 # this particular target.
1571 toolset
="$iaudiobitmaptools"
1572 # architecture, manufacturer and model for the target-tree build
1574 t_manufacturer
="iaudio"
1584 tool
="$rootdir/tools/scramble -add=i7"
1585 boottool
="$rootdir/tools/scramble -tcc=crc"
1586 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1587 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1588 output
="rockbox.iaudio"
1589 appextra
="recorder:gui:radio"
1592 bootoutput
="I7_FW.BIN"
1593 # toolset is the tools within the tools directory that we build for
1594 # this particular target.
1595 toolset
="$tccbitmaptools"
1596 # architecture, manufacturer and model for the target-tree build
1598 t_manufacturer
="tcc77x"
1608 tool
="$rootdir/tools/scramble -add=d2"
1610 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1611 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1613 bootoutput
="bootloader-cowond2.bin"
1614 appextra
="recorder:gui:radio"
1617 toolset
="$tccbitmaptools"
1618 # architecture, manufacturer and model for the target-tree build
1620 t_manufacturer
="tcc780x"
1626 modelname
="iaudiom3"
1627 target
="-DIAUDIO_M3"
1630 tool
="$rootdir/tools/scramble -add=iam3"
1631 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1632 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1633 output
="rockbox.iaudio"
1634 appextra
="recorder:gui:radio"
1637 # toolset is the tools within the tools directory that we build for
1638 # this particular target.
1639 toolset
="$iaudiobitmaptools"
1640 # architecture, manufacturer and model for the target-tree build
1642 t_manufacturer
="iaudio"
1648 modelname
="gigabeatfx"
1649 target
="-DGIGABEAT_F"
1652 tool
="$rootdir/tools/scramble -add=giga"
1653 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1654 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1655 output
="rockbox.gigabeat"
1656 appextra
="recorder:gui:radio"
1659 toolset
=$gigabeatbitmaptools
1660 boottool
="$rootdir/tools/scramble -gigabeat"
1661 bootoutput
="FWIMG01.DAT"
1662 # architecture, manufacturer and model for the target-tree build
1664 t_manufacturer
="s3c2440"
1665 t_model
="gigabeat-fx"
1670 modelname
="gigabeats"
1671 target
="-DGIGABEAT_S"
1674 tool
="$rootdir/tools/scramble -add=gigs"
1675 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1676 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1677 output
="rockbox.gigabeat"
1678 appextra
="recorder:gui:radio"
1681 toolset
="$gigabeatbitmaptools"
1682 boottool
="$rootdir/tools/scramble -gigabeats"
1684 # architecture, manufacturer and model for the target-tree build
1686 t_manufacturer
="imx31"
1687 t_model
="gigabeat-s"
1692 modelname
="mrobe500"
1693 target
="-DMROBE_500"
1696 tool
="$rootdir/tools/scramble -add=m500"
1697 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1698 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1699 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1700 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1701 output
="rockbox.mrobe500"
1702 appextra
="recorder:gui:radio"
1705 toolset
=$gigabeatbitmaptools
1707 bootoutput
="rockbox.mrboot"
1708 # architecture, manufacturer and model for the target-tree build
1710 t_manufacturer
="tms320dm320"
1716 modelname
="mrobe100"
1717 target
="-DMROBE_100"
1720 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1721 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1722 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1723 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1724 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1725 output
="rockbox.mi4"
1726 appextra
="recorder:gui:radio"
1729 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1730 bootoutput
="pp5020.mi4"
1731 # toolset is the tools within the tools directory that we build for
1732 # this particular target.
1733 toolset
=$scramblebitmaptools
1734 # architecture, manufacturer and model for the target-tree build
1736 t_manufacturer
="olympus"
1742 modelname
="logikdax"
1743 target
="-DLOGIK_DAX"
1746 tool
="$rootdir/tools/scramble -add=ldax"
1747 boottool
="$rootdir/tools/scramble -tcc=crc"
1748 bootoutput
="player.rom"
1749 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1750 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1751 output
="rockbox.logik"
1752 appextra
="recorder:gui:radio"
1755 # toolset is the tools within the tools directory that we build for
1756 # this particular target.
1757 toolset
=$tccbitmaptools
1758 # architecture, manufacturer and model for the target-tree build
1760 t_manufacturer
="tcc77x"
1766 modelname
="zenvisionm30gb"
1767 target
="-DCREATIVE_ZVM"
1770 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1771 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1772 tool
="$rootdir/tools/scramble -creative=zvm"
1774 output
="rockbox.zvm"
1775 appextra
="recorder:gui:radio"
1778 toolset
=$ipodbitmaptools
1779 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1780 bootoutput
="rockbox.zvmboot"
1781 # architecture, manufacturer and model for the target-tree build
1783 t_manufacturer
="tms320dm320"
1784 t_model
="creative-zvm"
1789 modelname
="zenvisionm60gb"
1790 target
="-DCREATIVE_ZVM60GB"
1793 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1794 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1795 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1797 output
="rockbox.zvm60"
1798 appextra
="recorder:gui:radio"
1801 toolset
=$ipodbitmaptools
1802 boottool
="$rootdir/tools/scramble -creative=zvm60"
1803 bootoutput
="rockbox.zvm60boot"
1804 # architecture, manufacturer and model for the target-tree build
1806 t_manufacturer
="tms320dm320"
1807 t_model
="creative-zvm"
1812 modelname
="zenvision"
1813 target
="-DCREATIVE_ZV"
1816 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1817 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1818 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1821 appextra
="recorder:gui:radio"
1824 toolset
=$ipodbitmaptools
1825 boottool
="$rootdir/tools/scramble -creative=zenvision"
1826 bootoutput
="rockbox.zvboot"
1827 # architecture, manufacturer and model for the target-tree build
1829 t_manufacturer
="tms320dm320"
1830 t_model
="creative-zvm"
1835 modelname
="sansae200"
1836 target
="-DSANSA_E200"
1837 memory
=32 # supposedly
1839 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1840 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1841 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1842 output
="rockbox.mi4"
1843 appextra
="recorder:gui:radio"
1846 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1847 bootoutput
="PP5022.mi4"
1848 # toolset is the tools within the tools directory that we build for
1849 # this particular target.
1850 toolset
=$scramblebitmaptools
1851 # architecture, manufacturer and model for the target-tree build
1853 t_manufacturer
="sandisk"
1854 t_model
="sansa-e200"
1858 # the e200R model is pretty much identical to the e200, it only has a
1859 # different option to the scramble tool when building a bootloader and
1860 # makes the bootloader output file name in all lower case.
1862 modelname
="sansae200r"
1863 target
="-DSANSA_E200"
1864 memory
=32 # supposedly
1866 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1867 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1868 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1869 output
="rockbox.mi4"
1870 appextra
="recorder:gui:radio"
1873 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1874 bootoutput
="pp5022.mi4"
1875 # toolset is the tools within the tools directory that we build for
1876 # this particular target.
1877 toolset
=$scramblebitmaptools
1878 # architecture, manufacturer and model for the target-tree build
1880 t_manufacturer
="sandisk"
1881 t_model
="sansa-e200"
1886 modelname
="sansac200"
1887 target
="-DSANSA_C200"
1888 memory
=32 # supposedly
1890 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1891 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1892 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1893 output
="rockbox.mi4"
1894 appextra
="recorder:gui:radio"
1897 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1898 bootoutput
="firmware.mi4"
1899 # toolset is the tools within the tools directory that we build for
1900 # this particular target.
1901 toolset
=$scramblebitmaptools
1902 # architecture, manufacturer and model for the target-tree build
1904 t_manufacturer
="sandisk"
1905 t_model
="sansa-c200"
1910 modelname
="sansam200"
1911 target
="-DSANSA_M200"
1914 tool
="$rootdir/tools/scramble -add=m200"
1915 boottool
="$rootdir/tools/scramble -tcc=crc"
1916 bootoutput
="player.rom"
1917 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1918 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1919 output
="rockbox.m200"
1920 appextra
="recorder:gui:radio"
1923 # toolset is the tools within the tools directory that we build for
1924 # this particular target.
1925 toolset
=$tccbitmaptools
1926 # architecture, manufacturer and model for the target-tree build
1928 t_manufacturer
="tcc77x"
1934 modelname
="sansac100"
1935 target
="-DSANSA_C100"
1938 tool
="$rootdir/tools/scramble -add=c100"
1939 boottool
="$rootdir/tools/scramble -tcc=crc"
1940 bootoutput
="player.rom"
1941 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1942 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1943 output
="rockbox.c100"
1944 appextra
="recorder:gui:radio"
1947 # toolset is the tools within the tools directory that we build for
1948 # this particular target.
1949 toolset
=$tccbitmaptools
1950 # architecture, manufacturer and model for the target-tree build
1952 t_manufacturer
="tcc77x"
1958 modelname
="sansaclip"
1959 target
="-DSANSA_CLIP"
1961 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1962 bmp2rb_native
="$bmp2rb_mono"
1963 tool
="$rootdir/tools/scramble -add=clip"
1964 output
="rockbox.sansa"
1965 bootoutput
="bootloader-clip.sansa"
1966 appextra
="recorder:gui:radio"
1969 toolset
=$scramblebitmaptools
1971 t_manufacturer
="as3525"
1972 t_model
="sansa-clip"
1973 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1975 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1981 modelname
="sansae200v2"
1982 target
="-DSANSA_E200V2"
1984 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1985 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1986 tool
="$rootdir/tools/scramble -add=e2v2"
1987 output
="rockbox.sansa"
1988 bootoutput
="bootloader-e200v2.sansa"
1989 appextra
="recorder:gui:radio"
1992 toolset
=$scramblebitmaptools
1994 t_manufacturer
="as3525"
1995 t_model
="sansa-e200v2"
2002 modelname
="sansam200v4"
2003 target
="-DSANSA_M200V4"
2005 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2006 bmp2rb_native
="$bmp2rb_mono"
2007 tool
="$rootdir/tools/scramble -add=m2v4"
2008 output
="rockbox.sansa"
2009 bootoutput
="bootloader-m200v4.sansa"
2010 appextra
="recorder:gui:radio"
2013 toolset
=$scramblebitmaptools
2015 t_manufacturer
="as3525"
2016 t_model
="sansa-m200v4"
2017 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2019 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2025 modelname
="sansafuze"
2026 target
="-DSANSA_FUZE"
2028 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2029 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2030 tool
="$rootdir/tools/scramble -add=fuze"
2031 output
="rockbox.sansa"
2032 bootoutput
="bootloader-fuze.sansa"
2033 appextra
="recorder:gui:radio"
2036 toolset
=$scramblebitmaptools
2038 t_manufacturer
="as3525"
2039 t_model
="sansa-fuze"
2046 modelname
="sansac200v2"
2047 target
="-DSANSA_C200V2"
2048 memory
=2 # as per OF diagnosis mode
2049 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2050 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2051 tool
="$rootdir/tools/scramble -add=c2v2"
2052 output
="rockbox.sansa"
2053 bootoutput
="bootloader-c200v2.sansa"
2054 appextra
="recorder:gui:radio"
2057 # toolset is the tools within the tools directory that we build for
2058 # this particular target.
2059 toolset
=$scramblebitmaptools
2060 # architecture, manufacturer and model for the target-tree build
2062 t_manufacturer
="as3525"
2063 t_model
="sansa-c200v2"
2064 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2066 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2071 modelname
="sansaclipv2"
2072 target
="-DSANSA_CLIPV2"
2074 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2075 bmp2rb_native
="$bmp2rb_mono"
2076 tool
="$rootdir/tools/scramble -add=clv2"
2077 output
="rockbox.sansa"
2078 bootoutput
="bootloader-clipv2.sansa"
2079 appextra
="recorder:gui:radio"
2082 toolset
=$scramblebitmaptools
2084 t_manufacturer
="as3525"
2085 t_model
="sansa-clipv2"
2090 echo "Sansa View is not yet supported!"
2093 modelname
="sansaview"
2094 target
="-DSANSA_VIEW"
2097 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2098 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2099 output
="rockbox.mi4"
2103 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2104 bootoutput
="firmware.mi4"
2105 # toolset is the tools within the tools directory that we build for
2106 # this particular target.
2107 toolset
=$scramblebitmaptools
2109 t_manufacturer
="sandisk"
2110 t_model
="sansa-view"
2115 modelname
="sansaclipplus"
2116 target
="-DSANSA_CLIPPLUS"
2118 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2119 bmp2rb_native
="$bmp2rb_mono"
2120 tool
="$rootdir/tools/scramble -add=cli+"
2121 output
="rockbox.sansa"
2122 bootoutput
="bootloader-clipplus.sansa"
2123 appextra
="recorder:gui:radio"
2126 toolset
=$scramblebitmaptools
2128 t_manufacturer
="as3525"
2129 t_model
="sansa-clipplus"
2135 modelname
="sansafuzev2"
2136 target
="-DSANSA_FUZEV2"
2138 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2139 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2140 tool
="$rootdir/tools/scramble -add=fuz2"
2141 output
="rockbox.sansa"
2142 bootoutput
="bootloader-fuzev2.sansa"
2143 appextra
="recorder:gui:radio"
2146 toolset
=$scramblebitmaptools
2148 t_manufacturer
="as3525"
2149 t_model
="sansa-fuzev2"
2155 modelname
="tatungtpj1022"
2156 target
="-DTATUNG_TPJ1022"
2159 tool
="$rootdir/tools/scramble -add tpj2"
2160 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2161 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2162 output
="rockbox.elio"
2163 appextra
="recorder:gui:radio"
2166 boottool
="$rootdir/tools/scramble -mi4v2"
2167 bootoutput
="pp5020.mi4"
2168 # toolset is the tools within the tools directory that we build for
2169 # this particular target.
2170 toolset
=$scramblebitmaptools
2171 # architecture, manufacturer and model for the target-tree build
2173 t_manufacturer
="tatung"
2179 modelname
="gogearsa9200"
2180 target
="-DPHILIPS_SA9200"
2181 memory
=32 # supposedly
2183 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2184 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2185 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2186 output
="rockbox.mi4"
2187 appextra
="recorder:gui:radio"
2190 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2191 bootoutput
="FWImage.ebn"
2192 # toolset is the tools within the tools directory that we build for
2193 # this particular target.
2194 toolset
=$scramblebitmaptools
2195 # architecture, manufacturer and model for the target-tree build
2197 t_manufacturer
="philips"
2203 modelname
="gogearhdd1630"
2204 target
="-DPHILIPS_HDD1630"
2205 memory
=32 # supposedly
2207 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2208 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2209 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2210 output
="rockbox.mi4"
2211 appextra
="recorder:gui:radio"
2214 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2215 bootoutput
="FWImage.ebn"
2216 # toolset is the tools within the tools directory that we build for
2217 # this particular target.
2218 toolset
=$scramblebitmaptools
2219 # architecture, manufacturer and model for the target-tree build
2221 t_manufacturer
="philips"
2227 modelname
="gogearhdd6330"
2228 target
="-DPHILIPS_HDD6330"
2229 memory
=32 # supposedly
2231 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2232 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2233 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2234 output
="rockbox.mi4"
2235 appextra
="recorder:gui:radio"
2238 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2239 bootoutput
="FWImage.ebn"
2240 # toolset is the tools within the tools directory that we build for
2241 # this particular target.
2242 toolset
=$scramblebitmaptools
2243 # architecture, manufacturer and model for the target-tree build
2245 t_manufacturer
="philips"
2251 modelname
="meizum6sl"
2252 target
="-DMEIZU_M6SL"
2256 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2257 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2258 output
="rockbox.meizu"
2259 appextra
="recorder:gui:radio"
2262 toolset
=$genericbitmaptools
2264 bootoutput
="rockboot.ebn"
2265 # architecture, manufacturer and model for the target-tree build
2267 t_manufacturer
="s5l8700"
2268 t_model
="meizu-m6sl"
2273 modelname
="meizum6sp"
2274 target
="-DMEIZU_M6SP"
2278 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2279 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2280 output
="rockbox.meizu"
2281 appextra
="recorder:gui:radio"
2284 toolset
=$genericbitmaptools
2286 bootoutput
="rockboot.ebn"
2287 # architecture, manufacturer and model for the target-tree build
2289 t_manufacturer
="s5l8700"
2290 t_model
="meizu-m6sp"
2300 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2301 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2302 output
="rockbox.meizu"
2303 appextra
="recorder:gui:radio"
2306 toolset
=$genericbitmaptools
2308 bootoutput
="rockboot.ebn"
2309 # architecture, manufacturer and model for the target-tree build
2311 t_manufacturer
="s5l8700"
2317 modelname
="ondavx747"
2318 target
="-DONDA_VX747"
2321 tool
="$rootdir/tools/scramble -add=x747"
2322 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2323 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2324 output
="rockbox.vx747"
2325 appextra
="recorder:gui:radio"
2328 toolset
=$genericbitmaptools
2329 boottool
="$rootdir/tools/scramble -ccpmp"
2330 bootoutput
="ccpmp.bin"
2331 # architecture, manufacturer and model for the target-tree build
2333 t_manufacturer
="ingenic_jz47xx"
2334 t_model
="onda_vx747"
2339 modelname
="ondavx767"
2340 target
="-DONDA_VX767"
2344 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2345 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2346 output
="rockbox.vx767"
2347 appextra
="recorder:gui:radio"
2350 toolset
=$genericbitmaptools
2351 boottool
="$rootdir/tools/scramble -ccpmp"
2352 bootoutput
="ccpmp.bin"
2353 # architecture, manufacturer and model for the target-tree build
2355 t_manufacturer
="ingenic_jz47xx"
2356 t_model
="onda_vx767"
2361 modelname
="ondavx747p"
2362 target
="-DONDA_VX747P"
2365 tool
="$rootdir/tools/scramble -add=747p"
2366 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2367 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2368 output
="rockbox.vx747p"
2369 appextra
="recorder:gui:radio"
2372 toolset
=$genericbitmaptools
2373 boottool
="$rootdir/tools/scramble -ccpmp"
2374 bootoutput
="ccpmp.bin"
2375 # architecture, manufacturer and model for the target-tree build
2377 t_manufacturer
="ingenic_jz47xx"
2378 t_model
="onda_vx747"
2383 modelname
="ondavx777"
2384 target
="-DONDA_VX777"
2387 tool
="$rootdir/tools/scramble -add=x777"
2388 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2389 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2390 output
="rockbox.vx777"
2391 appextra
="recorder:gui:radio"
2394 toolset
=$genericbitmaptools
2395 boottool
="$rootdir/tools/scramble -ccpmp"
2396 bootoutput
="ccpmp.bin"
2397 # architecture, manufacturer and model for the target-tree build
2399 t_manufacturer
="ingenic_jz47xx"
2400 t_model
="onda_vx747"
2405 modelname
="lyreproto1"
2406 target
="-DLYRE_PROTO1"
2410 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2411 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2412 output
="rockbox.lyre"
2413 appextra
="recorder:gui:radio"
2416 toolset
=$scramblebitmaptools
2418 bootoutput
="bootloader-proto1.lyre"
2419 # architecture, manufacturer and model for the target-tree build
2421 t_manufacturer
="at91sam"
2422 t_model
="lyre_proto1"
2427 modelname
="mini2440"
2431 tool
="$rootdir/tools/scramble -add=m244"
2432 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2433 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2434 output
="rockbox.mini2440"
2435 appextra
="recorder:gui:radio"
2438 toolset
=$scramblebitmaptools
2440 bootoutput
="bootloader-mini2440.lyre"
2441 # architecture, manufacturer and model for the target-tree build
2443 t_manufacturer
="s3c2440"
2449 modelname
="samsungyh820"
2450 target
="-DSAMSUNG_YH820"
2453 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2454 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2455 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2456 output
="rockbox.mi4"
2457 appextra
="recorder:gui:radio"
2460 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2461 bootoutput
="FW_YH820.mi4"
2462 # toolset is the tools within the tools directory that we build for
2463 # this particular target.
2464 toolset
=$scramblebitmaptools
2465 # architecture, manufacturer and model for the target-tree build
2467 t_manufacturer
="samsung"
2473 modelname
="samsungyh920"
2474 target
="-DSAMSUNG_YH920"
2477 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2478 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2479 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2480 output
="rockbox.mi4"
2481 appextra
="recorder:gui:radio"
2484 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2485 bootoutput
="PP5020.mi4"
2486 # toolset is the tools within the tools directory that we build for
2487 # this particular target.
2488 toolset
=$scramblebitmaptools
2489 # architecture, manufacturer and model for the target-tree build
2491 t_manufacturer
="samsung"
2497 modelname
="samsungyh925"
2498 target
="-DSAMSUNG_YH925"
2501 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2502 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2503 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2504 output
="rockbox.mi4"
2505 appextra
="recorder:gui:radio"
2508 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2509 bootoutput
="FW_YH925.mi4"
2510 # toolset is the tools within the tools directory that we build for
2511 # this particular target.
2512 toolset
=$scramblebitmaptools
2513 # architecture, manufacturer and model for the target-tree build
2515 t_manufacturer
="samsung"
2521 modelname
="samsungyps3"
2522 target
="-DSAMSUNG_YPS3"
2526 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2527 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2528 output
="rockbox.yps3"
2529 appextra
="recorder:gui:radio"
2532 toolset
=$genericbitmaptools
2534 bootoutput
="rockboot.ebn"
2535 # architecture, manufacturer and model for the target-tree build
2537 t_manufacturer
="s5l8700"
2544 target
="-DPBELL_VIBE500"
2547 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2548 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2549 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2550 output
="rockbox.mi4"
2551 appextra
="recorder:gui:radio"
2554 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2555 bootoutput
="jukebox.mi4"
2556 # toolset is the tools within the tools directory that we build for
2557 # this particular target.
2558 toolset
=$scramblebitmaptools
2559 # architecture, manufacturer and model for the target-tree build
2561 t_manufacturer
="pbell"
2567 modelname
="mpiohd200"
2568 target
="-DMPIO_HD200"
2571 tool
="$rootdir/tools/scramble -add=hd20"
2572 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2573 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2574 output
="rockbox.mpio"
2575 bootoutput
="bootloader.mpio"
2576 appextra
="recorder:gui:radio"
2579 # toolset is the tools within the tools directory that we build for
2580 # this particular target.
2581 toolset
="$genericbitmaptools"
2582 # architecture, manufacturer and model for the target-tree build
2584 t_manufacturer
="mpio"
2589 echo "Please select a supported target platform!"
2595 echo "Platform set to $modelname"
2599 ############################################################################
2600 # Amount of memory, for those that can differ. They have $memory unset at
2604 if [ -z "$memory" ]; then
2607 if [ "$ARG_RAM" ]; then
2610 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2623 if [ "$ARG_RAM" ]; then
2626 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2639 echo "Memory size selected: $memory MB"
2640 [ "$ARG_TYPE" ] ||
echo ""
2644 ##################################################################
2645 # Figure out build "type"
2648 # the ifp7x0 is the only platform that supports building a gdb stub like
2652 gdbstub
="(G)DB stub, "
2654 sansae200r|sansae200
)
2655 gdbstub
="(I)nstaller, "
2658 gdbstub
="(E)raser, "
2663 if [ "$ARG_TYPE" ]; then
2666 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2672 appsdir
='\$(ROOTDIR)/bootloader'
2674 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2676 echo "e200R-installer build selected"
2679 appsdir
='\$(ROOTDIR)/bootloader'
2681 echo "C2(4)0 or C2(5)0"
2685 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2686 echo "c240 eraser build selected"
2689 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2690 echo "c240 eraser build selected"
2694 echo "c200 eraser build selected"
2697 if test $t_manufacturer = "archos"; then
2698 # Archos SH-based players do this somewhat differently for
2700 appsdir
='\$(ROOTDIR)/flash/bootbox'
2703 appsdir
='\$(ROOTDIR)/bootloader'
2706 if test -n "$boottool"; then
2709 if test -n "$bootoutput"; then
2713 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2715 echo "Bootloader build selected"
2718 if [ "$modelname" = "sansae200r" ]; then
2719 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2724 extradefines
="-DSIMULATOR"
2727 echo "Simulator build selected"
2730 echo "Advanced build selected"
2731 whichadvanced
$btype
2734 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2735 appsdir
='\$(ROOTDIR)/gdb'
2744 echo "GDB stub build selected"
2749 echo "Manual build selected"
2757 extradefines
="-DDEBUG"
2758 appsdir
='\$(ROOTDIR)/tools/checkwps';
2759 output
='checkwps.'${modelname};
2761 echo "CheckWPS build selected"
2769 appsdir
='\$(ROOTDIR)/tools/database';
2774 output
="database_${modelname}.exe"
2777 output
='database.'${modelname};
2781 echo "Database tool build selected"
2784 if [ "$modelname" = "sansae200r" ]; then
2785 echo "Do not use the e200R target for regular builds. Use e200 instead."
2789 btype
="N" # set it explicitly since RET only gets here as well
2790 echo "Normal build selected"
2794 # to be able running "make manual" from non-manual configuration
2797 manualdev
="archosfmrecorder"
2800 manualdev
="iriverh100"
2803 manualdev
="ipodmini1g"
2806 manualdev
=$modelname
2810 if [ -z "$debug" ]; then
2811 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2814 echo "Using source code root directory: $rootdir"
2816 # this was once possible to change at build-time, but no more:
2821 if [ "yes" = "$simulator" ]; then
2822 # setup compiler and things for simulator
2825 if [ -d "simdisk" ]; then
2826 echo "Subdirectory 'simdisk' already present"
2829 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2833 # Now, figure out version number of the (gcc) compiler we are about to use
2834 gccver
=`$CC -dumpversion`;
2836 # figure out the binutil version too and display it, mostly for the build
2837 # system etc to be able to see it easier
2838 if [ $uname = "Darwin" ]; then
2839 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2841 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2844 if [ -z "$gccver" ]; then
2845 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2846 echo "[WARNING] this may cause your build to fail since we cannot do the"
2847 echo "[WARNING] checks we want now."
2850 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2853 num1
=`echo $gccver | cut -d . -f1`
2854 num2
=`echo $gccver | cut -d . -f2`
2855 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2862 echo "Using $CC $gccver ($gccnum)"
2864 if test "$gccnum" -ge "400"; then
2865 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2866 # so we ignore that warnings for now
2868 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2871 if test "$gccnum" -ge "402"; then
2872 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2873 # and later would throw it for several valid cases
2874 GCCOPTS
="$GCCOPTS -Wno-override-init"
2878 ""|
"$CROSS_COMPILE")
2882 # cross-compile for win32
2885 # Verify that the cross-compiler is of a recommended version!
2886 if test "$gccver" != "$gccchoice"; then
2887 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2888 echo "WARNING: version $gccchoice!"
2889 echo "WARNING: This may cause your build to fail since it may be a version"
2890 echo "WARNING: that isn't functional or known to not be the best choice."
2891 echo "WARNING: If you suffer from build problems, you know that this is"
2892 echo "WARNING: a likely source for them..."
2900 echo "Using $LD $ldver"
2902 # check the compiler for SH platforms
2903 if test "$CC" = "sh-elf-gcc"; then
2904 if test "$gccnum" -lt "400"; then
2905 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2906 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2908 # figure out patch status
2909 gccpatch
=`$CC --version`;
2911 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2912 echo "gcc $gccver is rockbox patched"
2913 # then convert -O to -Os to get smaller binaries!
2914 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2916 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2917 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2922 if test "$CC" = "m68k-elf-gcc"; then
2923 # convert -O to -Os to get smaller binaries!
2924 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2927 if [ "$ARG_CCACHE" = "1" ]; then
2928 echo "Enable ccache for building"
2930 elif [ "$ARG_CCACHE" != "0" ]; then
2931 ccache
=`findtool ccache`
2932 if test -n "$ccache"; then
2933 echo "Found and uses ccache ($ccache)"
2937 # figure out the full path to the various commands if possible
2938 HOSTCC
=`findtool gcc --lit`
2939 HOSTAR
=`findtool ar --lit`
2940 CC
=`findtool ${CC} --lit`
2941 LD
=`findtool ${AR} --lit`
2942 AR
=`findtool ${AR} --lit`
2943 AS
=`findtool ${AS} --lit`
2944 OC
=`findtool ${OC} --lit`
2945 WINDRES
=`findtool ${WINDRES} --lit`
2946 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2947 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2948 RANLIB
=`findtool ${RANLIB} --lit`
2950 if test "$ARG_ARM_THUMB" = "1"; then
2951 extradefines
="$extradefines -DUSE_THUMB"
2952 CC
="$toolsdir/thumb-cc.py $CC"
2955 if test -n "$ccache"; then
2959 if test "X$endian" = "Xbig"; then
2960 defendian
="ROCKBOX_BIG_ENDIAN"
2962 defendian
="ROCKBOX_LITTLE_ENDIAN"
2965 if [ "$ARG_RBDIR" ]; then
2967 echo "Using alternate rockbox dir: ${rbdir}"
2971 -e "s,@ENDIAN@,${defendian},g" \
2972 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2973 -e "s,^#undef DO_BOOTCHART,$use_bootchart,g" \
2974 -e "s,@config_rtc@,$config_rtc,g" \
2975 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2976 -e "s,@RBDIR@,${rbdir},g" \
2977 -e "s,@have_backlight@,$have_backlight,g" \
2978 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2979 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2981 /* This header was made by configure */
2982 #ifndef __BUILD_AUTOCONF_H
2983 #define __BUILD_AUTOCONF_H
2985 /* Define endianess for the target or simulator platform */
2988 /* Define this if you build rockbox to support the logf logging and display */
2989 #undef ROCKBOX_HAS_LOGF
2991 /* Define this to record a chart with timings for the stages of boot */
2994 /* optional define for a backlight modded Ondio */
2997 /* optional define for FM radio mod for iAudio M5 */
3000 /* optional define for ATA poweroff on Player */
3003 /* optional defines for RTC mod for h1x0 */
3007 /* root of Rockbox */
3008 #define ROCKBOX_DIR "/@RBDIR@"
3010 #endif /* __BUILD_AUTOCONF_H */
3013 if test -n "$t_cpu"; then
3014 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3015 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3016 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3017 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3019 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3020 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3024 if test "$simulator" = "yes"; then
3025 # add simul make stuff on the #SIMUL# line
3026 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
3027 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
3029 # delete the lines that match
3030 simmagic1
='/@SIMUL1@/D'
3031 simmagic2
='/@SIMUL2@/D'
3034 if test "$swcodec" = "yes"; then
3035 voicetoolset
="rbspeexenc voicefont wavtrim"
3037 voicetoolset
="voicefont wavtrim"
3040 if test "$apps" = "apps"; then
3041 # only when we build "real" apps we build the .lng files
3045 #### Fix the cmdline ###
3046 if [ "$ARG_CCACHE" = "1" ]; then
3048 elif [ "$ARG_CCACHE" = "0" ]; then
3049 cmdline
="--no-ccache "
3051 if [ "$ARG_ARM_EABI" = "1" ]; then
3052 cmdline
="$cmdline--eabi "
3055 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3059 -e "s,@ROOTDIR@,${rootdir},g" \
3060 -e "s,@DEBUG@,${debug},g" \
3061 -e "s,@MEMORY@,${memory},g" \
3062 -e "s,@TARGET_ID@,${target_id},g" \
3063 -e "s,@TARGET@,${target},g" \
3064 -e "s,@CPU@,${t_cpu},g" \
3065 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
3066 -e "s,@MODELNAME@,${modelname},g" \
3067 -e "s,@LANGUAGE@,${language},g" \
3068 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3069 -e "s,@PWD@,${pwd},g" \
3070 -e "s,@HOSTCC@,${HOSTCC},g" \
3071 -e "s,@HOSTAR@,${HOSTAR},g" \
3072 -e "s,@CC@,${CC},g" \
3073 -e "s,@LD@,${LD},g" \
3074 -e "s,@AR@,${AR},g" \
3075 -e "s,@AS@,${AS},g" \
3076 -e "s,@OC@,${OC},g" \
3077 -e "s,@WINDRES@,${WINDRES},g" \
3078 -e "s,@DLLTOOL@,${DLLTOOL},g" \
3079 -e "s,@DLLWRAP@,${DLLWRAP},g" \
3080 -e "s,@RANLIB@,${RANLIB},g" \
3081 -e "s,@TOOL@,${tool},g" \
3082 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
3083 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
3084 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
3085 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
3086 -e "s,@OUTPUT@,${output},g" \
3087 -e "s,@APPEXTRA@,${appextra},g" \
3088 -e "s,@ARCHOSROM@,${archosrom},g" \
3089 -e "s,@FLASHFILE@,${flash},g" \
3090 -e "s,@PLUGINS@,${plugins},g" \
3091 -e "s,@CODECS@,${swcodec},g" \
3092 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
3093 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
3094 -e "s,@GCCOPTS@,${GCCOPTS},g" \
3095 -e "s,@TARGET_INC@,${TARGET_INC},g" \
3096 -e "s!@LDOPTS@!${LDOPTS}!g" \
3097 -e "s,@LOADADDRESS@,${loadaddress},g" \
3098 -e "s,@EXTRADEF@,${extradefines},g" \
3099 -e "s,@APPSDIR@,${appsdir},g" \
3100 -e "s,@FIRMDIR@,${firmdir},g" \
3101 -e "s,@TOOLSDIR@,${toolsdir},g" \
3102 -e "s,@APPS@,${apps},g" \
3103 -e "s,@SIMVER@,${simver},g" \
3104 -e "s,@GCCVER@,${gccver},g" \
3105 -e "s,@GCCNUM@,${gccnum},g" \
3106 -e "s,@UNAME@,${uname},g" \
3107 -e "s,@ENDIAN@,${defendian},g" \
3108 -e "s,@TOOLSET@,${toolset},g" \
3111 -e "s,@MANUALDEV@,${manualdev},g" \
3112 -e "s,@ENCODER@,${ENC_CMD},g" \
3113 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
3114 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
3115 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
3116 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
3117 -e "s,@LANGS@,${buildlangs},g" \
3118 -e "s,@USE_ELF@,${USE_ELF},g" \
3119 -e "s,@RBDIR@,${rbdir},g" \
3120 -e "s,@PREFIX@,$PREFIX,g" \
3121 -e "s,@CMDLINE@,$cmdline,g" \
3122 -e "s,@SDLCONFIG@,$sdl,g" \
3124 ## Automatically generated. http://www.rockbox.org/
3126 export ROOTDIR=@ROOTDIR@
3127 export FIRMDIR=@FIRMDIR@
3128 export APPSDIR=@APPSDIR@
3129 export TOOLSDIR=@TOOLSDIR@
3130 export DOCSDIR=\$(ROOTDIR)/docs
3131 export MANUALDIR=\${ROOTDIR}/manual
3132 export DEBUG=@DEBUG@
3133 export MODELNAME=@MODELNAME@
3134 export ARCHOSROM=@ARCHOSROM@
3135 export FLASHFILE=@FLASHFILE@
3136 export TARGET_ID=@TARGET_ID@
3137 export TARGET=@TARGET@
3139 export MANUFACTURER=@MANUFACTURER@
3141 export BUILDDIR=@PWD@
3142 export LANGUAGE=@LANGUAGE@
3143 export VOICELANGUAGE=@VOICELANGUAGE@
3144 export MEMORYSIZE=@MEMORY@
3145 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3146 export MKFIRMWARE=@TOOL@
3147 export BMP2RB_MONO=@BMP2RB_MONO@
3148 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3149 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3150 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3151 export BINARY=@OUTPUT@
3152 export APPEXTRA=@APPEXTRA@
3153 export ENABLEDPLUGINS=@PLUGINS@
3154 export SOFTWARECODECS=@CODECS@
3155 export EXTRA_DEFINES=@EXTRADEF@
3156 export HOSTCC=@HOSTCC@
3157 export HOSTAR=@HOSTAR@
3163 export WINDRES=@WINDRES@
3164 export DLLTOOL=@DLLTOOL@
3165 export DLLWRAP=@DLLWRAP@
3166 export RANLIB=@RANLIB@
3167 export PREFIX=@PREFIX@
3168 export PROFILE_OPTS=@PROFILE_OPTS@
3169 export SIMVER=@SIMVER@
3170 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3171 export GCCOPTS=@GCCOPTS@
3172 export TARGET_INC=@TARGET_INC@
3173 export LOADADDRESS=@LOADADDRESS@
3174 export SHARED_FLAG=@SHARED_FLAG@
3175 export LDOPTS=@LDOPTS@
3176 export GCCVER=@GCCVER@
3177 export GCCNUM=@GCCNUM@
3178 export UNAME=@UNAME@
3179 export MANUALDEV=@MANUALDEV@
3180 export TTS_OPTS=@TTS_OPTS@
3181 export TTS_ENGINE=@TTS_ENGINE@
3182 export ENC_OPTS=@ENC_OPTS@
3183 export ENCODER=@ENCODER@
3184 export USE_ELF=@USE_ELF@
3185 export RBDIR=@RBDIR@
3186 export SDLCONFIG=@SDLCONFIG@
3188 CONFIGURE_OPTIONS=@CMDLINE@
3190 include \$(TOOLSDIR)/root.make
3194 echo "Created Makefile"