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 # global LD options for all platforms
15 GLOBAL_LDOPTS
="-Wl,-z,defs"
17 use_logf
="#undef ROCKBOX_HAS_LOGF"
18 use_bootchart
="#undef DO_BOOTCHART"
20 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
25 # Begin Function Definitions
35 WINDRES
=${prefix}windres
36 DLLTOOL
=${prefix}dlltool
37 DLLWRAP
=${prefix}dllwrap
38 RANLIB
=${prefix}ranlib
46 # FIXME: ipod4g buttons do not work
47 [ "$ARG_ARM_EABI" != 1 -a "$modelname" = "ipod4g" ] && ARG_ARM_EABI
="0"
49 if [ "$ARG_ARM_EABI" != "0" ]; then
50 prefixtools arm-elf-eabi-
58 # scan the $PATH for the given command
65 # echo "checks for $file in $path" >&2
66 if test -f "$path/$file"; then
71 # check whether caller wants literal return value if not found
72 if [ "$2" = "--lit" ]; then
77 # scan the $PATH for sdl-config - check whether for a (cross-)win32
86 #echo "checks for $file in $path" >&2
87 if test -f "$path/$file"; then
88 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
89 if [ "yes" = "${winbuild}" ]; then
94 if [ "yes" != "${winbuild}" ]; then
105 # default tool setup for native building
106 prefixtools
"$CROSS_COMPILE"
107 ARG_ARM_THUMB
=0 # can't use thumb in native builds
110 winbuild
="$crosscompile"
111 GCCOPTS
='-W -Wall -g -fno-builtin'
113 LDOPTS
='-lm' # button-sdl.c uses sqrt()
115 # default output binary name
118 # default share option, override below if needed
119 SHARED_FLAG
="-shared"
123 echo "Cygwin host detected"
125 LDOPTS
="$LDOPTS -mconsole"
126 output
="rockboxui.exe"
131 echo "MinGW host detected"
133 LDOPTS
="$LDOPTS -mconsole"
134 output
="rockboxui.exe"
139 echo "Linux host detected"
140 LDOPTS
="$LDOPTS -ldl"
144 echo "FreeBSD host detected"
145 LDOPTS
="$LDOPTS -ldl"
149 echo "Darwin host detected"
150 LDOPTS
="$LDOPTS -ldl"
152 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
156 echo "*Solaris host detected"
158 GCCOPTS
="$GCCOPTS -fPIC"
159 LDOPTS
="$LDOPTS -ldl"
163 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
168 sdl
=`findsdl $winbuild`
170 if [ $1 = "sdl" ]; then
171 if [ -z "$sdl" ]; then
172 echo "configure didn't find sdl-config, which indicates that you"
173 echo "don't have SDL (properly) installed. Please correct and"
174 echo "re-run configure!"
177 # generic sdl-config checker
178 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
179 LDOPTS
="$LDOPTS `$sdl --libs`"
183 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
185 if test "X$crosscompile" != "Xyes"; then
188 # fPIC is needed to make shared objects link
189 # setting visibility to hidden is necessary to avoid strange crashes
190 # due to symbol clashing
191 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
192 # x86_64 supports MMX by default
196 echo "Enabling MMX support"
197 GCCOPTS
="$GCCOPTS -mmmx"
202 cat >$tmpdir/conftest-
$id.c
<<EOF
204 int main(int argc, char **argv)
207 char *varp = (char *)&var;
215 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
217 # when cross compiling, the endianess cannot be detected because the above program doesn't run
218 # on the local machine. assume little endian but print a warning
219 endian
=`$tmpdir/conftest-$id 2> /dev/null`
220 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
228 if [ "$CROSS_COMPILE" != "" ]; then
229 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
232 if [ $1 = "sdl" ]; then
233 echo "Simulator environment deemed $endian endian"
234 elif [ $1 = "checkwps" ]; then
235 echo "CheckWPS environment deemed $endian endian"
238 # use wildcard here to make it work even if it was named *.exe like
240 rm -f $tmpdir/conftest-
$id*
242 # We are crosscompiling
243 # add cross-compiler option(s)
244 prefixtools i586-mingw32msvc-
245 LDOPTS
="$LDOPTS -mconsole"
246 output
="rockboxui.exe"
247 endian
="little" # windows is little endian
248 echo "Enabling MMX support"
249 GCCOPTS
="$GCCOPTS -mmmx"
254 # functions for setting up cross-compiler names and options
255 # also set endianess and what the exact recommended gcc version is
256 # the gcc version should most likely match what versions we build with
261 GCCOPTS
="$CCOPTS -m1"
262 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
268 prefixtools calmrisc16-unknown-elf-
269 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
270 GCCOPTIMIZE
="-fomit-frame-pointer"
275 prefixtools m68k-elf-
276 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
277 GCCOPTIMIZE
="-fomit-frame-pointer"
284 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
285 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
286 GCCOPTS
="$GCCOPTS -mlong-calls"
288 GCCOPTIMIZE
="-fomit-frame-pointer"
294 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
295 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
296 GCCOPTS
="$GCCOPTS -mlong-calls"
298 GCCOPTIMIZE
="-fomit-frame-pointer"
304 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
305 if test "$ARG_ARM_EABI" = "0"; then
306 GCCOPTS
="$GCCOPTS -mlong-calls"
308 GCCOPTIMIZE
="-fomit-frame-pointer"
314 GCCOPTS
="$CCOPTS -mcpu=arm940t"
315 if test "$ARG_ARM_EABI" = "0"; then
316 GCCOPTS
="$GCCOPTS -mlong-calls"
318 GCCOPTIMIZE
="-fomit-frame-pointer"
324 GCCOPTS
="$CCOPTS -mcpu=arm9e"
325 if test "$ARG_ARM_EABI" = "0"; then
326 GCCOPTS
="$GCCOPTS -mlong-calls"
328 GCCOPTIMIZE
="-fomit-frame-pointer"
334 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
335 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
336 GCCOPTS
="$GCCOPTS -mlong-calls"
338 GCCOPTIMIZE
="-fomit-frame-pointer"
344 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
345 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
346 GCCOPTS
="$GCCOPTS -mlong-calls"
348 GCCOPTIMIZE
="-fomit-frame-pointer"
354 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
355 if test "$ARG_ARM_EABI" = "0"; then
356 GCCOPTS
="$GCCOPTS -mlong-calls"
358 GCCOPTIMIZE
="-fomit-frame-pointer"
363 prefixtools mipsel-elf-
364 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
365 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
366 GCCOPTIMIZE
="-fomit-frame-pointer"
372 atype
=`echo "$1" | cut -c 2-`
373 ##################################################################
374 # Prompt for specific developer options
376 if [ "$atype" ]; then
381 printf "Enter your developer options (press only enter when done)\n\
382 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
383 (T)est plugins, S(m)all C lib:"
384 if [ "$memory" = "2" ]; then
387 if [ "$modelname" = "archosplayer" ]; then
388 printf ", Use (A)TA poweroff"
390 if [ "$t_model" = "ondio" ]; then
391 printf ", (B)acklight MOD"
393 if [ "$modelname" = "iaudiom5" ]; then
394 printf ", (F)M radio MOD"
396 if [ "$modelname" = "iriverh120" ]; then
403 while [ $cont = "1" ]; do
405 if [ "$interact" ]; then
408 option
=`echo "$atype" | cut -c 1`
413 if [ "yes" = "$profile" ]; then
414 echo "Debug is incompatible with profiling"
416 echo "DEBUG build enabled"
421 echo "logf() support enabled"
425 echo "Using Rockbox' small C library"
426 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
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 boottool
="$rootdir/tools/scramble -iaudiox5"
1538 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1539 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1540 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1541 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1542 output
="rockbox.iaudio"
1543 bootoutput
="x5_fw.bin"
1544 appextra
="recorder:gui:radio"
1547 # toolset is the tools within the tools directory that we build for
1548 # this particular target.
1549 toolset
="$iaudiobitmaptools"
1550 # architecture, manufacturer and model for the target-tree build
1552 t_manufacturer
="iaudio"
1558 modelname
="iaudiom5"
1559 target
="-DIAUDIO_M5"
1562 tool
="$rootdir/tools/scramble -add=iam5"
1563 boottool
="$rootdir/tools/scramble -iaudiom5"
1564 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1565 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1566 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1567 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1568 output
="rockbox.iaudio"
1569 bootoutput
="m5_fw.bin"
1570 appextra
="recorder:gui:radio"
1573 # toolset is the tools within the tools directory that we build for
1574 # this particular target.
1575 toolset
="$iaudiobitmaptools"
1576 # architecture, manufacturer and model for the target-tree build
1578 t_manufacturer
="iaudio"
1588 tool
="$rootdir/tools/scramble -add=i7"
1589 boottool
="$rootdir/tools/scramble -tcc=crc"
1590 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1591 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1592 output
="rockbox.iaudio"
1593 appextra
="recorder:gui:radio"
1596 bootoutput
="I7_FW.BIN"
1597 # toolset is the tools within the tools directory that we build for
1598 # this particular target.
1599 toolset
="$tccbitmaptools"
1600 # architecture, manufacturer and model for the target-tree build
1602 t_manufacturer
="tcc77x"
1612 tool
="$rootdir/tools/scramble -add=d2"
1614 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1615 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1617 bootoutput
="bootloader-cowond2.bin"
1618 appextra
="recorder:gui:radio"
1621 toolset
="$tccbitmaptools"
1622 # architecture, manufacturer and model for the target-tree build
1624 t_manufacturer
="tcc780x"
1630 modelname
="iaudiom3"
1631 target
="-DIAUDIO_M3"
1634 tool
="$rootdir/tools/scramble -add=iam3"
1635 boottool
="$rootdir/tools/scramble -iaudiom3"
1636 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1637 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1638 output
="rockbox.iaudio"
1639 bootoutput
="cowon_m3.bin"
1640 appextra
="recorder:gui:radio"
1643 # toolset is the tools within the tools directory that we build for
1644 # this particular target.
1645 toolset
="$iaudiobitmaptools"
1646 # architecture, manufacturer and model for the target-tree build
1648 t_manufacturer
="iaudio"
1654 modelname
="gigabeatfx"
1655 target
="-DGIGABEAT_F"
1658 tool
="$rootdir/tools/scramble -add=giga"
1659 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1660 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1661 output
="rockbox.gigabeat"
1662 appextra
="recorder:gui:radio"
1665 toolset
=$gigabeatbitmaptools
1666 boottool
="$rootdir/tools/scramble -gigabeat"
1667 bootoutput
="FWIMG01.DAT"
1668 # architecture, manufacturer and model for the target-tree build
1670 t_manufacturer
="s3c2440"
1671 t_model
="gigabeat-fx"
1676 modelname
="gigabeats"
1677 target
="-DGIGABEAT_S"
1680 tool
="$rootdir/tools/scramble -add=gigs"
1681 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1682 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1683 output
="rockbox.gigabeat"
1684 appextra
="recorder:gui:radio"
1687 toolset
="$gigabeatbitmaptools"
1688 boottool
="$rootdir/tools/scramble -gigabeats"
1690 # architecture, manufacturer and model for the target-tree build
1692 t_manufacturer
="imx31"
1693 t_model
="gigabeat-s"
1698 modelname
="mrobe500"
1699 target
="-DMROBE_500"
1702 tool
="$rootdir/tools/scramble -add=m500"
1703 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1704 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1705 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1706 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1707 output
="rockbox.mrobe500"
1708 appextra
="recorder:gui:radio"
1711 toolset
=$gigabeatbitmaptools
1713 bootoutput
="rockbox.mrboot"
1714 # architecture, manufacturer and model for the target-tree build
1716 t_manufacturer
="tms320dm320"
1722 modelname
="mrobe100"
1723 target
="-DMROBE_100"
1726 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1727 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1728 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1729 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1730 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1731 output
="rockbox.mi4"
1732 appextra
="recorder:gui:radio"
1735 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1736 bootoutput
="pp5020.mi4"
1737 # toolset is the tools within the tools directory that we build for
1738 # this particular target.
1739 toolset
=$scramblebitmaptools
1740 # architecture, manufacturer and model for the target-tree build
1742 t_manufacturer
="olympus"
1748 modelname
="logikdax"
1749 target
="-DLOGIK_DAX"
1752 tool
="$rootdir/tools/scramble -add=ldax"
1753 boottool
="$rootdir/tools/scramble -tcc=crc"
1754 bootoutput
="player.rom"
1755 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1756 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1757 output
="rockbox.logik"
1758 appextra
="recorder:gui:radio"
1761 # toolset is the tools within the tools directory that we build for
1762 # this particular target.
1763 toolset
=$tccbitmaptools
1764 # architecture, manufacturer and model for the target-tree build
1766 t_manufacturer
="tcc77x"
1772 modelname
="zenvisionm30gb"
1773 target
="-DCREATIVE_ZVM"
1776 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1777 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1778 tool
="$rootdir/tools/scramble -creative=zvm"
1780 output
="rockbox.zvm"
1781 appextra
="recorder:gui:radio"
1784 toolset
=$ipodbitmaptools
1785 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1786 bootoutput
="rockbox.zvmboot"
1787 # architecture, manufacturer and model for the target-tree build
1789 t_manufacturer
="tms320dm320"
1790 t_model
="creative-zvm"
1795 modelname
="zenvisionm60gb"
1796 target
="-DCREATIVE_ZVM60GB"
1799 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1800 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1801 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1803 output
="rockbox.zvm60"
1804 appextra
="recorder:gui:radio"
1807 toolset
=$ipodbitmaptools
1808 boottool
="$rootdir/tools/scramble -creative=zvm60"
1809 bootoutput
="rockbox.zvm60boot"
1810 # architecture, manufacturer and model for the target-tree build
1812 t_manufacturer
="tms320dm320"
1813 t_model
="creative-zvm"
1818 modelname
="zenvision"
1819 target
="-DCREATIVE_ZV"
1822 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1823 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1824 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1827 appextra
="recorder:gui:radio"
1830 toolset
=$ipodbitmaptools
1831 boottool
="$rootdir/tools/scramble -creative=zenvision"
1832 bootoutput
="rockbox.zvboot"
1833 # architecture, manufacturer and model for the target-tree build
1835 t_manufacturer
="tms320dm320"
1836 t_model
="creative-zvm"
1841 modelname
="sansae200"
1842 target
="-DSANSA_E200"
1843 memory
=32 # supposedly
1845 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1846 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1847 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1848 output
="rockbox.mi4"
1849 appextra
="recorder:gui:radio"
1852 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1853 bootoutput
="PP5022.mi4"
1854 # toolset is the tools within the tools directory that we build for
1855 # this particular target.
1856 toolset
=$scramblebitmaptools
1857 # architecture, manufacturer and model for the target-tree build
1859 t_manufacturer
="sandisk"
1860 t_model
="sansa-e200"
1864 # the e200R model is pretty much identical to the e200, it only has a
1865 # different option to the scramble tool when building a bootloader and
1866 # makes the bootloader output file name in all lower case.
1868 modelname
="sansae200r"
1869 target
="-DSANSA_E200"
1870 memory
=32 # supposedly
1872 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1873 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1874 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1875 output
="rockbox.mi4"
1876 appextra
="recorder:gui:radio"
1879 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1880 bootoutput
="pp5022.mi4"
1881 # toolset is the tools within the tools directory that we build for
1882 # this particular target.
1883 toolset
=$scramblebitmaptools
1884 # architecture, manufacturer and model for the target-tree build
1886 t_manufacturer
="sandisk"
1887 t_model
="sansa-e200"
1892 modelname
="sansac200"
1893 target
="-DSANSA_C200"
1894 memory
=32 # supposedly
1896 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1897 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1898 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1899 output
="rockbox.mi4"
1900 appextra
="recorder:gui:radio"
1903 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1904 bootoutput
="firmware.mi4"
1905 # toolset is the tools within the tools directory that we build for
1906 # this particular target.
1907 toolset
=$scramblebitmaptools
1908 # architecture, manufacturer and model for the target-tree build
1910 t_manufacturer
="sandisk"
1911 t_model
="sansa-c200"
1916 modelname
="sansam200"
1917 target
="-DSANSA_M200"
1920 tool
="$rootdir/tools/scramble -add=m200"
1921 boottool
="$rootdir/tools/scramble -tcc=crc"
1922 bootoutput
="player.rom"
1923 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1924 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1925 output
="rockbox.m200"
1926 appextra
="recorder:gui:radio"
1929 # toolset is the tools within the tools directory that we build for
1930 # this particular target.
1931 toolset
=$tccbitmaptools
1932 # architecture, manufacturer and model for the target-tree build
1934 t_manufacturer
="tcc77x"
1940 modelname
="sansac100"
1941 target
="-DSANSA_C100"
1944 tool
="$rootdir/tools/scramble -add=c100"
1945 boottool
="$rootdir/tools/scramble -tcc=crc"
1946 bootoutput
="player.rom"
1947 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1948 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1949 output
="rockbox.c100"
1950 appextra
="recorder:gui:radio"
1953 # toolset is the tools within the tools directory that we build for
1954 # this particular target.
1955 toolset
=$tccbitmaptools
1956 # architecture, manufacturer and model for the target-tree build
1958 t_manufacturer
="tcc77x"
1964 modelname
="sansaclip"
1965 target
="-DSANSA_CLIP"
1967 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1968 bmp2rb_native
="$bmp2rb_mono"
1969 tool
="$rootdir/tools/scramble -add=clip"
1970 output
="rockbox.sansa"
1971 bootoutput
="bootloader-clip.sansa"
1972 appextra
="recorder:gui:radio"
1975 toolset
=$scramblebitmaptools
1977 t_manufacturer
="as3525"
1978 t_model
="sansa-clip"
1979 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1981 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1987 modelname
="sansae200v2"
1988 target
="-DSANSA_E200V2"
1990 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1991 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1992 tool
="$rootdir/tools/scramble -add=e2v2"
1993 output
="rockbox.sansa"
1994 bootoutput
="bootloader-e200v2.sansa"
1995 appextra
="recorder:gui:radio"
1998 toolset
=$scramblebitmaptools
2000 t_manufacturer
="as3525"
2001 t_model
="sansa-e200v2"
2008 modelname
="sansam200v4"
2009 target
="-DSANSA_M200V4"
2011 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2012 bmp2rb_native
="$bmp2rb_mono"
2013 tool
="$rootdir/tools/scramble -add=m2v4"
2014 output
="rockbox.sansa"
2015 bootoutput
="bootloader-m200v4.sansa"
2016 appextra
="recorder:gui:radio"
2019 toolset
=$scramblebitmaptools
2021 t_manufacturer
="as3525"
2022 t_model
="sansa-m200v4"
2023 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2025 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2031 modelname
="sansafuze"
2032 target
="-DSANSA_FUZE"
2034 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2035 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2036 tool
="$rootdir/tools/scramble -add=fuze"
2037 output
="rockbox.sansa"
2038 bootoutput
="bootloader-fuze.sansa"
2039 appextra
="recorder:gui:radio"
2042 toolset
=$scramblebitmaptools
2044 t_manufacturer
="as3525"
2045 t_model
="sansa-fuze"
2052 modelname
="sansac200v2"
2053 target
="-DSANSA_C200V2"
2054 memory
=2 # as per OF diagnosis mode
2055 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2056 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2057 tool
="$rootdir/tools/scramble -add=c2v2"
2058 output
="rockbox.sansa"
2059 bootoutput
="bootloader-c200v2.sansa"
2060 appextra
="recorder:gui:radio"
2063 # toolset is the tools within the tools directory that we build for
2064 # this particular target.
2065 toolset
=$scramblebitmaptools
2066 # architecture, manufacturer and model for the target-tree build
2068 t_manufacturer
="as3525"
2069 t_model
="sansa-c200v2"
2070 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2072 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2077 modelname
="sansaclipv2"
2078 target
="-DSANSA_CLIPV2"
2080 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2081 bmp2rb_native
="$bmp2rb_mono"
2082 tool
="$rootdir/tools/scramble -add=clv2"
2083 output
="rockbox.sansa"
2084 bootoutput
="bootloader-clipv2.sansa"
2085 appextra
="recorder:gui:radio"
2088 toolset
=$scramblebitmaptools
2090 t_manufacturer
="as3525"
2091 t_model
="sansa-clipv2"
2096 echo "Sansa View is not yet supported!"
2099 modelname
="sansaview"
2100 target
="-DSANSA_VIEW"
2103 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2104 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2105 output
="rockbox.mi4"
2109 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2110 bootoutput
="firmware.mi4"
2111 # toolset is the tools within the tools directory that we build for
2112 # this particular target.
2113 toolset
=$scramblebitmaptools
2115 t_manufacturer
="sandisk"
2116 t_model
="sansa-view"
2121 modelname
="sansaclipplus"
2122 target
="-DSANSA_CLIPPLUS"
2124 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2125 bmp2rb_native
="$bmp2rb_mono"
2126 tool
="$rootdir/tools/scramble -add=cli+"
2127 output
="rockbox.sansa"
2128 bootoutput
="bootloader-clipplus.sansa"
2129 appextra
="recorder:gui:radio"
2132 toolset
=$scramblebitmaptools
2134 t_manufacturer
="as3525"
2135 t_model
="sansa-clipplus"
2141 modelname
="sansafuzev2"
2142 target
="-DSANSA_FUZEV2"
2144 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2145 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2146 tool
="$rootdir/tools/scramble -add=fuz2"
2147 output
="rockbox.sansa"
2148 bootoutput
="bootloader-fuzev2.sansa"
2149 appextra
="recorder:gui:radio"
2152 toolset
=$scramblebitmaptools
2154 t_manufacturer
="as3525"
2155 t_model
="sansa-fuzev2"
2161 modelname
="tatungtpj1022"
2162 target
="-DTATUNG_TPJ1022"
2165 tool
="$rootdir/tools/scramble -add tpj2"
2166 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2167 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2168 output
="rockbox.elio"
2169 appextra
="recorder:gui:radio"
2172 boottool
="$rootdir/tools/scramble -mi4v2"
2173 bootoutput
="pp5020.mi4"
2174 # toolset is the tools within the tools directory that we build for
2175 # this particular target.
2176 toolset
=$scramblebitmaptools
2177 # architecture, manufacturer and model for the target-tree build
2179 t_manufacturer
="tatung"
2185 modelname
="gogearsa9200"
2186 target
="-DPHILIPS_SA9200"
2187 memory
=32 # supposedly
2189 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2190 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2191 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2192 output
="rockbox.mi4"
2193 appextra
="recorder:gui:radio"
2196 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2197 bootoutput
="FWImage.ebn"
2198 # toolset is the tools within the tools directory that we build for
2199 # this particular target.
2200 toolset
=$scramblebitmaptools
2201 # architecture, manufacturer and model for the target-tree build
2203 t_manufacturer
="philips"
2209 modelname
="gogearhdd1630"
2210 target
="-DPHILIPS_HDD1630"
2211 memory
=32 # supposedly
2213 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2214 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2215 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2216 output
="rockbox.mi4"
2217 appextra
="recorder:gui:radio"
2220 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2221 bootoutput
="FWImage.ebn"
2222 # toolset is the tools within the tools directory that we build for
2223 # this particular target.
2224 toolset
=$scramblebitmaptools
2225 # architecture, manufacturer and model for the target-tree build
2227 t_manufacturer
="philips"
2233 modelname
="gogearhdd6330"
2234 target
="-DPHILIPS_HDD6330"
2237 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2238 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2239 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2240 output
="rockbox.mi4"
2241 appextra
="recorder:gui:radio"
2244 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2245 bootoutput
="FWImage.ebn"
2246 # toolset is the tools within the tools directory that we build for
2247 # this particular target.
2248 toolset
=$scramblebitmaptools
2249 # architecture, manufacturer and model for the target-tree build
2251 t_manufacturer
="philips"
2257 modelname
="meizum6sl"
2258 target
="-DMEIZU_M6SL"
2262 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2263 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2264 output
="rockbox.meizu"
2265 appextra
="recorder:gui:radio"
2268 toolset
=$genericbitmaptools
2270 bootoutput
="rockboot.ebn"
2271 # architecture, manufacturer and model for the target-tree build
2273 t_manufacturer
="s5l8700"
2274 t_model
="meizu-m6sl"
2279 modelname
="meizum6sp"
2280 target
="-DMEIZU_M6SP"
2284 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2285 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2286 output
="rockbox.meizu"
2287 appextra
="recorder:gui:radio"
2290 toolset
=$genericbitmaptools
2292 bootoutput
="rockboot.ebn"
2293 # architecture, manufacturer and model for the target-tree build
2295 t_manufacturer
="s5l8700"
2296 t_model
="meizu-m6sp"
2306 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2307 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2308 output
="rockbox.meizu"
2309 appextra
="recorder:gui:radio"
2312 toolset
=$genericbitmaptools
2314 bootoutput
="rockboot.ebn"
2315 # architecture, manufacturer and model for the target-tree build
2317 t_manufacturer
="s5l8700"
2323 modelname
="ondavx747"
2324 target
="-DONDA_VX747"
2327 tool
="$rootdir/tools/scramble -add=x747"
2328 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2329 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2330 output
="rockbox.vx747"
2331 appextra
="recorder:gui:radio"
2334 toolset
=$genericbitmaptools
2335 boottool
="$rootdir/tools/scramble -ccpmp"
2336 bootoutput
="ccpmp.bin"
2337 # architecture, manufacturer and model for the target-tree build
2339 t_manufacturer
="ingenic_jz47xx"
2340 t_model
="onda_vx747"
2345 modelname
="ondavx767"
2346 target
="-DONDA_VX767"
2350 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2351 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2352 output
="rockbox.vx767"
2353 appextra
="recorder:gui:radio"
2356 toolset
=$genericbitmaptools
2357 boottool
="$rootdir/tools/scramble -ccpmp"
2358 bootoutput
="ccpmp.bin"
2359 # architecture, manufacturer and model for the target-tree build
2361 t_manufacturer
="ingenic_jz47xx"
2362 t_model
="onda_vx767"
2367 modelname
="ondavx747p"
2368 target
="-DONDA_VX747P"
2371 tool
="$rootdir/tools/scramble -add=747p"
2372 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2373 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2374 output
="rockbox.vx747p"
2375 appextra
="recorder:gui:radio"
2378 toolset
=$genericbitmaptools
2379 boottool
="$rootdir/tools/scramble -ccpmp"
2380 bootoutput
="ccpmp.bin"
2381 # architecture, manufacturer and model for the target-tree build
2383 t_manufacturer
="ingenic_jz47xx"
2384 t_model
="onda_vx747"
2389 modelname
="ondavx777"
2390 target
="-DONDA_VX777"
2393 tool
="$rootdir/tools/scramble -add=x777"
2394 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2395 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2396 output
="rockbox.vx777"
2397 appextra
="recorder:gui:radio"
2400 toolset
=$genericbitmaptools
2401 boottool
="$rootdir/tools/scramble -ccpmp"
2402 bootoutput
="ccpmp.bin"
2403 # architecture, manufacturer and model for the target-tree build
2405 t_manufacturer
="ingenic_jz47xx"
2406 t_model
="onda_vx747"
2411 modelname
="lyreproto1"
2412 target
="-DLYRE_PROTO1"
2416 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2417 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2418 output
="rockbox.lyre"
2419 appextra
="recorder:gui:radio"
2422 toolset
=$scramblebitmaptools
2424 bootoutput
="bootloader-proto1.lyre"
2425 # architecture, manufacturer and model for the target-tree build
2427 t_manufacturer
="at91sam"
2428 t_model
="lyre_proto1"
2433 modelname
="mini2440"
2437 tool
="$rootdir/tools/scramble -add=m244"
2438 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2439 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2440 output
="rockbox.mini2440"
2441 appextra
="recorder:gui:radio"
2444 toolset
=$scramblebitmaptools
2446 bootoutput
="bootloader-mini2440.lyre"
2447 # architecture, manufacturer and model for the target-tree build
2449 t_manufacturer
="s3c2440"
2455 modelname
="samsungyh820"
2456 target
="-DSAMSUNG_YH820"
2459 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2460 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2461 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2462 output
="rockbox.mi4"
2463 appextra
="recorder:gui:radio"
2466 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2467 bootoutput
="FW_YH820.mi4"
2468 # toolset is the tools within the tools directory that we build for
2469 # this particular target.
2470 toolset
=$scramblebitmaptools
2471 # architecture, manufacturer and model for the target-tree build
2473 t_manufacturer
="samsung"
2479 modelname
="samsungyh920"
2480 target
="-DSAMSUNG_YH920"
2483 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2484 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2485 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2486 output
="rockbox.mi4"
2487 appextra
="recorder:gui:radio"
2490 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2491 bootoutput
="PP5020.mi4"
2492 # toolset is the tools within the tools directory that we build for
2493 # this particular target.
2494 toolset
=$scramblebitmaptools
2495 # architecture, manufacturer and model for the target-tree build
2497 t_manufacturer
="samsung"
2503 modelname
="samsungyh925"
2504 target
="-DSAMSUNG_YH925"
2507 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2508 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2509 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2510 output
="rockbox.mi4"
2511 appextra
="recorder:gui:radio"
2514 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2515 bootoutput
="FW_YH925.mi4"
2516 # toolset is the tools within the tools directory that we build for
2517 # this particular target.
2518 toolset
=$scramblebitmaptools
2519 # architecture, manufacturer and model for the target-tree build
2521 t_manufacturer
="samsung"
2527 modelname
="samsungyps3"
2528 target
="-DSAMSUNG_YPS3"
2532 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2533 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2534 output
="rockbox.yps3"
2535 appextra
="recorder:gui:radio"
2538 toolset
=$genericbitmaptools
2540 bootoutput
="rockboot.ebn"
2541 # architecture, manufacturer and model for the target-tree build
2543 t_manufacturer
="s5l8700"
2550 target
="-DPBELL_VIBE500"
2553 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2554 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2555 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2556 output
="rockbox.mi4"
2557 appextra
="recorder:gui:radio"
2560 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2561 bootoutput
="jukebox.mi4"
2562 # toolset is the tools within the tools directory that we build for
2563 # this particular target.
2564 toolset
=$scramblebitmaptools
2565 # architecture, manufacturer and model for the target-tree build
2567 t_manufacturer
="pbell"
2573 modelname
="mpiohd200"
2574 target
="-DMPIO_HD200"
2577 tool
="$rootdir/tools/scramble -add=hd20"
2578 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2579 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2580 output
="rockbox.mpio"
2581 bootoutput
="bootloader.mpio"
2582 appextra
="recorder:gui:radio"
2585 # toolset is the tools within the tools directory that we build for
2586 # this particular target.
2587 toolset
="$genericbitmaptools"
2588 # architecture, manufacturer and model for the target-tree build
2590 t_manufacturer
="mpio"
2595 echo "Please select a supported target platform!"
2601 echo "Platform set to $modelname"
2605 ############################################################################
2606 # Amount of memory, for those that can differ. They have $memory unset at
2610 if [ -z "$memory" ]; then
2613 if [ "$ARG_RAM" ]; then
2616 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2629 if [ "$ARG_RAM" ]; then
2632 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2645 echo "Memory size selected: $memory MB"
2646 [ "$ARG_TYPE" ] ||
echo ""
2650 ##################################################################
2651 # Figure out build "type"
2654 # the ifp7x0 is the only platform that supports building a gdb stub like
2658 gdbstub
="(G)DB stub, "
2660 sansae200r|sansae200
)
2661 gdbstub
="(I)nstaller, "
2664 gdbstub
="(E)raser, "
2669 if [ "$ARG_TYPE" ]; then
2672 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2678 appsdir
='\$(ROOTDIR)/bootloader'
2680 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2682 echo "e200R-installer build selected"
2685 appsdir
='\$(ROOTDIR)/bootloader'
2687 echo "C2(4)0 or C2(5)0"
2691 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2692 echo "c240 eraser build selected"
2695 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2696 echo "c240 eraser build selected"
2700 echo "c200 eraser build selected"
2703 if test $t_manufacturer = "archos"; then
2704 # Archos SH-based players do this somewhat differently for
2706 appsdir
='\$(ROOTDIR)/flash/bootbox'
2709 appsdir
='\$(ROOTDIR)/bootloader'
2712 if test -n "$boottool"; then
2715 if test -n "$bootoutput"; then
2719 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2721 echo "Bootloader build selected"
2724 if [ "$modelname" = "sansae200r" ]; then
2725 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2730 extradefines
="-DSIMULATOR"
2733 echo "Simulator build selected"
2736 echo "Advanced build selected"
2737 whichadvanced
$btype
2740 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2741 appsdir
='\$(ROOTDIR)/gdb'
2750 echo "GDB stub build selected"
2755 echo "Manual build selected"
2763 extradefines
="-DDEBUG"
2764 appsdir
='\$(ROOTDIR)/tools/checkwps';
2765 output
='checkwps.'${modelname};
2767 echo "CheckWPS build selected"
2775 appsdir
='\$(ROOTDIR)/tools/database';
2780 output
="database_${modelname}.exe"
2783 output
='database.'${modelname};
2787 echo "Database tool build selected"
2790 if [ "$modelname" = "sansae200r" ]; then
2791 echo "Do not use the e200R target for regular builds. Use e200 instead."
2795 btype
="N" # set it explicitly since RET only gets here as well
2796 echo "Normal build selected"
2800 # to be able running "make manual" from non-manual configuration
2803 manualdev
="archosfmrecorder"
2806 manualdev
="iriverh100"
2809 manualdev
="ipodmini1g"
2812 manualdev
=$modelname
2816 if [ -z "$debug" ]; then
2817 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2820 echo "Using source code root directory: $rootdir"
2822 # this was once possible to change at build-time, but no more:
2827 if [ "yes" = "$simulator" ]; then
2828 # setup compiler and things for simulator
2831 if [ -d "simdisk" ]; then
2832 echo "Subdirectory 'simdisk' already present"
2835 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2839 # Now, figure out version number of the (gcc) compiler we are about to use
2840 gccver
=`$CC -dumpversion`;
2842 # figure out the binutil version too and display it, mostly for the build
2843 # system etc to be able to see it easier
2844 if [ $uname = "Darwin" ]; then
2845 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2847 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2850 if [ -z "$gccver" ]; then
2851 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2852 echo "[WARNING] this may cause your build to fail since we cannot do the"
2853 echo "[WARNING] checks we want now."
2856 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2859 num1
=`echo $gccver | cut -d . -f1`
2860 num2
=`echo $gccver | cut -d . -f2`
2861 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2868 echo "Using $CC $gccver ($gccnum)"
2870 if test "$gccnum" -ge "400"; then
2871 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2872 # so we ignore that warnings for now
2874 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2877 if test "$gccnum" -ge "402"; then
2878 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2879 # and later would throw it for several valid cases
2880 GCCOPTS
="$GCCOPTS -Wno-override-init"
2884 ""|
"$CROSS_COMPILE")
2888 # cross-compile for win32
2891 # Verify that the cross-compiler is of a recommended version!
2892 if test "$gccver" != "$gccchoice"; then
2893 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2894 echo "WARNING: version $gccchoice!"
2895 echo "WARNING: This may cause your build to fail since it may be a version"
2896 echo "WARNING: that isn't functional or known to not be the best choice."
2897 echo "WARNING: If you suffer from build problems, you know that this is"
2898 echo "WARNING: a likely source for them..."
2906 echo "Using $LD $ldver"
2908 # check the compiler for SH platforms
2909 if test "$CC" = "sh-elf-gcc"; then
2910 if test "$gccnum" -lt "400"; then
2911 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2912 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2914 # figure out patch status
2915 gccpatch
=`$CC --version`;
2917 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2918 echo "gcc $gccver is rockbox patched"
2919 # then convert -O to -Os to get smaller binaries!
2920 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2922 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2923 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2928 if test "$CC" = "m68k-elf-gcc"; then
2929 # convert -O to -Os to get smaller binaries!
2930 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2933 if [ "$ARG_CCACHE" = "1" ]; then
2934 echo "Enable ccache for building"
2936 elif [ "$ARG_CCACHE" != "0" ]; then
2937 ccache
=`findtool ccache`
2938 if test -n "$ccache"; then
2939 echo "Found and uses ccache ($ccache)"
2943 # figure out the full path to the various commands if possible
2944 HOSTCC
=`findtool gcc --lit`
2945 HOSTAR
=`findtool ar --lit`
2946 CC
=`findtool ${CC} --lit`
2947 LD
=`findtool ${AR} --lit`
2948 AR
=`findtool ${AR} --lit`
2949 AS
=`findtool ${AS} --lit`
2950 OC
=`findtool ${OC} --lit`
2951 WINDRES
=`findtool ${WINDRES} --lit`
2952 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2953 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2954 RANLIB
=`findtool ${RANLIB} --lit`
2956 if test -n "$ccache"; then
2960 if test "$ARG_ARM_THUMB" = "1"; then
2961 extradefines
="$extradefines -DUSE_THUMB"
2962 CC
="$toolsdir/thumb-cc.py $CC"
2965 if test "X$endian" = "Xbig"; then
2966 defendian
="ROCKBOX_BIG_ENDIAN"
2968 defendian
="ROCKBOX_LITTLE_ENDIAN"
2971 if [ "$ARG_RBDIR" ]; then
2973 echo "Using alternate rockbox dir: ${rbdir}"
2977 -e "s<@ENDIAN@<${defendian}<g" \
2978 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
2979 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
2980 -e "s<@config_rtc@<$config_rtc<g" \
2981 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
2982 -e "s<@RBDIR@<${rbdir}<g" \
2983 -e "s<@have_backlight@<$have_backlight<g" \
2984 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
2985 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
2987 /* This header was made by configure */
2988 #ifndef __BUILD_AUTOCONF_H
2989 #define __BUILD_AUTOCONF_H
2991 /* Define endianess for the target or simulator platform */
2994 /* Define this if you build rockbox to support the logf logging and display */
2995 #undef ROCKBOX_HAS_LOGF
2997 /* Define this to record a chart with timings for the stages of boot */
3000 /* optional define for a backlight modded Ondio */
3003 /* optional define for FM radio mod for iAudio M5 */
3006 /* optional define for ATA poweroff on Player */
3009 /* optional defines for RTC mod for h1x0 */
3013 /* root of Rockbox */
3014 #define ROCKBOX_DIR "/@RBDIR@"
3016 #endif /* __BUILD_AUTOCONF_H */
3019 if test -n "$t_cpu"; then
3020 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3021 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3022 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3023 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3025 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3026 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3030 if test "$simulator" = "yes"; then
3031 # add simul make stuff on the #SIMUL# line
3032 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3033 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3035 # delete the lines that match
3036 simmagic1
='/@SIMUL1@/D'
3037 simmagic2
='/@SIMUL2@/D'
3040 if test "$swcodec" = "yes"; then
3041 voicetoolset
="rbspeexenc voicefont wavtrim"
3043 voicetoolset
="voicefont wavtrim"
3046 if test "$apps" = "apps"; then
3047 # only when we build "real" apps we build the .lng files
3051 #### Fix the cmdline ###
3052 if [ "$ARG_CCACHE" = "1" ]; then
3054 elif [ "$ARG_CCACHE" = "0" ]; then
3055 cmdline
="--no-ccache "
3057 if [ "$ARG_ARM_EABI" = "1" ]; then
3058 cmdline
="$cmdline--eabi "
3061 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3065 -e "s<@ROOTDIR@<${rootdir}<g" \
3066 -e "s<@DEBUG@<${debug}<g" \
3067 -e "s<@MEMORY@<${memory}<g" \
3068 -e "s<@TARGET_ID@<${target_id}<g" \
3069 -e "s<@TARGET@<${target}<g" \
3070 -e "s<@CPU@<${t_cpu}<g" \
3071 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3072 -e "s<@MODELNAME@<${modelname}<g" \
3073 -e "s<@LANGUAGE@<${language}<g" \
3074 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3075 -e "s<@PWD@<${pwd}<g" \
3076 -e "s<@HOSTCC@<${HOSTCC}<g" \
3077 -e "s<@HOSTAR@<${HOSTAR}<g" \
3078 -e "s<@CC@<${CC}<g" \
3079 -e "s<@LD@<${LD}<g" \
3080 -e "s<@AR@<${AR}<g" \
3081 -e "s<@AS@<${AS}<g" \
3082 -e "s<@OC@<${OC}<g" \
3083 -e "s<@WINDRES@<${WINDRES}<g" \
3084 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3085 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3086 -e "s<@RANLIB@<${RANLIB}<g" \
3087 -e "s<@TOOL@<${tool}<g" \
3088 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3089 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3090 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3091 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3092 -e "s<@OUTPUT@<${output}<g" \
3093 -e "s<@APPEXTRA@<${appextra}<g" \
3094 -e "s<@ARCHOSROM@<${archosrom}<g" \
3095 -e "s<@FLASHFILE@<${flash}<g" \
3096 -e "s<@PLUGINS@<${plugins}<g" \
3097 -e "s<@CODECS@<${swcodec}<g" \
3098 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3099 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3100 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3101 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3102 -e "s<@LDOPTS@<${LDOPTS}<g" \
3103 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3104 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3105 -e "s<@EXTRADEF@<${extradefines}<g" \
3106 -e "s<@APPSDIR@<${appsdir}<g" \
3107 -e "s<@FIRMDIR@<${firmdir}<g" \
3108 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3109 -e "s<@APPS@<${apps}<g" \
3110 -e "s<@SIMVER@<${simver}<g" \
3111 -e "s<@GCCVER@<${gccver}<g" \
3112 -e "s<@GCCNUM@<${gccnum}<g" \
3113 -e "s<@UNAME@<${uname}<g" \
3114 -e "s<@ENDIAN@<${defendian}<g" \
3115 -e "s<@TOOLSET@<${toolset}<g" \
3118 -e "s<@MANUALDEV@<${manualdev}<g" \
3119 -e "s<@ENCODER@<${ENC_CMD}<g" \
3120 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3121 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3122 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3123 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3124 -e "s<@LANGS@<${buildlangs}<g" \
3125 -e "s<@USE_ELF@<${USE_ELF}<g" \
3126 -e "s<@RBDIR@<${rbdir}<g" \
3127 -e "s<@PREFIX@<$PREFIX<g" \
3128 -e "s<@CMDLINE@<$cmdline<g" \
3129 -e "s<@SDLCONFIG@<$sdl<g" \
3131 ## Automatically generated. http://www.rockbox.org/
3133 export ROOTDIR=@ROOTDIR@
3134 export FIRMDIR=@FIRMDIR@
3135 export APPSDIR=@APPSDIR@
3136 export TOOLSDIR=@TOOLSDIR@
3137 export DOCSDIR=\$(ROOTDIR)/docs
3138 export MANUALDIR=\${ROOTDIR}/manual
3139 export DEBUG=@DEBUG@
3140 export MODELNAME=@MODELNAME@
3141 export ARCHOSROM=@ARCHOSROM@
3142 export FLASHFILE=@FLASHFILE@
3143 export TARGET_ID=@TARGET_ID@
3144 export TARGET=@TARGET@
3146 export MANUFACTURER=@MANUFACTURER@
3148 export BUILDDIR=@PWD@
3149 export LANGUAGE=@LANGUAGE@
3150 export VOICELANGUAGE=@VOICELANGUAGE@
3151 export MEMORYSIZE=@MEMORY@
3152 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3153 export MKFIRMWARE=@TOOL@
3154 export BMP2RB_MONO=@BMP2RB_MONO@
3155 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3156 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3157 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3158 export BINARY=@OUTPUT@
3159 export APPEXTRA=@APPEXTRA@
3160 export ENABLEDPLUGINS=@PLUGINS@
3161 export SOFTWARECODECS=@CODECS@
3162 export EXTRA_DEFINES=@EXTRADEF@
3163 export HOSTCC=@HOSTCC@
3164 export HOSTAR=@HOSTAR@
3170 export WINDRES=@WINDRES@
3171 export DLLTOOL=@DLLTOOL@
3172 export DLLWRAP=@DLLWRAP@
3173 export RANLIB=@RANLIB@
3174 export PREFIX=@PREFIX@
3175 export PROFILE_OPTS=@PROFILE_OPTS@
3176 export SIMVER=@SIMVER@
3177 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3178 export GCCOPTS=@GCCOPTS@
3179 export TARGET_INC=@TARGET_INC@
3180 export LOADADDRESS=@LOADADDRESS@
3181 export SHARED_FLAG=@SHARED_FLAG@
3182 export LDOPTS=@LDOPTS@
3183 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3184 export GCCVER=@GCCVER@
3185 export GCCNUM=@GCCNUM@
3186 export UNAME=@UNAME@
3187 export MANUALDEV=@MANUALDEV@
3188 export TTS_OPTS=@TTS_OPTS@
3189 export TTS_ENGINE=@TTS_ENGINE@
3190 export ENC_OPTS=@ENC_OPTS@
3191 export ENCODER=@ENCODER@
3192 export USE_ELF=@USE_ELF@
3193 export RBDIR=@RBDIR@
3194 export SDLCONFIG=@SDLCONFIG@
3196 CONFIGURE_OPTIONS=@CMDLINE@
3198 include \$(TOOLSDIR)/root.make
3202 echo "Created Makefile"