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 # FIXME: ipod4g buttons do not work
44 [ "$ARG_ARM_EABI" != 1 -a "$modelname" = "ipod4g" ] && ARG_ARM_EABI
="0"
46 if [ "$ARG_ARM_EABI" != "0" ]; then
47 prefixtools arm-elf-eabi-
55 # scan the $PATH for the given command
62 # echo "checks for $file in $path" >&2
63 if test -f "$path/$file"; then
68 # check whether caller wants literal return value if not found
69 if [ "$2" = "--lit" ]; then
74 # scan the $PATH for sdl-config - check whether for a (cross-)win32
83 #echo "checks for $file in $path" >&2
84 if test -f "$path/$file"; then
85 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
86 if [ "yes" = "${winbuild}" ]; then
91 if [ "yes" != "${winbuild}" ]; then
102 # default tool setup for native building
103 prefixtools
"$CROSS_COMPILE"
104 ARG_ARM_THUMB
=0 # can't use thumb in native builds
107 winbuild
="$crosscompile"
108 GCCOPTS
='-W -Wall -g -fno-builtin'
110 LDOPTS
='-lm' # button-sdl.c uses sqrt()
112 # default output binary name
115 # default share option, override below if needed
116 SHARED_FLAG
="-shared"
120 echo "Cygwin host detected"
122 LDOPTS
="$LDOPTS -mconsole"
123 output
="rockboxui.exe"
128 echo "MinGW host detected"
130 LDOPTS
="$LDOPTS -mconsole"
131 output
="rockboxui.exe"
136 echo "Linux host detected"
137 LDOPTS
="$LDOPTS -ldl"
141 echo "FreeBSD host detected"
142 LDOPTS
="$LDOPTS -ldl"
146 echo "Darwin host detected"
147 LDOPTS
="$LDOPTS -ldl"
149 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
153 echo "*Solaris host detected"
155 GCCOPTS
="$GCCOPTS -fPIC"
156 LDOPTS
="$LDOPTS -ldl"
160 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
165 sdl
=`findsdl $winbuild`
167 if [ $1 = "sdl" ]; then
168 if [ -z "$sdl" ]; then
169 echo "configure didn't find sdl-config, which indicates that you"
170 echo "don't have SDL (properly) installed. Please correct and"
171 echo "re-run configure!"
174 # generic sdl-config checker
175 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
176 LDOPTS
="$LDOPTS `$sdl --libs`"
180 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
182 if test "X$crosscompile" != "Xyes"; then
185 # fPIC is needed to make shared objects link
186 # setting visibility to hidden is necessary to avoid strange crashes
187 # due to symbol clashing
188 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
189 # x86_64 supports MMX by default
193 echo "Enabling MMX support"
194 GCCOPTS
="$GCCOPTS -mmmx"
199 cat >$tmpdir/conftest-
$id.c
<<EOF
201 int main(int argc, char **argv)
204 char *varp = (char *)&var;
212 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
214 # when cross compiling, the endianess cannot be detected because the above program doesn't run
215 # on the local machine. assume little endian but print a warning
216 endian
=`$tmpdir/conftest-$id 2> /dev/null`
217 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
225 if [ "$CROSS_COMPILE" != "" ]; then
226 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
229 if [ $1 = "sdl" ]; then
230 echo "Simulator environment deemed $endian endian"
231 elif [ $1 = "checkwps" ]; then
232 echo "CheckWPS environment deemed $endian endian"
235 # use wildcard here to make it work even if it was named *.exe like
237 rm -f $tmpdir/conftest-
$id*
239 # We are crosscompiling
240 # add cross-compiler option(s)
241 prefixtools i586-mingw32msvc-
242 LDOPTS
="$LDOPTS -mconsole"
243 output
="rockboxui.exe"
244 endian
="little" # windows is little endian
245 echo "Enabling MMX support"
246 GCCOPTS
="$GCCOPTS -mmmx"
251 # functions for setting up cross-compiler names and options
252 # also set endianess and what the exact recommended gcc version is
253 # the gcc version should most likely match what versions we build with
258 GCCOPTS
="$CCOPTS -m1"
259 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
265 prefixtools calmrisc16-unknown-elf-
266 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
267 GCCOPTIMIZE
="-fomit-frame-pointer"
272 prefixtools m68k-elf-
273 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
274 GCCOPTIMIZE
="-fomit-frame-pointer"
281 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
282 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
283 GCCOPTS
="$GCCOPTS -mlong-calls"
285 GCCOPTIMIZE
="-fomit-frame-pointer"
291 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
292 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
293 GCCOPTS
="$GCCOPTS -mlong-calls"
295 GCCOPTIMIZE
="-fomit-frame-pointer"
301 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
302 if test "$ARG_ARM_EABI" = "0"; then
303 GCCOPTS
="$GCCOPTS -mlong-calls"
305 GCCOPTIMIZE
="-fomit-frame-pointer"
311 GCCOPTS
="$CCOPTS -mcpu=arm940t"
312 if test "$ARG_ARM_EABI" = "0"; then
313 GCCOPTS
="$GCCOPTS -mlong-calls"
315 GCCOPTIMIZE
="-fomit-frame-pointer"
321 GCCOPTS
="$CCOPTS -mcpu=arm9e"
322 if test "$ARG_ARM_EABI" = "0"; then
323 GCCOPTS
="$GCCOPTS -mlong-calls"
325 GCCOPTIMIZE
="-fomit-frame-pointer"
331 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
332 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
333 GCCOPTS
="$GCCOPTS -mlong-calls"
335 GCCOPTIMIZE
="-fomit-frame-pointer"
341 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
342 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
343 GCCOPTS
="$GCCOPTS -mlong-calls"
345 GCCOPTIMIZE
="-fomit-frame-pointer"
351 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
352 if test "$ARG_ARM_EABI" = "0"; then
353 GCCOPTS
="$GCCOPTS -mlong-calls"
355 GCCOPTIMIZE
="-fomit-frame-pointer"
360 prefixtools mipsel-elf-
361 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
362 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
363 GCCOPTIMIZE
="-fomit-frame-pointer"
369 atype
=`echo "$1" | cut -c 2-`
370 ##################################################################
371 # Prompt for specific developer options
373 if [ "$atype" ]; then
378 printf "Enter your developer options (press only enter when done)\n\
379 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
380 (T)est plugins, S(m)all C lib:"
381 if [ "$memory" = "2" ]; then
384 if [ "$modelname" = "archosplayer" ]; then
385 printf ", Use (A)TA poweroff"
387 if [ "$t_model" = "ondio" ]; then
388 printf ", (B)acklight MOD"
390 if [ "$modelname" = "iaudiom5" ]; then
391 printf ", (F)M radio MOD"
393 if [ "$modelname" = "iriverh120" ]; then
400 while [ $cont = "1" ]; do
402 if [ "$interact" ]; then
405 option
=`echo "$atype" | cut -c 1`
410 if [ "yes" = "$profile" ]; then
411 echo "Debug is incompatible with profiling"
413 echo "DEBUG build enabled"
418 echo "logf() support enabled"
422 echo "Using Rockbox' small C library"
423 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
426 echo "Including test plugins"
427 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
430 echo "bootchart enabled (logf also enabled)"
435 echo "Simulator build enabled"
439 if [ "yes" = "$use_debug" ]; then
440 echo "Profiling is incompatible with debug"
442 echo "Profiling support is enabled"
447 echo "Voice build selected"
451 if [ "$memory" = "2" ]; then
453 echo "Memory size selected: 8MB"
457 if [ "$modelname" = "archosplayer" ]; then
458 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
459 echo "ATA power off enabled"
463 if [ "$t_model" = "ondio" ]; then
464 have_backlight
="#define HAVE_BACKLIGHT"
465 echo "Backlight functions enabled"
469 if [ "$modelname" = "iaudiom5" ]; then
470 have_fmradio_in
="#define HAVE_FMRADIO_IN"
471 echo "FM radio functions enabled"
475 if [ "$modelname" = "iriverh120" ]; then
476 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
477 have_rtc_alarm
="#define HAVE_RTC_ALARM"
478 echo "RTC functions enabled (DS1339/DS3231)"
482 echo "Enabling Windows 32 cross-compiling"
486 if [ "$interact" ]; then
489 echo "[ERROR] Option $option unsupported"
493 if [ "$interact" ]; then
494 btype
="$btype$option"
496 atype
=`echo "$atype" | cut -c 2-`
497 [ "$atype" ] || cont
=0
502 if [ "yes" = "$voice" ]; then
503 # Ask about languages to build
505 voicelanguage
=`whichlang`
506 echo "Voice language set to $voicelanguage"
508 # Configure encoder and TTS engine for each language
509 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
510 voiceconfig
"$thislang"
513 if [ "yes" = "$use_debug" ]; then
515 GCCOPTS
="$GCCOPTS -g -DDEBUG"
517 if [ "yes" = "$logf" ]; then
518 use_logf
="#define ROCKBOX_HAS_LOGF 1"
520 if [ "yes" = "$bootchart" ]; then
521 use_bootchart
="#define DO_BOOTCHART 1"
523 if [ "yes" = "$simulator" ]; then
525 extradefines
="$extradefines -DSIMULATOR"
529 if [ "yes" = "$profile" ]; then
530 extradefines
="$extradefines -DRB_PROFILE"
531 PROFILE_OPTS
="-finstrument-functions"
535 # Configure voice settings
538 if [ ! "$ARG_TTS" ]; then
539 echo "Building $thislang voice for $modelname. Select options"
543 if [ -n "`findtool flite`" ]; then
547 DEFAULT_TTS_OPTS
=$FLITE_OPTS
548 DEFAULT_NOISEFLOOR
="500"
551 if [ -n "`findtool espeak`" ]; then
555 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
556 DEFAULT_NOISEFLOOR
="500"
559 if [ -n "`findtool festival`" ]; then
560 FESTIVAL
="(F)estival "
563 FESTIVAL_OPTS
="--language italian"
566 FESTIVAL_OPTS
="--language spanish"
569 FESTIVAL_OPTS
="--language finnish"
572 FESTIVAL_OPTS
="--language czech"
578 DEFAULT_TTS
="festival"
579 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
580 DEFAULT_NOISEFLOOR
="500"
583 if [ -n "`findtool swift`" ]; then
587 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
588 DEFAULT_NOISEFLOOR
="500"
591 # Allow SAPI if Windows is in use
592 if [ -n "`findtool winver`" ]; then
596 DEFAULT_TTS_OPTS
=$SAPI_OPTS
597 DEFAULT_NOISEFLOOR
="500"
601 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
602 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
606 if [ "$ARG_TTS" ]; then
609 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
612 advopts
="$advopts --tts=$option"
616 NOISEFLOOR
="500" # TODO: check this value
622 TTS_OPTS
=$ESPEAK_OPTS
625 TTS_ENGINE
="festival"
627 TTS_OPTS
=$FESTIVAL_OPTS
640 TTS_ENGINE
=$DEFAULT_TTS
641 TTS_OPTS
=$DEFAULT_TTS_OPTS
642 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
644 echo "Using $TTS_ENGINE for TTS"
646 # Select which voice to use for Festival
647 if [ "$TTS_ENGINE" = "festival" ]; then
648 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
649 for voice
in $voicelist; do
650 TTS_FESTIVAL_VOICE
="$voice" # Default choice
653 if [ "$ARG_VOICE" ]; then
657 for voice
in $voicelist; do
658 printf "%3d. %s\n" "$i" "$voice"
661 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
665 for voice
in $voicelist; do
666 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
667 TTS_FESTIVAL_VOICE
="$voice"
671 advopts
="$advopts --voice=$CHOICE"
672 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
673 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
676 # Read custom tts options from command line
677 if [ "$ARG_TTSOPTS" ]; then
678 TTS_OPTS
="$ARG_TTSOPTS"
679 advopts
="$advopts --ttsopts='$TTS_OPTS'"
680 echo "$TTS_ENGINE options set to $TTS_OPTS"
683 if [ "$swcodec" = "yes" ]; then
686 ENC_OPTS
="-q 4 -c 10"
688 if [ -n "`findtool lame`" ]; then
691 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
693 echo "You need LAME in the system path to build voice files for"
694 echo "HWCODEC targets."
699 echo "Using $ENCODER for encoding voice clips"
701 # Read custom encoder options from command line
702 if [ "$ARG_ENCOPTS" ]; then
703 ENC_OPTS
="$ARG_ENCOPTS"
704 advopts
="$advopts --encopts='$ENC_OPTS'"
705 echo "$ENCODER options set to $ENC_OPTS"
709 if [ -n "`findtool cygpath`" ]; then
710 TEMPDIR
=`cygpath . -a -w`
715 # figure out which languages that are around
716 for file in $rootdir/apps
/lang
/*.lang
; do
717 clean
=`basename $file .lang`
718 langs
="$langs $clean"
721 if [ "$ARG_LANG" ]; then
724 echo "Select a number for the language to use (default is english)"
725 # FIXME The multiple-language feature is currently broken
726 # echo "You may enter a comma-separated list of languages to build"
729 for one
in $langs; do
735 advopts
="$advopts --language=$pick"
740 # Allow the user to pass a comma-separated list of langauges
741 for thispick
in `echo $pick | sed 's/,/ /g'`; do
743 for one
in $langs; do
744 # Accept both the language number and name
745 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
746 if [ "$output" = "" ]; then
755 if [ -z "$output" ]; then
763 echo "Rockbox configure script."
764 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
765 echo "Do *NOT* run this within the tools directory!"
768 Usage: configure [OPTION]...
770 --target=TARGET Sets the target, TARGET can be either the target ID or
771 corresponding string. Run without this option to see all
774 --ram=RAM Sets the RAM for certain targets. Even though any number
775 is accepted, not every number is correct. The default
776 value will be applied, if you entered a wrong number
777 (which depends on the target). Watch the output. Run
778 without this option if you are not sure which the right
781 --type=TYPE Sets the build type. Shortcuts are also valid.
782 Run without this option to see all available types.
783 Multiple values are allowed and managed in the input
784 order. So --type=b stands for Bootloader build, while
785 --type=ab stands for "Backlight MOD" build.
787 --language=LANG Set the language used for voice generation (used only if
790 --tts=ENGINE Set the TTS engine used for voice generation (used only
793 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
796 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
798 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
800 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
801 This is useful for having multiple alternate builds on
802 your device that you can load with ROLO. However as the
803 bootloader looks for .rockbox you won't be able to boot
806 --ccache Enable ccache use (done by default these days)
807 --no-ccache Disable ccache use
809 --eabi Make configure prefer toolchains that are able to compile
810 for the new ARM standard abi EABI
811 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
812 --thumb Build with -mthumb (for ARM builds)
813 --no-thumb The opposite of --thumb (don't use thumb even for targets
814 where this is the default
815 --help Shows this message (must not be used with other options)
837 --ccache) ARG_CCACHE
=1;;
838 --no-ccache) ARG_CCACHE
=0;;
839 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
840 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
841 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
842 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
843 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
844 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
845 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
846 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
847 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
848 --eabi) ARG_ARM_EABI
=1;;
849 --no-eabi) ARG_ARM_EABI
=0;;
850 --thumb) ARG_ARM_THUMB
=1;;
851 --no-thumb) ARG_ARM_THUMB
=0;;
853 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
860 if [ "$TMPDIR" != "" ]; then
865 echo Using temporary directory
$tmpdir
867 if test -r "configure"; then
868 # this is a check for a configure script in the current directory, it there
869 # is one, try to figure out if it is this one!
871 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
872 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
873 echo "It will only cause you pain and grief. Instead do this:"
876 echo " mkdir build-dir"
878 echo " ../tools/configure"
880 echo "Much happiness will arise from this. Enjoy"
885 # get our current directory
888 if { echo $pwd |
grep " "; } then
889 echo "You're running this script in a path that contains space. The build"
890 echo "system is unfortunately not clever enough to deal with this. Please"
891 echo "run the script from a different path, rename the path or fix the build"
896 if [ -z "$rootdir" ]; then
897 ##################################################################
898 # Figure out where the source code root is!
900 rootdir
=`dirname $0`/..
/
902 #####################################################################
903 # Convert the possibly relative directory name to an absolute version
909 # cd back to the build dir
914 appsdir
='\$(ROOTDIR)/apps'
915 firmdir
='\$(ROOTDIR)/firmware'
916 toolsdir
='\$(ROOTDIR)/tools'
919 ##################################################################
920 # Figure out target platform
923 if [ "$ARG_TARGET" ]; then
926 echo "Enter target platform:"
928 ==Archos== ==iriver== ==Apple iPod==
929 0) Player/Studio 10) H120/H140 20) Color/Photo
930 1) Recorder 11) H320/H340 21) Nano 1G
931 2) FM Recorder 12) iHP-100/110/115 22) Video
932 3) Recorder v2 13) iFP-790 23) 3G
933 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
934 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
936 ==Toshiba== 27) 1G, 2G
937 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
938 30) X5/X5V/X5L 41) Gigabeat S
939 31) M5/M5L ==SanDisk==
940 32) 7 ==Olympus= 50) Sansa e200
941 33) D2 70) M:Robe 500 51) Sansa e200R
942 34) M3/M3L 71) M:Robe 100 52) Sansa c200
944 ==Creative== ==Philips== 54) Sansa c100
945 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
946 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
947 92) Zen Vision HDD1830 57) Sansa m200v4
948 102) GoGear HDD6330 58) Sansa Fuze
949 ==Onda== 59) Sansa c200v2
950 120) VX747 ==Meizu== 60) Sansa Clipv2
951 121) VX767 110) M6SL 61) Sansa View
952 122) VX747+ 111) M6SP 62) Sansa Clip+
953 123) VX777 112) M3 63) Sansa Fuze v2
956 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
957 140) YH-820 150) Elio TPJ-1022
958 141) YH-920 ==Lyre project==
959 142) YH-925 ==Packard Bell== 130) Lyre proto 1
960 143) YP-S3 160) Vibe 500 131) Mini2440
969 # Set of tools built for all target platforms:
970 toolset
="rdf2binary convbdf codepages"
972 # Toolsets for some target families:
973 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
974 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
975 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
976 ipodbitmaptools
="$toolset scramble bmp2rb"
977 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
978 tccbitmaptools
="$toolset scramble bmp2rb"
979 # generic is used by IFP, Meizu and Onda
980 genericbitmaptools
="$toolset bmp2rb"
981 # scramble is used by all other targets
982 scramblebitmaptools
="$genericbitmaptools scramble"
985 # ---- For each target ----
988 # target_id: a unique number identifying this target, IS NOT the menu number.
989 # Just use the currently highest number+1 when you add a new
991 # modelname: short model name used all over to identify this target
992 # memory: number of megabytes of RAM this target has. If the amount can
993 # be selected by the size prompt, let memory be unset here
994 # target: -Ddefine passed to the build commands to make the correct
995 # config-*.h file get included etc
996 # tool: the tool that takes a plain binary and converts that into a
997 # working "firmware" file for your target
998 # output: the final output file name
999 # boottool: the tool that takes a plain binary and generates a bootloader
1000 # file for your target (or blank to use $tool)
1001 # bootoutput:the final output file name for the bootloader (or blank to use
1003 # appextra: passed to the APPEXTRA variable in the Makefiles.
1004 # TODO: add proper explanation
1005 # archosrom: used only for Archos targets that build a special flashable .ucl
1007 # flash: name of output for flashing, for targets where there's a special
1008 # file output for this.
1009 # plugins: set to 'yes' to build the plugins. Early development builds can
1010 # set this to no in the early stages to have an easier life for a
1012 # swcodec: set 'yes' on swcodec targets
1013 # toolset: lists what particular tools in the tools/ directory that this
1014 # target needs to have built prior to building Rockbox
1017 # *cc: sets up gcc and compiler options for your target builds. Note
1018 # that if you select a simulator build, the compiler selection is
1019 # overridden later in the script.
1025 modelname
="archosplayer"
1026 target
="-DARCHOS_PLAYER"
1028 tool
="$rootdir/tools/scramble"
1030 appextra
="player:gui"
1031 archosrom
="$pwd/rombox.ucl"
1032 flash
="$pwd/rockbox.ucl"
1036 # toolset is the tools within the tools directory that we build for
1037 # this particular target.
1038 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1040 # Note: the convbdf is present in the toolset just because: 1) the
1041 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1042 # build the player simulator
1045 t_manufacturer
="archos"
1051 modelname
="archosrecorder"
1052 target
="-DARCHOS_RECORDER"
1054 tool
="$rootdir/tools/scramble"
1055 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1056 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1058 appextra
="recorder:gui:radio"
1059 #archosrom="$pwd/rombox.ucl"
1060 flash
="$pwd/rockbox.ucl"
1063 # toolset is the tools within the tools directory that we build for
1064 # this particular target.
1065 toolset
=$archosbitmaptools
1067 t_manufacturer
="archos"
1073 modelname
="archosfmrecorder"
1074 target
="-DARCHOS_FMRECORDER"
1076 tool
="$rootdir/tools/scramble -fm"
1077 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1078 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1080 appextra
="recorder:gui:radio"
1081 #archosrom="$pwd/rombox.ucl"
1082 flash
="$pwd/rockbox.ucl"
1085 # toolset is the tools within the tools directory that we build for
1086 # this particular target.
1087 toolset
=$archosbitmaptools
1089 t_manufacturer
="archos"
1095 modelname
="archosrecorderv2"
1096 target
="-DARCHOS_RECORDERV2"
1098 tool
="$rootdir/tools/scramble -v2"
1099 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1100 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1102 appextra
="recorder:gui:radio"
1103 #archosrom="$pwd/rombox.ucl"
1104 flash
="$pwd/rockbox.ucl"
1107 # toolset is the tools within the tools directory that we build for
1108 # this particular target.
1109 toolset
=$archosbitmaptools
1111 t_manufacturer
="archos"
1117 modelname
="archosondiosp"
1118 target
="-DARCHOS_ONDIOSP"
1120 tool
="$rootdir/tools/scramble -osp"
1121 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1122 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1124 appextra
="recorder:gui:radio"
1125 #archosrom="$pwd/rombox.ucl"
1126 flash
="$pwd/rockbox.ucl"
1129 # toolset is the tools within the tools directory that we build for
1130 # this particular target.
1131 toolset
=$archosbitmaptools
1133 t_manufacturer
="archos"
1139 modelname
="archosondiofm"
1140 target
="-DARCHOS_ONDIOFM"
1142 tool
="$rootdir/tools/scramble -ofm"
1143 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1144 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1146 appextra
="recorder:gui:radio"
1147 #archosrom="$pwd/rombox.ucl"
1148 flash
="$pwd/rockbox.ucl"
1151 toolset
=$archosbitmaptools
1153 t_manufacturer
="archos"
1159 modelname
="archosav300"
1160 target
="-DARCHOS_AV300"
1163 tool
="$rootdir/tools/scramble -mm=C"
1164 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1165 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1167 appextra
="recorder:gui:radio"
1170 # toolset is the tools within the tools directory that we build for
1171 # this particular target.
1172 toolset
="$toolset scramble descramble bmp2rb"
1173 # architecture, manufacturer and model for the target-tree build
1175 t_manufacturer
="archos"
1181 modelname
="iriverh120"
1182 target
="-DIRIVER_H120"
1185 tool
="$rootdir/tools/scramble -add=h120"
1186 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1187 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1188 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1189 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1190 output
="rockbox.iriver"
1191 bootoutput
="bootloader.iriver"
1192 appextra
="recorder:gui:radio"
1193 flash
="$pwd/rombox.iriver"
1196 # toolset is the tools within the tools directory that we build for
1197 # this particular target.
1198 toolset
=$iriverbitmaptools
1200 t_manufacturer
="iriver"
1206 modelname
="iriverh300"
1207 target
="-DIRIVER_H300"
1210 tool
="$rootdir/tools/scramble -add=h300"
1211 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1212 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1213 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1214 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1215 output
="rockbox.iriver"
1216 appextra
="recorder:gui:radio"
1219 # toolset is the tools within the tools directory that we build for
1220 # this particular target.
1221 toolset
=$iriverbitmaptools
1223 t_manufacturer
="iriver"
1229 modelname
="iriverh100"
1230 target
="-DIRIVER_H100"
1233 tool
="$rootdir/tools/scramble -add=h100"
1234 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1235 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1236 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1237 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1238 output
="rockbox.iriver"
1239 bootoutput
="bootloader.iriver"
1240 appextra
="recorder:gui:radio"
1241 flash
="$pwd/rombox.iriver"
1244 # toolset is the tools within the tools directory that we build for
1245 # this particular target.
1246 toolset
=$iriverbitmaptools
1248 t_manufacturer
="iriver"
1254 modelname
="iriverifp7xx"
1255 target
="-DIRIVER_IFP7XX"
1259 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1260 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1261 output
="rockbox.wma"
1262 appextra
="recorder:gui:radio"
1265 # toolset is the tools within the tools directory that we build for
1266 # this particular target.
1267 toolset
=$genericbitmaptools
1269 t_manufacturer
="pnx0101"
1270 t_model
="iriver-ifp7xx"
1275 modelname
="iriverh10"
1276 target
="-DIRIVER_H10"
1279 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1280 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1281 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1282 output
="rockbox.mi4"
1283 appextra
="recorder:gui:radio"
1286 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1287 bootoutput
="H10_20GC.mi4"
1288 # toolset is the tools within the tools directory that we build for
1289 # this particular target.
1290 toolset
=$scramblebitmaptools
1291 # architecture, manufacturer and model for the target-tree build
1293 t_manufacturer
="iriver"
1299 modelname
="iriverh10_5gb"
1300 target
="-DIRIVER_H10_5GB"
1303 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1304 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1305 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1306 output
="rockbox.mi4"
1307 appextra
="recorder:gui:radio"
1310 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1311 bootoutput
="H10.mi4"
1312 # toolset is the tools within the tools directory that we build for
1313 # this particular target.
1314 toolset
=$scramblebitmaptools
1315 # architecture, manufacturer and model for the target-tree build
1317 t_manufacturer
="iriver"
1323 modelname
="ipodcolor"
1324 target
="-DIPOD_COLOR"
1327 tool
="$rootdir/tools/scramble -add=ipco"
1328 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1329 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1330 output
="rockbox.ipod"
1331 appextra
="recorder:gui:radio"
1334 bootoutput
="bootloader-$modelname.ipod"
1335 # toolset is the tools within the tools directory that we build for
1336 # this particular target.
1337 toolset
=$ipodbitmaptools
1338 # architecture, manufacturer and model for the target-tree build
1340 t_manufacturer
="ipod"
1346 modelname
="ipodnano1g"
1347 target
="-DIPOD_NANO"
1350 tool
="$rootdir/tools/scramble -add=nano"
1351 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1352 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1353 output
="rockbox.ipod"
1354 appextra
="recorder:gui:radio"
1357 bootoutput
="bootloader-$modelname.ipod"
1358 # toolset is the tools within the tools directory that we build for
1359 # this particular target.
1360 toolset
=$ipodbitmaptools
1361 # architecture, manufacturer and model for the target-tree build
1363 t_manufacturer
="ipod"
1369 modelname
="ipodvideo"
1370 target
="-DIPOD_VIDEO"
1372 tool
="$rootdir/tools/scramble -add=ipvd"
1373 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1374 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1375 output
="rockbox.ipod"
1376 appextra
="recorder:gui:radio"
1379 bootoutput
="bootloader-$modelname.ipod"
1380 # toolset is the tools within the tools directory that we build for
1381 # this particular target.
1382 toolset
=$ipodbitmaptools
1383 # architecture, manufacturer and model for the target-tree build
1385 t_manufacturer
="ipod"
1395 tool
="$rootdir/tools/scramble -add=ip3g"
1396 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1397 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1398 output
="rockbox.ipod"
1399 appextra
="recorder:gui:radio"
1402 bootoutput
="bootloader-$modelname.ipod"
1403 # toolset is the tools within the tools directory that we build for
1404 # this particular target.
1405 toolset
=$ipodbitmaptools
1406 # architecture, manufacturer and model for the target-tree build
1408 t_manufacturer
="ipod"
1418 tool
="$rootdir/tools/scramble -add=ip4g"
1419 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1420 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1421 output
="rockbox.ipod"
1422 appextra
="recorder:gui:radio"
1425 bootoutput
="bootloader-$modelname.ipod"
1426 # toolset is the tools within the tools directory that we build for
1427 # this particular target.
1428 toolset
=$ipodbitmaptools
1429 # architecture, manufacturer and model for the target-tree build
1431 t_manufacturer
="ipod"
1437 modelname
="ipodmini1g"
1438 target
="-DIPOD_MINI"
1441 tool
="$rootdir/tools/scramble -add=mini"
1442 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1443 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1444 output
="rockbox.ipod"
1445 appextra
="recorder:gui:radio"
1448 bootoutput
="bootloader-$modelname.ipod"
1449 # toolset is the tools within the tools directory that we build for
1450 # this particular target.
1451 toolset
=$ipodbitmaptools
1452 # architecture, manufacturer and model for the target-tree build
1454 t_manufacturer
="ipod"
1460 modelname
="ipodmini2g"
1461 target
="-DIPOD_MINI2G"
1464 tool
="$rootdir/tools/scramble -add=mn2g"
1465 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1466 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1467 output
="rockbox.ipod"
1468 appextra
="recorder:gui:radio"
1471 bootoutput
="bootloader-$modelname.ipod"
1472 # toolset is the tools within the tools directory that we build for
1473 # this particular target.
1474 toolset
=$ipodbitmaptools
1475 # architecture, manufacturer and model for the target-tree build
1477 t_manufacturer
="ipod"
1483 modelname
="ipod1g2g"
1484 target
="-DIPOD_1G2G"
1487 tool
="$rootdir/tools/scramble -add=1g2g"
1488 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1489 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1490 output
="rockbox.ipod"
1491 appextra
="recorder:gui:radio"
1494 bootoutput
="bootloader-$modelname.ipod"
1495 # toolset is the tools within the tools directory that we build for
1496 # this particular target.
1497 toolset
=$ipodbitmaptools
1498 # architecture, manufacturer and model for the target-tree build
1500 t_manufacturer
="ipod"
1506 modelname
="ipodnano2g"
1507 target
="-DIPOD_NANO2G"
1510 tool
="$rootdir/tools/scramble -add=nn2g"
1511 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1512 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1513 output
="rockbox.ipod"
1514 appextra
="recorder:gui:radio"
1517 bootoutput
="bootloader-$modelname.ipod"
1518 # toolset is the tools within the tools directory that we build for
1519 # this particular target.
1520 toolset
=$ipodbitmaptools
1521 # architecture, manufacturer and model for the target-tree build
1523 t_manufacturer
="s5l8700"
1524 t_model
="ipodnano2g"
1529 modelname
="iaudiox5"
1530 target
="-DIAUDIO_X5"
1533 tool
="$rootdir/tools/scramble -add=iax5"
1534 boottool
="$rootdir/tools/scramble -iaudiox5"
1535 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1536 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1537 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1538 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1539 output
="rockbox.iaudio"
1540 bootoutput
="x5_fw.bin"
1541 appextra
="recorder:gui:radio"
1544 # toolset is the tools within the tools directory that we build for
1545 # this particular target.
1546 toolset
="$iaudiobitmaptools"
1547 # architecture, manufacturer and model for the target-tree build
1549 t_manufacturer
="iaudio"
1555 modelname
="iaudiom5"
1556 target
="-DIAUDIO_M5"
1559 tool
="$rootdir/tools/scramble -add=iam5"
1560 boottool
="$rootdir/tools/scramble -iaudiom5"
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 bootoutput
="m5_fw.bin"
1567 appextra
="recorder:gui:radio"
1570 # toolset is the tools within the tools directory that we build for
1571 # this particular target.
1572 toolset
="$iaudiobitmaptools"
1573 # architecture, manufacturer and model for the target-tree build
1575 t_manufacturer
="iaudio"
1585 tool
="$rootdir/tools/scramble -add=i7"
1586 boottool
="$rootdir/tools/scramble -tcc=crc"
1587 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1588 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1589 output
="rockbox.iaudio"
1590 appextra
="recorder:gui:radio"
1593 bootoutput
="I7_FW.BIN"
1594 # toolset is the tools within the tools directory that we build for
1595 # this particular target.
1596 toolset
="$tccbitmaptools"
1597 # architecture, manufacturer and model for the target-tree build
1599 t_manufacturer
="tcc77x"
1609 tool
="$rootdir/tools/scramble -add=d2"
1611 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1612 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1614 bootoutput
="bootloader-cowond2.bin"
1615 appextra
="recorder:gui:radio"
1618 toolset
="$tccbitmaptools"
1619 # architecture, manufacturer and model for the target-tree build
1621 t_manufacturer
="tcc780x"
1627 modelname
="iaudiom3"
1628 target
="-DIAUDIO_M3"
1631 tool
="$rootdir/tools/scramble -add=iam3"
1632 boottool
="$rootdir/tools/scramble -iaudiom3"
1633 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1634 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1635 output
="rockbox.iaudio"
1636 bootoutput
="cowon_m3.bin"
1637 appextra
="recorder:gui:radio"
1640 # toolset is the tools within the tools directory that we build for
1641 # this particular target.
1642 toolset
="$iaudiobitmaptools"
1643 # architecture, manufacturer and model for the target-tree build
1645 t_manufacturer
="iaudio"
1651 modelname
="gigabeatfx"
1652 target
="-DGIGABEAT_F"
1655 tool
="$rootdir/tools/scramble -add=giga"
1656 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1657 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1658 output
="rockbox.gigabeat"
1659 appextra
="recorder:gui:radio"
1662 toolset
=$gigabeatbitmaptools
1663 boottool
="$rootdir/tools/scramble -gigabeat"
1664 bootoutput
="FWIMG01.DAT"
1665 # architecture, manufacturer and model for the target-tree build
1667 t_manufacturer
="s3c2440"
1668 t_model
="gigabeat-fx"
1673 modelname
="gigabeats"
1674 target
="-DGIGABEAT_S"
1677 tool
="$rootdir/tools/scramble -add=gigs"
1678 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1679 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1680 output
="rockbox.gigabeat"
1681 appextra
="recorder:gui:radio"
1684 toolset
="$gigabeatbitmaptools"
1685 boottool
="$rootdir/tools/scramble -gigabeats"
1687 # architecture, manufacturer and model for the target-tree build
1689 t_manufacturer
="imx31"
1690 t_model
="gigabeat-s"
1695 modelname
="mrobe500"
1696 target
="-DMROBE_500"
1699 tool
="$rootdir/tools/scramble -add=m500"
1700 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1701 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1702 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1703 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1704 output
="rockbox.mrobe500"
1705 appextra
="recorder:gui:radio"
1708 toolset
=$gigabeatbitmaptools
1710 bootoutput
="rockbox.mrboot"
1711 # architecture, manufacturer and model for the target-tree build
1713 t_manufacturer
="tms320dm320"
1719 modelname
="mrobe100"
1720 target
="-DMROBE_100"
1723 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1724 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1725 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1726 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1727 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1728 output
="rockbox.mi4"
1729 appextra
="recorder:gui:radio"
1732 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1733 bootoutput
="pp5020.mi4"
1734 # toolset is the tools within the tools directory that we build for
1735 # this particular target.
1736 toolset
=$scramblebitmaptools
1737 # architecture, manufacturer and model for the target-tree build
1739 t_manufacturer
="olympus"
1745 modelname
="logikdax"
1746 target
="-DLOGIK_DAX"
1749 tool
="$rootdir/tools/scramble -add=ldax"
1750 boottool
="$rootdir/tools/scramble -tcc=crc"
1751 bootoutput
="player.rom"
1752 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1753 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1754 output
="rockbox.logik"
1755 appextra
="recorder:gui:radio"
1758 # toolset is the tools within the tools directory that we build for
1759 # this particular target.
1760 toolset
=$tccbitmaptools
1761 # architecture, manufacturer and model for the target-tree build
1763 t_manufacturer
="tcc77x"
1769 modelname
="zenvisionm30gb"
1770 target
="-DCREATIVE_ZVM"
1773 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1774 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1775 tool
="$rootdir/tools/scramble -creative=zvm"
1777 output
="rockbox.zvm"
1778 appextra
="recorder:gui:radio"
1781 toolset
=$ipodbitmaptools
1782 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1783 bootoutput
="rockbox.zvmboot"
1784 # architecture, manufacturer and model for the target-tree build
1786 t_manufacturer
="tms320dm320"
1787 t_model
="creative-zvm"
1792 modelname
="zenvisionm60gb"
1793 target
="-DCREATIVE_ZVM60GB"
1796 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1797 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1798 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1800 output
="rockbox.zvm60"
1801 appextra
="recorder:gui:radio"
1804 toolset
=$ipodbitmaptools
1805 boottool
="$rootdir/tools/scramble -creative=zvm60"
1806 bootoutput
="rockbox.zvm60boot"
1807 # architecture, manufacturer and model for the target-tree build
1809 t_manufacturer
="tms320dm320"
1810 t_model
="creative-zvm"
1815 modelname
="zenvision"
1816 target
="-DCREATIVE_ZV"
1819 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1820 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1821 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1824 appextra
="recorder:gui:radio"
1827 toolset
=$ipodbitmaptools
1828 boottool
="$rootdir/tools/scramble -creative=zenvision"
1829 bootoutput
="rockbox.zvboot"
1830 # architecture, manufacturer and model for the target-tree build
1832 t_manufacturer
="tms320dm320"
1833 t_model
="creative-zvm"
1838 modelname
="sansae200"
1839 target
="-DSANSA_E200"
1840 memory
=32 # supposedly
1842 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1843 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1844 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1845 output
="rockbox.mi4"
1846 appextra
="recorder:gui:radio"
1849 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1850 bootoutput
="PP5022.mi4"
1851 # toolset is the tools within the tools directory that we build for
1852 # this particular target.
1853 toolset
=$scramblebitmaptools
1854 # architecture, manufacturer and model for the target-tree build
1856 t_manufacturer
="sandisk"
1857 t_model
="sansa-e200"
1861 # the e200R model is pretty much identical to the e200, it only has a
1862 # different option to the scramble tool when building a bootloader and
1863 # makes the bootloader output file name in all lower case.
1865 modelname
="sansae200r"
1866 target
="-DSANSA_E200"
1867 memory
=32 # supposedly
1869 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1870 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1871 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1872 output
="rockbox.mi4"
1873 appextra
="recorder:gui:radio"
1876 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1877 bootoutput
="pp5022.mi4"
1878 # toolset is the tools within the tools directory that we build for
1879 # this particular target.
1880 toolset
=$scramblebitmaptools
1881 # architecture, manufacturer and model for the target-tree build
1883 t_manufacturer
="sandisk"
1884 t_model
="sansa-e200"
1889 modelname
="sansac200"
1890 target
="-DSANSA_C200"
1891 memory
=32 # supposedly
1893 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1894 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1895 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1896 output
="rockbox.mi4"
1897 appextra
="recorder:gui:radio"
1900 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1901 bootoutput
="firmware.mi4"
1902 # toolset is the tools within the tools directory that we build for
1903 # this particular target.
1904 toolset
=$scramblebitmaptools
1905 # architecture, manufacturer and model for the target-tree build
1907 t_manufacturer
="sandisk"
1908 t_model
="sansa-c200"
1913 modelname
="sansam200"
1914 target
="-DSANSA_M200"
1917 tool
="$rootdir/tools/scramble -add=m200"
1918 boottool
="$rootdir/tools/scramble -tcc=crc"
1919 bootoutput
="player.rom"
1920 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1921 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1922 output
="rockbox.m200"
1923 appextra
="recorder:gui:radio"
1926 # toolset is the tools within the tools directory that we build for
1927 # this particular target.
1928 toolset
=$tccbitmaptools
1929 # architecture, manufacturer and model for the target-tree build
1931 t_manufacturer
="tcc77x"
1937 modelname
="sansac100"
1938 target
="-DSANSA_C100"
1941 tool
="$rootdir/tools/scramble -add=c100"
1942 boottool
="$rootdir/tools/scramble -tcc=crc"
1943 bootoutput
="player.rom"
1944 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1945 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1946 output
="rockbox.c100"
1947 appextra
="recorder:gui:radio"
1950 # toolset is the tools within the tools directory that we build for
1951 # this particular target.
1952 toolset
=$tccbitmaptools
1953 # architecture, manufacturer and model for the target-tree build
1955 t_manufacturer
="tcc77x"
1961 modelname
="sansaclip"
1962 target
="-DSANSA_CLIP"
1964 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1965 bmp2rb_native
="$bmp2rb_mono"
1966 tool
="$rootdir/tools/scramble -add=clip"
1967 output
="rockbox.sansa"
1968 bootoutput
="bootloader-clip.sansa"
1969 appextra
="recorder:gui:radio"
1972 toolset
=$scramblebitmaptools
1974 t_manufacturer
="as3525"
1975 t_model
="sansa-clip"
1976 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1978 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1984 modelname
="sansae200v2"
1985 target
="-DSANSA_E200V2"
1987 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1988 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1989 tool
="$rootdir/tools/scramble -add=e2v2"
1990 output
="rockbox.sansa"
1991 bootoutput
="bootloader-e200v2.sansa"
1992 appextra
="recorder:gui:radio"
1995 toolset
=$scramblebitmaptools
1997 t_manufacturer
="as3525"
1998 t_model
="sansa-e200v2"
2005 modelname
="sansam200v4"
2006 target
="-DSANSA_M200V4"
2008 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2009 bmp2rb_native
="$bmp2rb_mono"
2010 tool
="$rootdir/tools/scramble -add=m2v4"
2011 output
="rockbox.sansa"
2012 bootoutput
="bootloader-m200v4.sansa"
2013 appextra
="recorder:gui:radio"
2016 toolset
=$scramblebitmaptools
2018 t_manufacturer
="as3525"
2019 t_model
="sansa-m200v4"
2020 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2022 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2028 modelname
="sansafuze"
2029 target
="-DSANSA_FUZE"
2031 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2032 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2033 tool
="$rootdir/tools/scramble -add=fuze"
2034 output
="rockbox.sansa"
2035 bootoutput
="bootloader-fuze.sansa"
2036 appextra
="recorder:gui:radio"
2039 toolset
=$scramblebitmaptools
2041 t_manufacturer
="as3525"
2042 t_model
="sansa-fuze"
2049 modelname
="sansac200v2"
2050 target
="-DSANSA_C200V2"
2051 memory
=2 # as per OF diagnosis mode
2052 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2053 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2054 tool
="$rootdir/tools/scramble -add=c2v2"
2055 output
="rockbox.sansa"
2056 bootoutput
="bootloader-c200v2.sansa"
2057 appextra
="recorder:gui:radio"
2060 # toolset is the tools within the tools directory that we build for
2061 # this particular target.
2062 toolset
=$scramblebitmaptools
2063 # architecture, manufacturer and model for the target-tree build
2065 t_manufacturer
="as3525"
2066 t_model
="sansa-c200v2"
2067 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2069 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2074 modelname
="sansaclipv2"
2075 target
="-DSANSA_CLIPV2"
2077 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2078 bmp2rb_native
="$bmp2rb_mono"
2079 tool
="$rootdir/tools/scramble -add=clv2"
2080 output
="rockbox.sansa"
2081 bootoutput
="bootloader-clipv2.sansa"
2082 appextra
="recorder:gui:radio"
2085 toolset
=$scramblebitmaptools
2087 t_manufacturer
="as3525"
2088 t_model
="sansa-clipv2"
2093 echo "Sansa View is not yet supported!"
2096 modelname
="sansaview"
2097 target
="-DSANSA_VIEW"
2100 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2101 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2102 output
="rockbox.mi4"
2106 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2107 bootoutput
="firmware.mi4"
2108 # toolset is the tools within the tools directory that we build for
2109 # this particular target.
2110 toolset
=$scramblebitmaptools
2112 t_manufacturer
="sandisk"
2113 t_model
="sansa-view"
2118 modelname
="sansaclipplus"
2119 target
="-DSANSA_CLIPPLUS"
2121 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2122 bmp2rb_native
="$bmp2rb_mono"
2123 tool
="$rootdir/tools/scramble -add=cli+"
2124 output
="rockbox.sansa"
2125 bootoutput
="bootloader-clipplus.sansa"
2126 appextra
="recorder:gui:radio"
2129 toolset
=$scramblebitmaptools
2131 t_manufacturer
="as3525"
2132 t_model
="sansa-clipplus"
2138 modelname
="sansafuzev2"
2139 target
="-DSANSA_FUZEV2"
2141 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2142 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2143 tool
="$rootdir/tools/scramble -add=fuz2"
2144 output
="rockbox.sansa"
2145 bootoutput
="bootloader-fuzev2.sansa"
2146 appextra
="recorder:gui:radio"
2149 toolset
=$scramblebitmaptools
2151 t_manufacturer
="as3525"
2152 t_model
="sansa-fuzev2"
2158 modelname
="tatungtpj1022"
2159 target
="-DTATUNG_TPJ1022"
2162 tool
="$rootdir/tools/scramble -add tpj2"
2163 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2164 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2165 output
="rockbox.elio"
2166 appextra
="recorder:gui:radio"
2169 boottool
="$rootdir/tools/scramble -mi4v2"
2170 bootoutput
="pp5020.mi4"
2171 # toolset is the tools within the tools directory that we build for
2172 # this particular target.
2173 toolset
=$scramblebitmaptools
2174 # architecture, manufacturer and model for the target-tree build
2176 t_manufacturer
="tatung"
2182 modelname
="gogearsa9200"
2183 target
="-DPHILIPS_SA9200"
2184 memory
=32 # supposedly
2186 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2187 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2188 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2189 output
="rockbox.mi4"
2190 appextra
="recorder:gui:radio"
2193 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2194 bootoutput
="FWImage.ebn"
2195 # toolset is the tools within the tools directory that we build for
2196 # this particular target.
2197 toolset
=$scramblebitmaptools
2198 # architecture, manufacturer and model for the target-tree build
2200 t_manufacturer
="philips"
2206 modelname
="gogearhdd1630"
2207 target
="-DPHILIPS_HDD1630"
2208 memory
=32 # supposedly
2210 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2211 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2212 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2213 output
="rockbox.mi4"
2214 appextra
="recorder:gui:radio"
2217 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2218 bootoutput
="FWImage.ebn"
2219 # toolset is the tools within the tools directory that we build for
2220 # this particular target.
2221 toolset
=$scramblebitmaptools
2222 # architecture, manufacturer and model for the target-tree build
2224 t_manufacturer
="philips"
2230 modelname
="gogearhdd6330"
2231 target
="-DPHILIPS_HDD6330"
2234 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2235 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2236 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2237 output
="rockbox.mi4"
2238 appextra
="recorder:gui:radio"
2241 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2242 bootoutput
="FWImage.ebn"
2243 # toolset is the tools within the tools directory that we build for
2244 # this particular target.
2245 toolset
=$scramblebitmaptools
2246 # architecture, manufacturer and model for the target-tree build
2248 t_manufacturer
="philips"
2254 modelname
="meizum6sl"
2255 target
="-DMEIZU_M6SL"
2259 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2260 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2261 output
="rockbox.meizu"
2262 appextra
="recorder:gui:radio"
2265 toolset
=$genericbitmaptools
2267 bootoutput
="rockboot.ebn"
2268 # architecture, manufacturer and model for the target-tree build
2270 t_manufacturer
="s5l8700"
2271 t_model
="meizu-m6sl"
2276 modelname
="meizum6sp"
2277 target
="-DMEIZU_M6SP"
2281 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2282 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2283 output
="rockbox.meizu"
2284 appextra
="recorder:gui:radio"
2287 toolset
=$genericbitmaptools
2289 bootoutput
="rockboot.ebn"
2290 # architecture, manufacturer and model for the target-tree build
2292 t_manufacturer
="s5l8700"
2293 t_model
="meizu-m6sp"
2303 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2304 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2305 output
="rockbox.meizu"
2306 appextra
="recorder:gui:radio"
2309 toolset
=$genericbitmaptools
2311 bootoutput
="rockboot.ebn"
2312 # architecture, manufacturer and model for the target-tree build
2314 t_manufacturer
="s5l8700"
2320 modelname
="ondavx747"
2321 target
="-DONDA_VX747"
2324 tool
="$rootdir/tools/scramble -add=x747"
2325 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2326 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2327 output
="rockbox.vx747"
2328 appextra
="recorder:gui:radio"
2331 toolset
=$genericbitmaptools
2332 boottool
="$rootdir/tools/scramble -ccpmp"
2333 bootoutput
="ccpmp.bin"
2334 # architecture, manufacturer and model for the target-tree build
2336 t_manufacturer
="ingenic_jz47xx"
2337 t_model
="onda_vx747"
2342 modelname
="ondavx767"
2343 target
="-DONDA_VX767"
2347 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2348 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2349 output
="rockbox.vx767"
2350 appextra
="recorder:gui:radio"
2353 toolset
=$genericbitmaptools
2354 boottool
="$rootdir/tools/scramble -ccpmp"
2355 bootoutput
="ccpmp.bin"
2356 # architecture, manufacturer and model for the target-tree build
2358 t_manufacturer
="ingenic_jz47xx"
2359 t_model
="onda_vx767"
2364 modelname
="ondavx747p"
2365 target
="-DONDA_VX747P"
2368 tool
="$rootdir/tools/scramble -add=747p"
2369 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2370 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2371 output
="rockbox.vx747p"
2372 appextra
="recorder:gui:radio"
2375 toolset
=$genericbitmaptools
2376 boottool
="$rootdir/tools/scramble -ccpmp"
2377 bootoutput
="ccpmp.bin"
2378 # architecture, manufacturer and model for the target-tree build
2380 t_manufacturer
="ingenic_jz47xx"
2381 t_model
="onda_vx747"
2386 modelname
="ondavx777"
2387 target
="-DONDA_VX777"
2390 tool
="$rootdir/tools/scramble -add=x777"
2391 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2392 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2393 output
="rockbox.vx777"
2394 appextra
="recorder:gui:radio"
2397 toolset
=$genericbitmaptools
2398 boottool
="$rootdir/tools/scramble -ccpmp"
2399 bootoutput
="ccpmp.bin"
2400 # architecture, manufacturer and model for the target-tree build
2402 t_manufacturer
="ingenic_jz47xx"
2403 t_model
="onda_vx747"
2408 modelname
="lyreproto1"
2409 target
="-DLYRE_PROTO1"
2413 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2414 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2415 output
="rockbox.lyre"
2416 appextra
="recorder:gui:radio"
2419 toolset
=$scramblebitmaptools
2421 bootoutput
="bootloader-proto1.lyre"
2422 # architecture, manufacturer and model for the target-tree build
2424 t_manufacturer
="at91sam"
2425 t_model
="lyre_proto1"
2430 modelname
="mini2440"
2434 tool
="$rootdir/tools/scramble -add=m244"
2435 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2436 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2437 output
="rockbox.mini2440"
2438 appextra
="recorder:gui:radio"
2441 toolset
=$scramblebitmaptools
2443 bootoutput
="bootloader-mini2440.lyre"
2444 # architecture, manufacturer and model for the target-tree build
2446 t_manufacturer
="s3c2440"
2452 modelname
="samsungyh820"
2453 target
="-DSAMSUNG_YH820"
2456 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2457 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2458 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2459 output
="rockbox.mi4"
2460 appextra
="recorder:gui:radio"
2463 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2464 bootoutput
="FW_YH820.mi4"
2465 # toolset is the tools within the tools directory that we build for
2466 # this particular target.
2467 toolset
=$scramblebitmaptools
2468 # architecture, manufacturer and model for the target-tree build
2470 t_manufacturer
="samsung"
2476 modelname
="samsungyh920"
2477 target
="-DSAMSUNG_YH920"
2480 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2481 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2482 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2483 output
="rockbox.mi4"
2484 appextra
="recorder:gui:radio"
2487 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2488 bootoutput
="PP5020.mi4"
2489 # toolset is the tools within the tools directory that we build for
2490 # this particular target.
2491 toolset
=$scramblebitmaptools
2492 # architecture, manufacturer and model for the target-tree build
2494 t_manufacturer
="samsung"
2500 modelname
="samsungyh925"
2501 target
="-DSAMSUNG_YH925"
2504 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2505 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2506 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2507 output
="rockbox.mi4"
2508 appextra
="recorder:gui:radio"
2511 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2512 bootoutput
="FW_YH925.mi4"
2513 # toolset is the tools within the tools directory that we build for
2514 # this particular target.
2515 toolset
=$scramblebitmaptools
2516 # architecture, manufacturer and model for the target-tree build
2518 t_manufacturer
="samsung"
2524 modelname
="samsungyps3"
2525 target
="-DSAMSUNG_YPS3"
2529 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2530 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2531 output
="rockbox.yps3"
2532 appextra
="recorder:gui:radio"
2535 toolset
=$genericbitmaptools
2537 bootoutput
="rockboot.ebn"
2538 # architecture, manufacturer and model for the target-tree build
2540 t_manufacturer
="s5l8700"
2547 target
="-DPBELL_VIBE500"
2550 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2551 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2552 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2553 output
="rockbox.mi4"
2554 appextra
="recorder:gui:radio"
2557 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2558 bootoutput
="jukebox.mi4"
2559 # toolset is the tools within the tools directory that we build for
2560 # this particular target.
2561 toolset
=$scramblebitmaptools
2562 # architecture, manufacturer and model for the target-tree build
2564 t_manufacturer
="pbell"
2570 modelname
="mpiohd200"
2571 target
="-DMPIO_HD200"
2574 tool
="$rootdir/tools/scramble -add=hd20"
2575 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2576 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2577 output
="rockbox.mpio"
2578 bootoutput
="bootloader.mpio"
2579 appextra
="recorder:gui:radio"
2582 # toolset is the tools within the tools directory that we build for
2583 # this particular target.
2584 toolset
="$genericbitmaptools"
2585 # architecture, manufacturer and model for the target-tree build
2587 t_manufacturer
="mpio"
2592 echo "Please select a supported target platform!"
2598 echo "Platform set to $modelname"
2602 ############################################################################
2603 # Amount of memory, for those that can differ. They have $memory unset at
2607 if [ -z "$memory" ]; then
2610 if [ "$ARG_RAM" ]; then
2613 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2626 if [ "$ARG_RAM" ]; then
2629 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2642 echo "Memory size selected: $memory MB"
2643 [ "$ARG_TYPE" ] ||
echo ""
2647 ##################################################################
2648 # Figure out build "type"
2651 # the ifp7x0 is the only platform that supports building a gdb stub like
2655 gdbstub
="(G)DB stub, "
2657 sansae200r|sansae200
)
2658 gdbstub
="(I)nstaller, "
2661 gdbstub
="(E)raser, "
2666 if [ "$ARG_TYPE" ]; then
2669 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2675 appsdir
='\$(ROOTDIR)/bootloader'
2677 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2679 echo "e200R-installer build selected"
2682 appsdir
='\$(ROOTDIR)/bootloader'
2684 echo "C2(4)0 or C2(5)0"
2688 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2689 echo "c240 eraser build selected"
2692 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2693 echo "c240 eraser build selected"
2697 echo "c200 eraser build selected"
2700 if test $t_manufacturer = "archos"; then
2701 # Archos SH-based players do this somewhat differently for
2703 appsdir
='\$(ROOTDIR)/flash/bootbox'
2706 appsdir
='\$(ROOTDIR)/bootloader'
2709 if test -n "$boottool"; then
2712 if test -n "$bootoutput"; then
2716 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2718 echo "Bootloader build selected"
2721 if [ "$modelname" = "sansae200r" ]; then
2722 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2727 extradefines
="-DSIMULATOR"
2730 echo "Simulator build selected"
2733 echo "Advanced build selected"
2734 whichadvanced
$btype
2737 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2738 appsdir
='\$(ROOTDIR)/gdb'
2747 echo "GDB stub build selected"
2752 echo "Manual build selected"
2760 extradefines
="-DDEBUG"
2761 appsdir
='\$(ROOTDIR)/tools/checkwps';
2762 output
='checkwps.'${modelname};
2764 echo "CheckWPS build selected"
2772 appsdir
='\$(ROOTDIR)/tools/database';
2777 output
="database_${modelname}.exe"
2780 output
='database.'${modelname};
2784 echo "Database tool build selected"
2787 if [ "$modelname" = "sansae200r" ]; then
2788 echo "Do not use the e200R target for regular builds. Use e200 instead."
2792 btype
="N" # set it explicitly since RET only gets here as well
2793 echo "Normal build selected"
2797 # to be able running "make manual" from non-manual configuration
2800 manualdev
="archosfmrecorder"
2803 manualdev
="iriverh100"
2806 manualdev
="ipodmini1g"
2809 manualdev
=$modelname
2813 if [ -z "$debug" ]; then
2814 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2817 echo "Using source code root directory: $rootdir"
2819 # this was once possible to change at build-time, but no more:
2824 if [ "yes" = "$simulator" ]; then
2825 # setup compiler and things for simulator
2828 if [ -d "simdisk" ]; then
2829 echo "Subdirectory 'simdisk' already present"
2832 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2836 # Now, figure out version number of the (gcc) compiler we are about to use
2837 gccver
=`$CC -dumpversion`;
2839 # figure out the binutil version too and display it, mostly for the build
2840 # system etc to be able to see it easier
2841 if [ $uname = "Darwin" ]; then
2842 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2844 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2847 if [ -z "$gccver" ]; then
2848 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2849 echo "[WARNING] this may cause your build to fail since we cannot do the"
2850 echo "[WARNING] checks we want now."
2853 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2856 num1
=`echo $gccver | cut -d . -f1`
2857 num2
=`echo $gccver | cut -d . -f2`
2858 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2865 echo "Using $CC $gccver ($gccnum)"
2867 if test "$gccnum" -ge "400"; then
2868 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2869 # so we ignore that warnings for now
2871 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2874 if test "$gccnum" -ge "402"; then
2875 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2876 # and later would throw it for several valid cases
2877 GCCOPTS
="$GCCOPTS -Wno-override-init"
2881 ""|
"$CROSS_COMPILE")
2885 # cross-compile for win32
2888 # Verify that the cross-compiler is of a recommended version!
2889 if test "$gccver" != "$gccchoice"; then
2890 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2891 echo "WARNING: version $gccchoice!"
2892 echo "WARNING: This may cause your build to fail since it may be a version"
2893 echo "WARNING: that isn't functional or known to not be the best choice."
2894 echo "WARNING: If you suffer from build problems, you know that this is"
2895 echo "WARNING: a likely source for them..."
2903 echo "Using $LD $ldver"
2905 # check the compiler for SH platforms
2906 if test "$CC" = "sh-elf-gcc"; then
2907 if test "$gccnum" -lt "400"; then
2908 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2909 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2911 # figure out patch status
2912 gccpatch
=`$CC --version`;
2914 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2915 echo "gcc $gccver is rockbox patched"
2916 # then convert -O to -Os to get smaller binaries!
2917 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2919 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2920 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2925 if test "$CC" = "m68k-elf-gcc"; then
2926 # convert -O to -Os to get smaller binaries!
2927 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2930 if [ "$ARG_CCACHE" = "1" ]; then
2931 echo "Enable ccache for building"
2933 elif [ "$ARG_CCACHE" != "0" ]; then
2934 ccache
=`findtool ccache`
2935 if test -n "$ccache"; then
2936 echo "Found and uses ccache ($ccache)"
2940 # figure out the full path to the various commands if possible
2941 HOSTCC
=`findtool gcc --lit`
2942 HOSTAR
=`findtool ar --lit`
2943 CC
=`findtool ${CC} --lit`
2944 LD
=`findtool ${AR} --lit`
2945 AR
=`findtool ${AR} --lit`
2946 AS
=`findtool ${AS} --lit`
2947 OC
=`findtool ${OC} --lit`
2948 WINDRES
=`findtool ${WINDRES} --lit`
2949 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2950 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2951 RANLIB
=`findtool ${RANLIB} --lit`
2953 if test "$ARG_ARM_THUMB" = "1"; then
2954 extradefines
="$extradefines -DUSE_THUMB"
2955 CC
="$toolsdir/thumb-cc.py $CC"
2958 if test -n "$ccache"; then
2962 if test "X$endian" = "Xbig"; then
2963 defendian
="ROCKBOX_BIG_ENDIAN"
2965 defendian
="ROCKBOX_LITTLE_ENDIAN"
2968 if [ "$ARG_RBDIR" ]; then
2970 echo "Using alternate rockbox dir: ${rbdir}"
2974 -e "s,@ENDIAN@,${defendian},g" \
2975 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2976 -e "s,^#undef DO_BOOTCHART,$use_bootchart,g" \
2977 -e "s,@config_rtc@,$config_rtc,g" \
2978 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2979 -e "s,@RBDIR@,${rbdir},g" \
2980 -e "s,@have_backlight@,$have_backlight,g" \
2981 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2982 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2984 /* This header was made by configure */
2985 #ifndef __BUILD_AUTOCONF_H
2986 #define __BUILD_AUTOCONF_H
2988 /* Define endianess for the target or simulator platform */
2991 /* Define this if you build rockbox to support the logf logging and display */
2992 #undef ROCKBOX_HAS_LOGF
2994 /* Define this to record a chart with timings for the stages of boot */
2997 /* optional define for a backlight modded Ondio */
3000 /* optional define for FM radio mod for iAudio M5 */
3003 /* optional define for ATA poweroff on Player */
3006 /* optional defines for RTC mod for h1x0 */
3010 /* root of Rockbox */
3011 #define ROCKBOX_DIR "/@RBDIR@"
3013 #endif /* __BUILD_AUTOCONF_H */
3016 if test -n "$t_cpu"; then
3017 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3018 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3019 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3020 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3022 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3023 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3027 if test "$simulator" = "yes"; then
3028 # add simul make stuff on the #SIMUL# line
3029 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
3030 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
3032 # delete the lines that match
3033 simmagic1
='/@SIMUL1@/D'
3034 simmagic2
='/@SIMUL2@/D'
3037 if test "$swcodec" = "yes"; then
3038 voicetoolset
="rbspeexenc voicefont wavtrim"
3040 voicetoolset
="voicefont wavtrim"
3043 if test "$apps" = "apps"; then
3044 # only when we build "real" apps we build the .lng files
3048 #### Fix the cmdline ###
3049 if [ "$ARG_CCACHE" = "1" ]; then
3051 elif [ "$ARG_CCACHE" = "0" ]; then
3052 cmdline
="--no-ccache "
3054 if [ "$ARG_ARM_EABI" = "1" ]; then
3055 cmdline
="$cmdline--eabi "
3058 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3062 -e "s,@ROOTDIR@,${rootdir},g" \
3063 -e "s,@DEBUG@,${debug},g" \
3064 -e "s,@MEMORY@,${memory},g" \
3065 -e "s,@TARGET_ID@,${target_id},g" \
3066 -e "s,@TARGET@,${target},g" \
3067 -e "s,@CPU@,${t_cpu},g" \
3068 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
3069 -e "s,@MODELNAME@,${modelname},g" \
3070 -e "s,@LANGUAGE@,${language},g" \
3071 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3072 -e "s,@PWD@,${pwd},g" \
3073 -e "s,@HOSTCC@,${HOSTCC},g" \
3074 -e "s,@HOSTAR@,${HOSTAR},g" \
3075 -e "s,@CC@,${CC},g" \
3076 -e "s,@LD@,${LD},g" \
3077 -e "s,@AR@,${AR},g" \
3078 -e "s,@AS@,${AS},g" \
3079 -e "s,@OC@,${OC},g" \
3080 -e "s,@WINDRES@,${WINDRES},g" \
3081 -e "s,@DLLTOOL@,${DLLTOOL},g" \
3082 -e "s,@DLLWRAP@,${DLLWRAP},g" \
3083 -e "s,@RANLIB@,${RANLIB},g" \
3084 -e "s,@TOOL@,${tool},g" \
3085 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
3086 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
3087 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
3088 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
3089 -e "s,@OUTPUT@,${output},g" \
3090 -e "s,@APPEXTRA@,${appextra},g" \
3091 -e "s,@ARCHOSROM@,${archosrom},g" \
3092 -e "s,@FLASHFILE@,${flash},g" \
3093 -e "s,@PLUGINS@,${plugins},g" \
3094 -e "s,@CODECS@,${swcodec},g" \
3095 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
3096 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
3097 -e "s,@GCCOPTS@,${GCCOPTS},g" \
3098 -e "s,@TARGET_INC@,${TARGET_INC},g" \
3099 -e "s!@LDOPTS@!${LDOPTS}!g" \
3100 -e "s,@LOADADDRESS@,${loadaddress},g" \
3101 -e "s,@EXTRADEF@,${extradefines},g" \
3102 -e "s,@APPSDIR@,${appsdir},g" \
3103 -e "s,@FIRMDIR@,${firmdir},g" \
3104 -e "s,@TOOLSDIR@,${toolsdir},g" \
3105 -e "s,@APPS@,${apps},g" \
3106 -e "s,@SIMVER@,${simver},g" \
3107 -e "s,@GCCVER@,${gccver},g" \
3108 -e "s,@GCCNUM@,${gccnum},g" \
3109 -e "s,@UNAME@,${uname},g" \
3110 -e "s,@ENDIAN@,${defendian},g" \
3111 -e "s,@TOOLSET@,${toolset},g" \
3114 -e "s,@MANUALDEV@,${manualdev},g" \
3115 -e "s,@ENCODER@,${ENC_CMD},g" \
3116 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
3117 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
3118 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
3119 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
3120 -e "s,@LANGS@,${buildlangs},g" \
3121 -e "s,@USE_ELF@,${USE_ELF},g" \
3122 -e "s,@RBDIR@,${rbdir},g" \
3123 -e "s,@PREFIX@,$PREFIX,g" \
3124 -e "s,@CMDLINE@,$cmdline,g" \
3125 -e "s,@SDLCONFIG@,$sdl,g" \
3127 ## Automatically generated. http://www.rockbox.org/
3129 export ROOTDIR=@ROOTDIR@
3130 export FIRMDIR=@FIRMDIR@
3131 export APPSDIR=@APPSDIR@
3132 export TOOLSDIR=@TOOLSDIR@
3133 export DOCSDIR=\$(ROOTDIR)/docs
3134 export MANUALDIR=\${ROOTDIR}/manual
3135 export DEBUG=@DEBUG@
3136 export MODELNAME=@MODELNAME@
3137 export ARCHOSROM=@ARCHOSROM@
3138 export FLASHFILE=@FLASHFILE@
3139 export TARGET_ID=@TARGET_ID@
3140 export TARGET=@TARGET@
3142 export MANUFACTURER=@MANUFACTURER@
3144 export BUILDDIR=@PWD@
3145 export LANGUAGE=@LANGUAGE@
3146 export VOICELANGUAGE=@VOICELANGUAGE@
3147 export MEMORYSIZE=@MEMORY@
3148 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3149 export MKFIRMWARE=@TOOL@
3150 export BMP2RB_MONO=@BMP2RB_MONO@
3151 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3152 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3153 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3154 export BINARY=@OUTPUT@
3155 export APPEXTRA=@APPEXTRA@
3156 export ENABLEDPLUGINS=@PLUGINS@
3157 export SOFTWARECODECS=@CODECS@
3158 export EXTRA_DEFINES=@EXTRADEF@
3159 export HOSTCC=@HOSTCC@
3160 export HOSTAR=@HOSTAR@
3166 export WINDRES=@WINDRES@
3167 export DLLTOOL=@DLLTOOL@
3168 export DLLWRAP=@DLLWRAP@
3169 export RANLIB=@RANLIB@
3170 export PREFIX=@PREFIX@
3171 export PROFILE_OPTS=@PROFILE_OPTS@
3172 export SIMVER=@SIMVER@
3173 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3174 export GCCOPTS=@GCCOPTS@
3175 export TARGET_INC=@TARGET_INC@
3176 export LOADADDRESS=@LOADADDRESS@
3177 export SHARED_FLAG=@SHARED_FLAG@
3178 export LDOPTS=@LDOPTS@
3179 export GCCVER=@GCCVER@
3180 export GCCNUM=@GCCNUM@
3181 export UNAME=@UNAME@
3182 export MANUALDEV=@MANUALDEV@
3183 export TTS_OPTS=@TTS_OPTS@
3184 export TTS_ENGINE=@TTS_ENGINE@
3185 export ENC_OPTS=@ENC_OPTS@
3186 export ENCODER=@ENCODER@
3187 export USE_ELF=@USE_ELF@
3188 export RBDIR=@RBDIR@
3189 export SDLCONFIG=@SDLCONFIG@
3191 CONFIGURE_OPTIONS=@CMDLINE@
3193 include \$(TOOLSDIR)/root.make
3197 echo "Created Makefile"