3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 # global CC options for all platforms
12 CCOPTS
="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe"
14 use_logf
="#undef ROCKBOX_HAS_LOGF"
15 use_bootchart
="#undef DO_BOOTCHART"
17 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
22 # Begin Function Definitions
32 WINDRES
=${prefix}windres
33 DLLTOOL
=${prefix}dlltool
34 DLLWRAP
=${prefix}dllwrap
35 RANLIB
=${prefix}ranlib
43 models_not_checked_with_eabi
="ipod4g vibe500 cowond2"
44 if [ "$ARG_ARM_EABI" != 1 ]; then # eabi not explicitely enabled
45 for model
in $models_not_checked_with_eabi; do
46 if [ "$modelname" = "$model" ]; then
48 echo "**************************************************************"
49 echo "**** Target $modelname is using non EABI compiler !"
50 echo "**** Please test a build with --eabi and enable"
51 echo "**** EABI compiler for this target"
52 echo "**************************************************************"
57 if [ "$ARG_ARM_EABI" != "0" ]; then
58 prefixtools arm-elf-eabi-
66 # scan the $PATH for the given command
73 # echo "checks for $file in $path" >&2
74 if test -f "$path/$file"; then
79 # check whether caller wants literal return value if not found
80 if [ "$2" = "--lit" ]; then
85 # scan the $PATH for sdl-config - check whether for a (cross-)win32
94 #echo "checks for $file in $path" >&2
95 if test -f "$path/$file"; then
96 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
97 if [ "yes" = "${winbuild}" ]; then
102 if [ "yes" != "${winbuild}" ]; then
113 # default tool setup for native building
114 prefixtools
"$CROSS_COMPILE"
115 ARG_ARM_THUMB
=0 # can't use thumb in native builds
118 winbuild
="$crosscompile"
119 GCCOPTS
='-W -Wall -g -fno-builtin'
121 LDOPTS
='-lm' # button-sdl.c uses sqrt()
123 # default output binary name
126 # default share option, override below if needed
127 SHARED_FLAG
="-shared"
131 echo "Cygwin host detected"
133 LDOPTS
="$LDOPTS -mconsole"
134 output
="rockboxui.exe"
139 echo "MinGW host detected"
141 LDOPTS
="$LDOPTS -mconsole"
142 output
="rockboxui.exe"
147 echo "Linux host detected"
148 LDOPTS
="$LDOPTS -ldl"
152 echo "FreeBSD host detected"
153 LDOPTS
="$LDOPTS -ldl"
157 echo "Darwin host detected"
158 LDOPTS
="$LDOPTS -ldl"
160 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
164 echo "*Solaris host detected"
166 GCCOPTS
="$GCCOPTS -fPIC"
167 LDOPTS
="$LDOPTS -ldl"
171 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
176 sdl
=`findsdl $winbuild`
178 if [ $1 = "sdl" ]; then
179 if [ -z "$sdl" ]; then
180 echo "configure didn't find sdl-config, which indicates that you"
181 echo "don't have SDL (properly) installed. Please correct and"
182 echo "re-run configure!"
185 # generic sdl-config checker
186 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
187 LDOPTS
="$LDOPTS `$sdl --libs`"
191 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
193 if test "X$crosscompile" != "Xyes"; then
196 # fPIC is needed to make shared objects link
197 # setting visibility to hidden is necessary to avoid strange crashes
198 # due to symbol clashing
199 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
200 # x86_64 supports MMX by default
204 echo "Enabling MMX support"
205 GCCOPTS
="$GCCOPTS -mmmx"
210 cat >$tmpdir/conftest-
$id.c
<<EOF
212 int main(int argc, char **argv)
215 char *varp = (char *)&var;
223 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
225 # when cross compiling, the endianess cannot be detected because the above program doesn't run
226 # on the local machine. assume little endian but print a warning
227 endian
=`$tmpdir/conftest-$id 2> /dev/null`
228 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
236 if [ "$CROSS_COMPILE" != "" ]; then
237 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
240 if [ $1 = "sdl" ]; then
241 echo "Simulator environment deemed $endian endian"
242 elif [ $1 = "checkwps" ]; then
243 echo "CheckWPS environment deemed $endian endian"
246 # use wildcard here to make it work even if it was named *.exe like
248 rm -f $tmpdir/conftest-
$id*
250 # We are crosscompiling
251 # add cross-compiler option(s)
252 prefixtools i586-mingw32msvc-
253 LDOPTS
="$LDOPTS -mconsole"
254 output
="rockboxui.exe"
255 endian
="little" # windows is little endian
256 echo "Enabling MMX support"
257 GCCOPTS
="$GCCOPTS -mmmx"
262 # functions for setting up cross-compiler names and options
263 # also set endianess and what the exact recommended gcc version is
264 # the gcc version should most likely match what versions we build with
269 GCCOPTS
="$CCOPTS -m1"
270 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
276 prefixtools calmrisc16-unknown-elf-
277 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
278 GCCOPTIMIZE
="-fomit-frame-pointer"
283 prefixtools m68k-elf-
284 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
285 GCCOPTIMIZE
="-fomit-frame-pointer"
292 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
293 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
294 GCCOPTS
="$GCCOPTS -mlong-calls"
296 GCCOPTIMIZE
="-fomit-frame-pointer"
302 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
303 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
304 GCCOPTS
="$GCCOPTS -mlong-calls"
306 GCCOPTIMIZE
="-fomit-frame-pointer"
312 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
313 if test "$ARG_ARM_EABI" = "0"; then
314 GCCOPTS
="$GCCOPTS -mlong-calls"
316 GCCOPTIMIZE
="-fomit-frame-pointer"
322 GCCOPTS
="$CCOPTS -mcpu=arm940t"
323 if test "$ARG_ARM_EABI" = "0"; then
324 GCCOPTS
="$GCCOPTS -mlong-calls"
326 GCCOPTIMIZE
="-fomit-frame-pointer"
332 GCCOPTS
="$CCOPTS -mcpu=arm9e"
333 if test "$ARG_ARM_EABI" = "0"; then
334 GCCOPTS
="$GCCOPTS -mlong-calls"
336 GCCOPTIMIZE
="-fomit-frame-pointer"
342 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
343 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
344 GCCOPTS
="$GCCOPTS -mlong-calls"
346 GCCOPTIMIZE
="-fomit-frame-pointer"
352 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
353 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
354 GCCOPTS
="$GCCOPTS -mlong-calls"
356 GCCOPTIMIZE
="-fomit-frame-pointer"
362 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
363 if test "$ARG_ARM_EABI" = "0"; then
364 GCCOPTS
="$GCCOPTS -mlong-calls"
366 GCCOPTIMIZE
="-fomit-frame-pointer"
371 prefixtools mipsel-elf-
372 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
373 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
374 GCCOPTIMIZE
="-fomit-frame-pointer"
380 atype
=`echo "$1" | cut -c 2-`
381 ##################################################################
382 # Prompt for specific developer options
384 if [ "$atype" ]; then
389 printf "Enter your developer options (press only enter when done)\n\
390 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
391 (T)est plugins, S(m)all C lib:"
392 if [ "$memory" = "2" ]; then
395 if [ "$modelname" = "archosplayer" ]; then
396 printf ", Use (A)TA poweroff"
398 if [ "$t_model" = "ondio" ]; then
399 printf ", (B)acklight MOD"
401 if [ "$modelname" = "iaudiom5" ]; then
402 printf ", (F)M radio MOD"
404 if [ "$modelname" = "iriverh120" ]; then
411 while [ $cont = "1" ]; do
413 if [ "$interact" ]; then
416 option
=`echo "$atype" | cut -c 1`
421 if [ "yes" = "$profile" ]; then
422 echo "Debug is incompatible with profiling"
424 echo "DEBUG build enabled"
429 echo "logf() support enabled"
433 echo "Using Rockbox' small C library"
434 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
437 echo "Including test plugins"
438 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
441 echo "bootchart enabled (logf also enabled)"
446 echo "Simulator build enabled"
450 if [ "yes" = "$use_debug" ]; then
451 echo "Profiling is incompatible with debug"
453 echo "Profiling support is enabled"
458 echo "Voice build selected"
462 if [ "$memory" = "2" ]; then
464 echo "Memory size selected: 8MB"
468 if [ "$modelname" = "archosplayer" ]; then
469 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
470 echo "ATA power off enabled"
474 if [ "$t_model" = "ondio" ]; then
475 have_backlight
="#define HAVE_BACKLIGHT"
476 echo "Backlight functions enabled"
480 if [ "$modelname" = "iaudiom5" ]; then
481 have_fmradio_in
="#define HAVE_FMRADIO_IN"
482 echo "FM radio functions enabled"
486 if [ "$modelname" = "iriverh120" ]; then
487 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
488 have_rtc_alarm
="#define HAVE_RTC_ALARM"
489 echo "RTC functions enabled (DS1339/DS3231)"
493 echo "Enabling Windows 32 cross-compiling"
497 if [ "$interact" ]; then
500 echo "[ERROR] Option $option unsupported"
504 if [ "$interact" ]; then
505 btype
="$btype$option"
507 atype
=`echo "$atype" | cut -c 2-`
508 [ "$atype" ] || cont
=0
513 if [ "yes" = "$voice" ]; then
514 # Ask about languages to build
516 voicelanguage
=`whichlang`
517 echo "Voice language set to $voicelanguage"
519 # Configure encoder and TTS engine for each language
520 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
521 voiceconfig
"$thislang"
524 if [ "yes" = "$use_debug" ]; then
526 GCCOPTS
="$GCCOPTS -g -DDEBUG"
528 if [ "yes" = "$logf" ]; then
529 use_logf
="#define ROCKBOX_HAS_LOGF 1"
531 if [ "yes" = "$bootchart" ]; then
532 use_bootchart
="#define DO_BOOTCHART 1"
534 if [ "yes" = "$simulator" ]; then
536 extradefines
="$extradefines -DSIMULATOR"
540 if [ "yes" = "$profile" ]; then
541 extradefines
="$extradefines -DRB_PROFILE"
542 PROFILE_OPTS
="-finstrument-functions"
546 # Configure voice settings
549 if [ ! "$ARG_TTS" ]; then
550 echo "Building $thislang voice for $modelname. Select options"
554 if [ -n "`findtool flite`" ]; then
558 DEFAULT_TTS_OPTS
=$FLITE_OPTS
559 DEFAULT_NOISEFLOOR
="500"
562 if [ -n "`findtool espeak`" ]; then
566 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
567 DEFAULT_NOISEFLOOR
="500"
570 if [ -n "`findtool festival`" ]; then
571 FESTIVAL
="(F)estival "
574 FESTIVAL_OPTS
="--language italian"
577 FESTIVAL_OPTS
="--language spanish"
580 FESTIVAL_OPTS
="--language finnish"
583 FESTIVAL_OPTS
="--language czech"
589 DEFAULT_TTS
="festival"
590 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
591 DEFAULT_NOISEFLOOR
="500"
594 if [ -n "`findtool swift`" ]; then
598 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
599 DEFAULT_NOISEFLOOR
="500"
602 # Allow SAPI if Windows is in use
603 if [ -n "`findtool winver`" ]; then
607 DEFAULT_TTS_OPTS
=$SAPI_OPTS
608 DEFAULT_NOISEFLOOR
="500"
612 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
613 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
617 if [ "$ARG_TTS" ]; then
620 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
623 advopts
="$advopts --tts=$option"
627 NOISEFLOOR
="500" # TODO: check this value
633 TTS_OPTS
=$ESPEAK_OPTS
636 TTS_ENGINE
="festival"
638 TTS_OPTS
=$FESTIVAL_OPTS
651 TTS_ENGINE
=$DEFAULT_TTS
652 TTS_OPTS
=$DEFAULT_TTS_OPTS
653 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
655 echo "Using $TTS_ENGINE for TTS"
657 # Select which voice to use for Festival
658 if [ "$TTS_ENGINE" = "festival" ]; then
659 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
660 for voice
in $voicelist; do
661 TTS_FESTIVAL_VOICE
="$voice" # Default choice
664 if [ "$ARG_VOICE" ]; then
668 for voice
in $voicelist; do
669 printf "%3d. %s\n" "$i" "$voice"
672 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
676 for voice
in $voicelist; do
677 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
678 TTS_FESTIVAL_VOICE
="$voice"
682 advopts
="$advopts --voice=$CHOICE"
683 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
684 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
687 # Read custom tts options from command line
688 if [ "$ARG_TTSOPTS" ]; then
689 TTS_OPTS
="$ARG_TTSOPTS"
690 advopts
="$advopts --ttsopts='$TTS_OPTS'"
691 echo "$TTS_ENGINE options set to $TTS_OPTS"
694 if [ "$swcodec" = "yes" ]; then
697 ENC_OPTS
="-q 4 -c 10"
699 if [ -n "`findtool lame`" ]; then
702 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
704 echo "You need LAME in the system path to build voice files for"
705 echo "HWCODEC targets."
710 echo "Using $ENCODER for encoding voice clips"
712 # Read custom encoder options from command line
713 if [ "$ARG_ENCOPTS" ]; then
714 ENC_OPTS
="$ARG_ENCOPTS"
715 advopts
="$advopts --encopts='$ENC_OPTS'"
716 echo "$ENCODER options set to $ENC_OPTS"
720 if [ -n "`findtool cygpath`" ]; then
721 TEMPDIR
=`cygpath . -a -w`
726 # figure out which languages that are around
727 for file in $rootdir/apps
/lang
/*.lang
; do
728 clean
=`basename $file .lang`
729 langs
="$langs $clean"
732 if [ "$ARG_LANG" ]; then
735 echo "Select a number for the language to use (default is english)"
736 # FIXME The multiple-language feature is currently broken
737 # echo "You may enter a comma-separated list of languages to build"
740 for one
in $langs; do
746 advopts
="$advopts --language=$pick"
751 # Allow the user to pass a comma-separated list of langauges
752 for thispick
in `echo $pick | sed 's/,/ /g'`; do
754 for one
in $langs; do
755 # Accept both the language number and name
756 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
757 if [ "$output" = "" ]; then
766 if [ -z "$output" ]; then
774 echo "Rockbox configure script."
775 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
776 echo "Do *NOT* run this within the tools directory!"
779 Usage: configure [OPTION]...
781 --target=TARGET Sets the target, TARGET can be either the target ID or
782 corresponding string. Run without this option to see all
785 --ram=RAM Sets the RAM for certain targets. Even though any number
786 is accepted, not every number is correct. The default
787 value will be applied, if you entered a wrong number
788 (which depends on the target). Watch the output. Run
789 without this option if you are not sure which the right
792 --type=TYPE Sets the build type. Shortcuts are also valid.
793 Run without this option to see all available types.
794 Multiple values are allowed and managed in the input
795 order. So --type=b stands for Bootloader build, while
796 --type=ab stands for "Backlight MOD" build.
798 --language=LANG Set the language used for voice generation (used only if
801 --tts=ENGINE Set the TTS engine used for voice generation (used only
804 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
807 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
809 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
811 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
812 This is useful for having multiple alternate builds on
813 your device that you can load with ROLO. However as the
814 bootloader looks for .rockbox you won't be able to boot
817 --ccache Enable ccache use (done by default these days)
818 --no-ccache Disable ccache use
820 --eabi Make configure prefer toolchains that are able to compile
821 for the new ARM standard abi EABI
822 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
823 --thumb Build with -mthumb (for ARM builds)
824 --no-thumb The opposite of --thumb (don't use thumb even for targets
825 where this is the default
826 --help Shows this message (must not be used with other options)
848 --ccache) ARG_CCACHE
=1;;
849 --no-ccache) ARG_CCACHE
=0;;
850 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
851 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
852 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
853 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
854 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
855 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
856 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
857 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
858 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
859 --eabi) ARG_ARM_EABI
=1;;
860 --no-eabi) ARG_ARM_EABI
=0;;
861 --thumb) ARG_ARM_THUMB
=1;;
862 --no-thumb) ARG_ARM_THUMB
=0;;
864 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
871 if [ "$TMPDIR" != "" ]; then
876 echo Using temporary directory
$tmpdir
878 if test -r "configure"; then
879 # this is a check for a configure script in the current directory, it there
880 # is one, try to figure out if it is this one!
882 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
883 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
884 echo "It will only cause you pain and grief. Instead do this:"
887 echo " mkdir build-dir"
889 echo " ../tools/configure"
891 echo "Much happiness will arise from this. Enjoy"
896 # get our current directory
899 if { echo $pwd |
grep " "; } then
900 echo "You're running this script in a path that contains space. The build"
901 echo "system is unfortunately not clever enough to deal with this. Please"
902 echo "run the script from a different path, rename the path or fix the build"
907 if [ -z "$rootdir" ]; then
908 ##################################################################
909 # Figure out where the source code root is!
911 rootdir
=`dirname $0`/..
/
913 #####################################################################
914 # Convert the possibly relative directory name to an absolute version
920 # cd back to the build dir
925 appsdir
='\$(ROOTDIR)/apps'
926 firmdir
='\$(ROOTDIR)/firmware'
927 toolsdir
='\$(ROOTDIR)/tools'
930 ##################################################################
931 # Figure out target platform
934 if [ "$ARG_TARGET" ]; then
937 echo "Enter target platform:"
939 ==Archos== ==iriver== ==Apple iPod==
940 0) Player/Studio 10) H120/H140 20) Color/Photo
941 1) Recorder 11) H320/H340 21) Nano 1G
942 2) FM Recorder 12) iHP-100/110/115 22) Video
943 3) Recorder v2 13) iFP-790 23) 3G
944 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
945 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
947 ==Toshiba== 27) 1G, 2G
948 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
949 30) X5/X5V/X5L 41) Gigabeat S
950 31) M5/M5L ==SanDisk==
951 32) 7 ==Olympus= 50) Sansa e200
952 33) D2 70) M:Robe 500 51) Sansa e200R
953 34) M3/M3L 71) M:Robe 100 52) Sansa c200
955 ==Creative== ==Philips== 54) Sansa c100
956 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
957 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
958 92) Zen Vision HDD1830 57) Sansa m200v4
959 102) GoGear HDD6330 58) Sansa Fuze
960 ==Onda== 59) Sansa c200v2
961 120) VX747 ==Meizu== 60) Sansa Clipv2
962 121) VX767 110) M6SL 61) Sansa View
963 122) VX747+ 111) M6SP 62) Sansa Clip+
964 123) VX777 112) M3 63) Sansa Fuze v2
967 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
968 140) YH-820 150) Elio TPJ-1022
969 141) YH-920 ==Lyre project==
970 142) YH-925 ==Packard Bell== 130) Lyre proto 1
971 143) YP-S3 160) Vibe 500 131) Mini2440
980 # Set of tools built for all target platforms:
981 toolset
="rdf2binary convbdf codepages"
983 # Toolsets for some target families:
984 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
985 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
986 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
987 ipodbitmaptools
="$toolset scramble bmp2rb"
988 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
989 tccbitmaptools
="$toolset scramble bmp2rb"
990 # generic is used by IFP, Meizu and Onda
991 genericbitmaptools
="$toolset bmp2rb"
992 # scramble is used by all other targets
993 scramblebitmaptools
="$genericbitmaptools scramble"
996 # ---- For each target ----
999 # target_id: a unique number identifying this target, IS NOT the menu number.
1000 # Just use the currently highest number+1 when you add a new
1002 # modelname: short model name used all over to identify this target
1003 # memory: number of megabytes of RAM this target has. If the amount can
1004 # be selected by the size prompt, let memory be unset here
1005 # target: -Ddefine passed to the build commands to make the correct
1006 # config-*.h file get included etc
1007 # tool: the tool that takes a plain binary and converts that into a
1008 # working "firmware" file for your target
1009 # output: the final output file name
1010 # boottool: the tool that takes a plain binary and generates a bootloader
1011 # file for your target (or blank to use $tool)
1012 # bootoutput:the final output file name for the bootloader (or blank to use
1014 # appextra: passed to the APPEXTRA variable in the Makefiles.
1015 # TODO: add proper explanation
1016 # archosrom: used only for Archos targets that build a special flashable .ucl
1018 # flash: name of output for flashing, for targets where there's a special
1019 # file output for this.
1020 # plugins: set to 'yes' to build the plugins. Early development builds can
1021 # set this to no in the early stages to have an easier life for a
1023 # swcodec: set 'yes' on swcodec targets
1024 # toolset: lists what particular tools in the tools/ directory that this
1025 # target needs to have built prior to building Rockbox
1028 # *cc: sets up gcc and compiler options for your target builds. Note
1029 # that if you select a simulator build, the compiler selection is
1030 # overridden later in the script.
1036 modelname
="archosplayer"
1037 target
="-DARCHOS_PLAYER"
1039 tool
="$rootdir/tools/scramble"
1041 appextra
="player:gui"
1042 archosrom
="$pwd/rombox.ucl"
1043 flash
="$pwd/rockbox.ucl"
1047 # toolset is the tools within the tools directory that we build for
1048 # this particular target.
1049 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1051 # Note: the convbdf is present in the toolset just because: 1) the
1052 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1053 # build the player simulator
1056 t_manufacturer
="archos"
1062 modelname
="archosrecorder"
1063 target
="-DARCHOS_RECORDER"
1065 tool
="$rootdir/tools/scramble"
1066 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1067 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1069 appextra
="recorder:gui:radio"
1070 #archosrom="$pwd/rombox.ucl"
1071 flash
="$pwd/rockbox.ucl"
1074 # toolset is the tools within the tools directory that we build for
1075 # this particular target.
1076 toolset
=$archosbitmaptools
1078 t_manufacturer
="archos"
1084 modelname
="archosfmrecorder"
1085 target
="-DARCHOS_FMRECORDER"
1087 tool
="$rootdir/tools/scramble -fm"
1088 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1089 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1091 appextra
="recorder:gui:radio"
1092 #archosrom="$pwd/rombox.ucl"
1093 flash
="$pwd/rockbox.ucl"
1096 # toolset is the tools within the tools directory that we build for
1097 # this particular target.
1098 toolset
=$archosbitmaptools
1100 t_manufacturer
="archos"
1106 modelname
="archosrecorderv2"
1107 target
="-DARCHOS_RECORDERV2"
1109 tool
="$rootdir/tools/scramble -v2"
1110 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1111 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1113 appextra
="recorder:gui:radio"
1114 #archosrom="$pwd/rombox.ucl"
1115 flash
="$pwd/rockbox.ucl"
1118 # toolset is the tools within the tools directory that we build for
1119 # this particular target.
1120 toolset
=$archosbitmaptools
1122 t_manufacturer
="archos"
1128 modelname
="archosondiosp"
1129 target
="-DARCHOS_ONDIOSP"
1131 tool
="$rootdir/tools/scramble -osp"
1132 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1133 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1135 appextra
="recorder:gui:radio"
1136 #archosrom="$pwd/rombox.ucl"
1137 flash
="$pwd/rockbox.ucl"
1140 # toolset is the tools within the tools directory that we build for
1141 # this particular target.
1142 toolset
=$archosbitmaptools
1144 t_manufacturer
="archos"
1150 modelname
="archosondiofm"
1151 target
="-DARCHOS_ONDIOFM"
1153 tool
="$rootdir/tools/scramble -ofm"
1154 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1155 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1157 appextra
="recorder:gui:radio"
1158 #archosrom="$pwd/rombox.ucl"
1159 flash
="$pwd/rockbox.ucl"
1162 toolset
=$archosbitmaptools
1164 t_manufacturer
="archos"
1170 modelname
="archosav300"
1171 target
="-DARCHOS_AV300"
1174 tool
="$rootdir/tools/scramble -mm=C"
1175 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1176 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1178 appextra
="recorder:gui:radio"
1181 # toolset is the tools within the tools directory that we build for
1182 # this particular target.
1183 toolset
="$toolset scramble descramble bmp2rb"
1184 # architecture, manufacturer and model for the target-tree build
1186 t_manufacturer
="archos"
1192 modelname
="iriverh120"
1193 target
="-DIRIVER_H120"
1196 tool
="$rootdir/tools/scramble -add=h120"
1197 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1198 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1199 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1200 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1201 output
="rockbox.iriver"
1202 bootoutput
="bootloader.iriver"
1203 appextra
="recorder:gui:radio"
1204 flash
="$pwd/rombox.iriver"
1207 # toolset is the tools within the tools directory that we build for
1208 # this particular target.
1209 toolset
=$iriverbitmaptools
1211 t_manufacturer
="iriver"
1217 modelname
="iriverh300"
1218 target
="-DIRIVER_H300"
1221 tool
="$rootdir/tools/scramble -add=h300"
1222 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1223 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1224 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1225 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1226 output
="rockbox.iriver"
1227 appextra
="recorder:gui:radio"
1230 # toolset is the tools within the tools directory that we build for
1231 # this particular target.
1232 toolset
=$iriverbitmaptools
1234 t_manufacturer
="iriver"
1240 modelname
="iriverh100"
1241 target
="-DIRIVER_H100"
1244 tool
="$rootdir/tools/scramble -add=h100"
1245 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1246 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1247 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1248 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1249 output
="rockbox.iriver"
1250 bootoutput
="bootloader.iriver"
1251 appextra
="recorder:gui:radio"
1252 flash
="$pwd/rombox.iriver"
1255 # toolset is the tools within the tools directory that we build for
1256 # this particular target.
1257 toolset
=$iriverbitmaptools
1259 t_manufacturer
="iriver"
1265 modelname
="iriverifp7xx"
1266 target
="-DIRIVER_IFP7XX"
1270 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1271 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1272 output
="rockbox.wma"
1273 appextra
="recorder:gui:radio"
1276 # toolset is the tools within the tools directory that we build for
1277 # this particular target.
1278 toolset
=$genericbitmaptools
1280 t_manufacturer
="pnx0101"
1281 t_model
="iriver-ifp7xx"
1286 modelname
="iriverh10"
1287 target
="-DIRIVER_H10"
1290 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1291 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1292 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1293 output
="rockbox.mi4"
1294 appextra
="recorder:gui:radio"
1297 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1298 bootoutput
="H10_20GC.mi4"
1299 # toolset is the tools within the tools directory that we build for
1300 # this particular target.
1301 toolset
=$scramblebitmaptools
1302 # architecture, manufacturer and model for the target-tree build
1304 t_manufacturer
="iriver"
1310 modelname
="iriverh10_5gb"
1311 target
="-DIRIVER_H10_5GB"
1314 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1315 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1316 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1317 output
="rockbox.mi4"
1318 appextra
="recorder:gui:radio"
1321 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1322 bootoutput
="H10.mi4"
1323 # toolset is the tools within the tools directory that we build for
1324 # this particular target.
1325 toolset
=$scramblebitmaptools
1326 # architecture, manufacturer and model for the target-tree build
1328 t_manufacturer
="iriver"
1334 modelname
="ipodcolor"
1335 target
="-DIPOD_COLOR"
1338 tool
="$rootdir/tools/scramble -add=ipco"
1339 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1340 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1341 output
="rockbox.ipod"
1342 appextra
="recorder:gui:radio"
1345 bootoutput
="bootloader-$modelname.ipod"
1346 # toolset is the tools within the tools directory that we build for
1347 # this particular target.
1348 toolset
=$ipodbitmaptools
1349 # architecture, manufacturer and model for the target-tree build
1351 t_manufacturer
="ipod"
1357 modelname
="ipodnano1g"
1358 target
="-DIPOD_NANO"
1361 tool
="$rootdir/tools/scramble -add=nano"
1362 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1363 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1364 output
="rockbox.ipod"
1365 appextra
="recorder:gui:radio"
1368 bootoutput
="bootloader-$modelname.ipod"
1369 # toolset is the tools within the tools directory that we build for
1370 # this particular target.
1371 toolset
=$ipodbitmaptools
1372 # architecture, manufacturer and model for the target-tree build
1374 t_manufacturer
="ipod"
1380 modelname
="ipodvideo"
1381 target
="-DIPOD_VIDEO"
1383 tool
="$rootdir/tools/scramble -add=ipvd"
1384 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1385 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1386 output
="rockbox.ipod"
1387 appextra
="recorder:gui:radio"
1390 bootoutput
="bootloader-$modelname.ipod"
1391 # toolset is the tools within the tools directory that we build for
1392 # this particular target.
1393 toolset
=$ipodbitmaptools
1394 # architecture, manufacturer and model for the target-tree build
1396 t_manufacturer
="ipod"
1406 tool
="$rootdir/tools/scramble -add=ip3g"
1407 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1408 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1409 output
="rockbox.ipod"
1410 appextra
="recorder:gui:radio"
1413 bootoutput
="bootloader-$modelname.ipod"
1414 # toolset is the tools within the tools directory that we build for
1415 # this particular target.
1416 toolset
=$ipodbitmaptools
1417 # architecture, manufacturer and model for the target-tree build
1419 t_manufacturer
="ipod"
1429 tool
="$rootdir/tools/scramble -add=ip4g"
1430 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1431 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1432 output
="rockbox.ipod"
1433 appextra
="recorder:gui:radio"
1436 bootoutput
="bootloader-$modelname.ipod"
1437 # toolset is the tools within the tools directory that we build for
1438 # this particular target.
1439 toolset
=$ipodbitmaptools
1440 # architecture, manufacturer and model for the target-tree build
1442 t_manufacturer
="ipod"
1448 modelname
="ipodmini1g"
1449 target
="-DIPOD_MINI"
1452 tool
="$rootdir/tools/scramble -add=mini"
1453 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1454 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1455 output
="rockbox.ipod"
1456 appextra
="recorder:gui:radio"
1459 bootoutput
="bootloader-$modelname.ipod"
1460 # toolset is the tools within the tools directory that we build for
1461 # this particular target.
1462 toolset
=$ipodbitmaptools
1463 # architecture, manufacturer and model for the target-tree build
1465 t_manufacturer
="ipod"
1471 modelname
="ipodmini2g"
1472 target
="-DIPOD_MINI2G"
1475 tool
="$rootdir/tools/scramble -add=mn2g"
1476 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1477 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1478 output
="rockbox.ipod"
1479 appextra
="recorder:gui:radio"
1482 bootoutput
="bootloader-$modelname.ipod"
1483 # toolset is the tools within the tools directory that we build for
1484 # this particular target.
1485 toolset
=$ipodbitmaptools
1486 # architecture, manufacturer and model for the target-tree build
1488 t_manufacturer
="ipod"
1494 modelname
="ipod1g2g"
1495 target
="-DIPOD_1G2G"
1498 tool
="$rootdir/tools/scramble -add=1g2g"
1499 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1500 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1501 output
="rockbox.ipod"
1502 appextra
="recorder:gui:radio"
1505 bootoutput
="bootloader-$modelname.ipod"
1506 # toolset is the tools within the tools directory that we build for
1507 # this particular target.
1508 toolset
=$ipodbitmaptools
1509 # architecture, manufacturer and model for the target-tree build
1511 t_manufacturer
="ipod"
1517 modelname
="ipodnano2g"
1518 target
="-DIPOD_NANO2G"
1521 tool
="$rootdir/tools/scramble -add=nn2g"
1522 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1523 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1524 output
="rockbox.ipod"
1525 appextra
="recorder:gui:radio"
1528 bootoutput
="bootloader-$modelname.ipod"
1529 # toolset is the tools within the tools directory that we build for
1530 # this particular target.
1531 toolset
=$ipodbitmaptools
1532 # architecture, manufacturer and model for the target-tree build
1534 t_manufacturer
="s5l8700"
1535 t_model
="ipodnano2g"
1540 modelname
="iaudiox5"
1541 target
="-DIAUDIO_X5"
1544 tool
="$rootdir/tools/scramble -add=iax5"
1545 boottool
="$rootdir/tools/scramble -iaudiox5"
1546 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1547 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1548 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1549 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1550 output
="rockbox.iaudio"
1551 bootoutput
="x5_fw.bin"
1552 appextra
="recorder:gui:radio"
1555 # toolset is the tools within the tools directory that we build for
1556 # this particular target.
1557 toolset
="$iaudiobitmaptools"
1558 # architecture, manufacturer and model for the target-tree build
1560 t_manufacturer
="iaudio"
1566 modelname
="iaudiom5"
1567 target
="-DIAUDIO_M5"
1570 tool
="$rootdir/tools/scramble -add=iam5"
1571 boottool
="$rootdir/tools/scramble -iaudiom5"
1572 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1573 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1574 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1575 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1576 output
="rockbox.iaudio"
1577 bootoutput
="m5_fw.bin"
1578 appextra
="recorder:gui:radio"
1581 # toolset is the tools within the tools directory that we build for
1582 # this particular target.
1583 toolset
="$iaudiobitmaptools"
1584 # architecture, manufacturer and model for the target-tree build
1586 t_manufacturer
="iaudio"
1596 tool
="$rootdir/tools/scramble -add=i7"
1597 boottool
="$rootdir/tools/scramble -tcc=crc"
1598 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1599 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1600 output
="rockbox.iaudio"
1601 appextra
="recorder:gui:radio"
1604 bootoutput
="I7_FW.BIN"
1605 # toolset is the tools within the tools directory that we build for
1606 # this particular target.
1607 toolset
="$tccbitmaptools"
1608 # architecture, manufacturer and model for the target-tree build
1610 t_manufacturer
="tcc77x"
1620 tool
="$rootdir/tools/scramble -add=d2"
1622 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1623 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1625 bootoutput
="bootloader-cowond2.bin"
1626 appextra
="recorder:gui:radio"
1629 toolset
="$tccbitmaptools"
1630 # architecture, manufacturer and model for the target-tree build
1632 t_manufacturer
="tcc780x"
1638 modelname
="iaudiom3"
1639 target
="-DIAUDIO_M3"
1642 tool
="$rootdir/tools/scramble -add=iam3"
1643 boottool
="$rootdir/tools/scramble -iaudiom3"
1644 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1645 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1646 output
="rockbox.iaudio"
1647 bootoutput
="cowon_m3.bin"
1648 appextra
="recorder:gui:radio"
1651 # toolset is the tools within the tools directory that we build for
1652 # this particular target.
1653 toolset
="$iaudiobitmaptools"
1654 # architecture, manufacturer and model for the target-tree build
1656 t_manufacturer
="iaudio"
1662 modelname
="gigabeatfx"
1663 target
="-DGIGABEAT_F"
1666 tool
="$rootdir/tools/scramble -add=giga"
1667 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1668 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1669 output
="rockbox.gigabeat"
1670 appextra
="recorder:gui:radio"
1673 toolset
=$gigabeatbitmaptools
1674 boottool
="$rootdir/tools/scramble -gigabeat"
1675 bootoutput
="FWIMG01.DAT"
1676 # architecture, manufacturer and model for the target-tree build
1678 t_manufacturer
="s3c2440"
1679 t_model
="gigabeat-fx"
1684 modelname
="gigabeats"
1685 target
="-DGIGABEAT_S"
1688 tool
="$rootdir/tools/scramble -add=gigs"
1689 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1690 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1691 output
="rockbox.gigabeat"
1692 appextra
="recorder:gui:radio"
1695 toolset
="$gigabeatbitmaptools"
1696 boottool
="$rootdir/tools/scramble -gigabeats"
1698 # architecture, manufacturer and model for the target-tree build
1700 t_manufacturer
="imx31"
1701 t_model
="gigabeat-s"
1706 modelname
="mrobe500"
1707 target
="-DMROBE_500"
1710 tool
="$rootdir/tools/scramble -add=m500"
1711 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1712 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1713 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1714 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1715 output
="rockbox.mrobe500"
1716 appextra
="recorder:gui:radio"
1719 toolset
=$gigabeatbitmaptools
1721 bootoutput
="rockbox.mrboot"
1722 # architecture, manufacturer and model for the target-tree build
1724 t_manufacturer
="tms320dm320"
1730 modelname
="mrobe100"
1731 target
="-DMROBE_100"
1734 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1735 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1736 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1737 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1738 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1739 output
="rockbox.mi4"
1740 appextra
="recorder:gui:radio"
1743 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1744 bootoutput
="pp5020.mi4"
1745 # toolset is the tools within the tools directory that we build for
1746 # this particular target.
1747 toolset
=$scramblebitmaptools
1748 # architecture, manufacturer and model for the target-tree build
1750 t_manufacturer
="olympus"
1756 modelname
="logikdax"
1757 target
="-DLOGIK_DAX"
1760 tool
="$rootdir/tools/scramble -add=ldax"
1761 boottool
="$rootdir/tools/scramble -tcc=crc"
1762 bootoutput
="player.rom"
1763 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1764 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1765 output
="rockbox.logik"
1766 appextra
="recorder:gui:radio"
1769 # toolset is the tools within the tools directory that we build for
1770 # this particular target.
1771 toolset
=$tccbitmaptools
1772 # architecture, manufacturer and model for the target-tree build
1774 t_manufacturer
="tcc77x"
1780 modelname
="zenvisionm30gb"
1781 target
="-DCREATIVE_ZVM"
1784 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1785 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1786 tool
="$rootdir/tools/scramble -creative=zvm"
1788 output
="rockbox.zvm"
1789 appextra
="recorder:gui:radio"
1792 toolset
=$ipodbitmaptools
1793 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1794 bootoutput
="rockbox.zvmboot"
1795 # architecture, manufacturer and model for the target-tree build
1797 t_manufacturer
="tms320dm320"
1798 t_model
="creative-zvm"
1803 modelname
="zenvisionm60gb"
1804 target
="-DCREATIVE_ZVM60GB"
1807 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1808 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1809 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1811 output
="rockbox.zvm60"
1812 appextra
="recorder:gui:radio"
1815 toolset
=$ipodbitmaptools
1816 boottool
="$rootdir/tools/scramble -creative=zvm60"
1817 bootoutput
="rockbox.zvm60boot"
1818 # architecture, manufacturer and model for the target-tree build
1820 t_manufacturer
="tms320dm320"
1821 t_model
="creative-zvm"
1826 modelname
="zenvision"
1827 target
="-DCREATIVE_ZV"
1830 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1831 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1832 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1835 appextra
="recorder:gui:radio"
1838 toolset
=$ipodbitmaptools
1839 boottool
="$rootdir/tools/scramble -creative=zenvision"
1840 bootoutput
="rockbox.zvboot"
1841 # architecture, manufacturer and model for the target-tree build
1843 t_manufacturer
="tms320dm320"
1844 t_model
="creative-zvm"
1849 modelname
="sansae200"
1850 target
="-DSANSA_E200"
1851 memory
=32 # supposedly
1853 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1854 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1855 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1856 output
="rockbox.mi4"
1857 appextra
="recorder:gui:radio"
1860 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1861 bootoutput
="PP5022.mi4"
1862 # toolset is the tools within the tools directory that we build for
1863 # this particular target.
1864 toolset
=$scramblebitmaptools
1865 # architecture, manufacturer and model for the target-tree build
1867 t_manufacturer
="sandisk"
1868 t_model
="sansa-e200"
1872 # the e200R model is pretty much identical to the e200, it only has a
1873 # different option to the scramble tool when building a bootloader and
1874 # makes the bootloader output file name in all lower case.
1876 modelname
="sansae200r"
1877 target
="-DSANSA_E200"
1878 memory
=32 # supposedly
1880 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1881 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1882 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1883 output
="rockbox.mi4"
1884 appextra
="recorder:gui:radio"
1887 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1888 bootoutput
="pp5022.mi4"
1889 # toolset is the tools within the tools directory that we build for
1890 # this particular target.
1891 toolset
=$scramblebitmaptools
1892 # architecture, manufacturer and model for the target-tree build
1894 t_manufacturer
="sandisk"
1895 t_model
="sansa-e200"
1900 modelname
="sansac200"
1901 target
="-DSANSA_C200"
1902 memory
=32 # supposedly
1904 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1905 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1906 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1907 output
="rockbox.mi4"
1908 appextra
="recorder:gui:radio"
1911 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1912 bootoutput
="firmware.mi4"
1913 # toolset is the tools within the tools directory that we build for
1914 # this particular target.
1915 toolset
=$scramblebitmaptools
1916 # architecture, manufacturer and model for the target-tree build
1918 t_manufacturer
="sandisk"
1919 t_model
="sansa-c200"
1924 modelname
="sansam200"
1925 target
="-DSANSA_M200"
1928 tool
="$rootdir/tools/scramble -add=m200"
1929 boottool
="$rootdir/tools/scramble -tcc=crc"
1930 bootoutput
="player.rom"
1931 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1932 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1933 output
="rockbox.m200"
1934 appextra
="recorder:gui:radio"
1937 # toolset is the tools within the tools directory that we build for
1938 # this particular target.
1939 toolset
=$tccbitmaptools
1940 # architecture, manufacturer and model for the target-tree build
1942 t_manufacturer
="tcc77x"
1948 modelname
="sansac100"
1949 target
="-DSANSA_C100"
1952 tool
="$rootdir/tools/scramble -add=c100"
1953 boottool
="$rootdir/tools/scramble -tcc=crc"
1954 bootoutput
="player.rom"
1955 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1956 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1957 output
="rockbox.c100"
1958 appextra
="recorder:gui:radio"
1961 # toolset is the tools within the tools directory that we build for
1962 # this particular target.
1963 toolset
=$tccbitmaptools
1964 # architecture, manufacturer and model for the target-tree build
1966 t_manufacturer
="tcc77x"
1972 modelname
="sansaclip"
1973 target
="-DSANSA_CLIP"
1975 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1976 bmp2rb_native
="$bmp2rb_mono"
1977 tool
="$rootdir/tools/scramble -add=clip"
1978 output
="rockbox.sansa"
1979 bootoutput
="bootloader-clip.sansa"
1980 appextra
="recorder:gui:radio"
1983 toolset
=$scramblebitmaptools
1985 t_manufacturer
="as3525"
1986 t_model
="sansa-clip"
1987 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1989 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1995 modelname
="sansae200v2"
1996 target
="-DSANSA_E200V2"
1998 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1999 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2000 tool
="$rootdir/tools/scramble -add=e2v2"
2001 output
="rockbox.sansa"
2002 bootoutput
="bootloader-e200v2.sansa"
2003 appextra
="recorder:gui:radio"
2006 toolset
=$scramblebitmaptools
2008 t_manufacturer
="as3525"
2009 t_model
="sansa-e200v2"
2016 modelname
="sansam200v4"
2017 target
="-DSANSA_M200V4"
2019 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2020 bmp2rb_native
="$bmp2rb_mono"
2021 tool
="$rootdir/tools/scramble -add=m2v4"
2022 output
="rockbox.sansa"
2023 bootoutput
="bootloader-m200v4.sansa"
2024 appextra
="recorder:gui:radio"
2027 toolset
=$scramblebitmaptools
2029 t_manufacturer
="as3525"
2030 t_model
="sansa-m200v4"
2031 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2033 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2039 modelname
="sansafuze"
2040 target
="-DSANSA_FUZE"
2042 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2043 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2044 tool
="$rootdir/tools/scramble -add=fuze"
2045 output
="rockbox.sansa"
2046 bootoutput
="bootloader-fuze.sansa"
2047 appextra
="recorder:gui:radio"
2050 toolset
=$scramblebitmaptools
2052 t_manufacturer
="as3525"
2053 t_model
="sansa-fuze"
2060 modelname
="sansac200v2"
2061 target
="-DSANSA_C200V2"
2062 memory
=2 # as per OF diagnosis mode
2063 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2064 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2065 tool
="$rootdir/tools/scramble -add=c2v2"
2066 output
="rockbox.sansa"
2067 bootoutput
="bootloader-c200v2.sansa"
2068 appextra
="recorder:gui:radio"
2071 # toolset is the tools within the tools directory that we build for
2072 # this particular target.
2073 toolset
=$scramblebitmaptools
2074 # architecture, manufacturer and model for the target-tree build
2076 t_manufacturer
="as3525"
2077 t_model
="sansa-c200v2"
2078 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2080 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2085 modelname
="sansaclipv2"
2086 target
="-DSANSA_CLIPV2"
2088 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2089 bmp2rb_native
="$bmp2rb_mono"
2090 tool
="$rootdir/tools/scramble -add=clv2"
2091 output
="rockbox.sansa"
2092 bootoutput
="bootloader-clipv2.sansa"
2093 appextra
="recorder:gui:radio"
2096 toolset
=$scramblebitmaptools
2098 t_manufacturer
="as3525"
2099 t_model
="sansa-clipv2"
2104 echo "Sansa View is not yet supported!"
2107 modelname
="sansaview"
2108 target
="-DSANSA_VIEW"
2111 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2112 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2113 output
="rockbox.mi4"
2117 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2118 bootoutput
="firmware.mi4"
2119 # toolset is the tools within the tools directory that we build for
2120 # this particular target.
2121 toolset
=$scramblebitmaptools
2123 t_manufacturer
="sandisk"
2124 t_model
="sansa-view"
2129 modelname
="sansaclipplus"
2130 target
="-DSANSA_CLIPPLUS"
2132 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2133 bmp2rb_native
="$bmp2rb_mono"
2134 tool
="$rootdir/tools/scramble -add=cli+"
2135 output
="rockbox.sansa"
2136 bootoutput
="bootloader-clipplus.sansa"
2137 appextra
="recorder:gui:radio"
2140 toolset
=$scramblebitmaptools
2142 t_manufacturer
="as3525"
2143 t_model
="sansa-clipplus"
2149 modelname
="sansafuzev2"
2150 target
="-DSANSA_FUZEV2"
2152 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2153 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2154 tool
="$rootdir/tools/scramble -add=fuz2"
2155 output
="rockbox.sansa"
2156 bootoutput
="bootloader-fuzev2.sansa"
2157 appextra
="recorder:gui:radio"
2160 toolset
=$scramblebitmaptools
2162 t_manufacturer
="as3525"
2163 t_model
="sansa-fuzev2"
2169 modelname
="tatungtpj1022"
2170 target
="-DTATUNG_TPJ1022"
2173 tool
="$rootdir/tools/scramble -add tpj2"
2174 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2175 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2176 output
="rockbox.elio"
2177 appextra
="recorder:gui:radio"
2180 boottool
="$rootdir/tools/scramble -mi4v2"
2181 bootoutput
="pp5020.mi4"
2182 # toolset is the tools within the tools directory that we build for
2183 # this particular target.
2184 toolset
=$scramblebitmaptools
2185 # architecture, manufacturer and model for the target-tree build
2187 t_manufacturer
="tatung"
2193 modelname
="gogearsa9200"
2194 target
="-DPHILIPS_SA9200"
2195 memory
=32 # supposedly
2197 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2198 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2199 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2200 output
="rockbox.mi4"
2201 appextra
="recorder:gui:radio"
2204 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2205 bootoutput
="FWImage.ebn"
2206 # toolset is the tools within the tools directory that we build for
2207 # this particular target.
2208 toolset
=$scramblebitmaptools
2209 # architecture, manufacturer and model for the target-tree build
2211 t_manufacturer
="philips"
2217 modelname
="gogearhdd1630"
2218 target
="-DPHILIPS_HDD1630"
2219 memory
=32 # supposedly
2221 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2222 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2223 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2224 output
="rockbox.mi4"
2225 appextra
="recorder:gui:radio"
2228 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2229 bootoutput
="FWImage.ebn"
2230 # toolset is the tools within the tools directory that we build for
2231 # this particular target.
2232 toolset
=$scramblebitmaptools
2233 # architecture, manufacturer and model for the target-tree build
2235 t_manufacturer
="philips"
2241 modelname
="gogearhdd6330"
2242 target
="-DPHILIPS_HDD6330"
2243 memory
=32 # supposedly
2245 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2246 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2247 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2248 output
="rockbox.mi4"
2249 appextra
="recorder:gui:radio"
2252 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2253 bootoutput
="FWImage.ebn"
2254 # toolset is the tools within the tools directory that we build for
2255 # this particular target.
2256 toolset
=$scramblebitmaptools
2257 # architecture, manufacturer and model for the target-tree build
2259 t_manufacturer
="philips"
2265 modelname
="meizum6sl"
2266 target
="-DMEIZU_M6SL"
2270 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2271 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2272 output
="rockbox.meizu"
2273 appextra
="recorder:gui:radio"
2276 toolset
=$genericbitmaptools
2278 bootoutput
="rockboot.ebn"
2279 # architecture, manufacturer and model for the target-tree build
2281 t_manufacturer
="s5l8700"
2282 t_model
="meizu-m6sl"
2287 modelname
="meizum6sp"
2288 target
="-DMEIZU_M6SP"
2292 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2293 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2294 output
="rockbox.meizu"
2295 appextra
="recorder:gui:radio"
2298 toolset
=$genericbitmaptools
2300 bootoutput
="rockboot.ebn"
2301 # architecture, manufacturer and model for the target-tree build
2303 t_manufacturer
="s5l8700"
2304 t_model
="meizu-m6sp"
2314 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2315 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2316 output
="rockbox.meizu"
2317 appextra
="recorder:gui:radio"
2320 toolset
=$genericbitmaptools
2322 bootoutput
="rockboot.ebn"
2323 # architecture, manufacturer and model for the target-tree build
2325 t_manufacturer
="s5l8700"
2331 modelname
="ondavx747"
2332 target
="-DONDA_VX747"
2335 tool
="$rootdir/tools/scramble -add=x747"
2336 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2337 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2338 output
="rockbox.vx747"
2339 appextra
="recorder:gui:radio"
2342 toolset
=$genericbitmaptools
2343 boottool
="$rootdir/tools/scramble -ccpmp"
2344 bootoutput
="ccpmp.bin"
2345 # architecture, manufacturer and model for the target-tree build
2347 t_manufacturer
="ingenic_jz47xx"
2348 t_model
="onda_vx747"
2353 modelname
="ondavx767"
2354 target
="-DONDA_VX767"
2358 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2359 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2360 output
="rockbox.vx767"
2361 appextra
="recorder:gui:radio"
2364 toolset
=$genericbitmaptools
2365 boottool
="$rootdir/tools/scramble -ccpmp"
2366 bootoutput
="ccpmp.bin"
2367 # architecture, manufacturer and model for the target-tree build
2369 t_manufacturer
="ingenic_jz47xx"
2370 t_model
="onda_vx767"
2375 modelname
="ondavx747p"
2376 target
="-DONDA_VX747P"
2379 tool
="$rootdir/tools/scramble -add=747p"
2380 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2381 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2382 output
="rockbox.vx747p"
2383 appextra
="recorder:gui:radio"
2386 toolset
=$genericbitmaptools
2387 boottool
="$rootdir/tools/scramble -ccpmp"
2388 bootoutput
="ccpmp.bin"
2389 # architecture, manufacturer and model for the target-tree build
2391 t_manufacturer
="ingenic_jz47xx"
2392 t_model
="onda_vx747"
2397 modelname
="ondavx777"
2398 target
="-DONDA_VX777"
2401 tool
="$rootdir/tools/scramble -add=x777"
2402 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2403 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2404 output
="rockbox.vx777"
2405 appextra
="recorder:gui:radio"
2408 toolset
=$genericbitmaptools
2409 boottool
="$rootdir/tools/scramble -ccpmp"
2410 bootoutput
="ccpmp.bin"
2411 # architecture, manufacturer and model for the target-tree build
2413 t_manufacturer
="ingenic_jz47xx"
2414 t_model
="onda_vx747"
2419 modelname
="lyreproto1"
2420 target
="-DLYRE_PROTO1"
2424 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2425 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2426 output
="rockbox.lyre"
2427 appextra
="recorder:gui:radio"
2430 toolset
=$scramblebitmaptools
2432 bootoutput
="bootloader-proto1.lyre"
2433 # architecture, manufacturer and model for the target-tree build
2435 t_manufacturer
="at91sam"
2436 t_model
="lyre_proto1"
2441 modelname
="mini2440"
2445 tool
="$rootdir/tools/scramble -add=m244"
2446 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2447 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2448 output
="rockbox.mini2440"
2449 appextra
="recorder:gui:radio"
2452 toolset
=$scramblebitmaptools
2454 bootoutput
="bootloader-mini2440.lyre"
2455 # architecture, manufacturer and model for the target-tree build
2457 t_manufacturer
="s3c2440"
2463 modelname
="samsungyh820"
2464 target
="-DSAMSUNG_YH820"
2467 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2468 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2469 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2470 output
="rockbox.mi4"
2471 appextra
="recorder:gui:radio"
2474 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2475 bootoutput
="FW_YH820.mi4"
2476 # toolset is the tools within the tools directory that we build for
2477 # this particular target.
2478 toolset
=$scramblebitmaptools
2479 # architecture, manufacturer and model for the target-tree build
2481 t_manufacturer
="samsung"
2487 modelname
="samsungyh920"
2488 target
="-DSAMSUNG_YH920"
2491 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2492 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2493 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2494 output
="rockbox.mi4"
2495 appextra
="recorder:gui:radio"
2498 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2499 bootoutput
="PP5020.mi4"
2500 # toolset is the tools within the tools directory that we build for
2501 # this particular target.
2502 toolset
=$scramblebitmaptools
2503 # architecture, manufacturer and model for the target-tree build
2505 t_manufacturer
="samsung"
2511 modelname
="samsungyh925"
2512 target
="-DSAMSUNG_YH925"
2515 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2516 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2517 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2518 output
="rockbox.mi4"
2519 appextra
="recorder:gui:radio"
2522 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2523 bootoutput
="FW_YH925.mi4"
2524 # toolset is the tools within the tools directory that we build for
2525 # this particular target.
2526 toolset
=$scramblebitmaptools
2527 # architecture, manufacturer and model for the target-tree build
2529 t_manufacturer
="samsung"
2535 modelname
="samsungyps3"
2536 target
="-DSAMSUNG_YPS3"
2540 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2541 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2542 output
="rockbox.yps3"
2543 appextra
="recorder:gui:radio"
2546 toolset
=$genericbitmaptools
2548 bootoutput
="rockboot.ebn"
2549 # architecture, manufacturer and model for the target-tree build
2551 t_manufacturer
="s5l8700"
2558 target
="-DPBELL_VIBE500"
2561 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2562 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2563 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2564 output
="rockbox.mi4"
2565 appextra
="recorder:gui:radio"
2568 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2569 bootoutput
="jukebox.mi4"
2570 # toolset is the tools within the tools directory that we build for
2571 # this particular target.
2572 toolset
=$scramblebitmaptools
2573 # architecture, manufacturer and model for the target-tree build
2575 t_manufacturer
="pbell"
2581 modelname
="mpiohd200"
2582 target
="-DMPIO_HD200"
2585 tool
="$rootdir/tools/scramble -add=hd20"
2586 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2587 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2588 output
="rockbox.mpio"
2589 bootoutput
="bootloader.mpio"
2590 appextra
="recorder:gui:radio"
2593 # toolset is the tools within the tools directory that we build for
2594 # this particular target.
2595 toolset
="$genericbitmaptools"
2596 # architecture, manufacturer and model for the target-tree build
2598 t_manufacturer
="mpio"
2603 echo "Please select a supported target platform!"
2609 echo "Platform set to $modelname"
2613 ############################################################################
2614 # Amount of memory, for those that can differ. They have $memory unset at
2618 if [ -z "$memory" ]; then
2621 if [ "$ARG_RAM" ]; then
2624 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2637 if [ "$ARG_RAM" ]; then
2640 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2653 echo "Memory size selected: $memory MB"
2654 [ "$ARG_TYPE" ] ||
echo ""
2658 ##################################################################
2659 # Figure out build "type"
2662 # the ifp7x0 is the only platform that supports building a gdb stub like
2666 gdbstub
="(G)DB stub, "
2668 sansae200r|sansae200
)
2669 gdbstub
="(I)nstaller, "
2672 gdbstub
="(E)raser, "
2677 if [ "$ARG_TYPE" ]; then
2680 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2686 appsdir
='\$(ROOTDIR)/bootloader'
2688 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2690 echo "e200R-installer build selected"
2693 appsdir
='\$(ROOTDIR)/bootloader'
2695 echo "C2(4)0 or C2(5)0"
2699 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2700 echo "c240 eraser build selected"
2703 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2704 echo "c240 eraser build selected"
2708 echo "c200 eraser build selected"
2711 if test $t_manufacturer = "archos"; then
2712 # Archos SH-based players do this somewhat differently for
2714 appsdir
='\$(ROOTDIR)/flash/bootbox'
2717 appsdir
='\$(ROOTDIR)/bootloader'
2720 if test -n "$boottool"; then
2723 if test -n "$bootoutput"; then
2727 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2729 echo "Bootloader build selected"
2732 if [ "$modelname" = "sansae200r" ]; then
2733 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2738 extradefines
="-DSIMULATOR"
2741 echo "Simulator build selected"
2744 echo "Advanced build selected"
2745 whichadvanced
$btype
2748 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2749 appsdir
='\$(ROOTDIR)/gdb'
2758 echo "GDB stub build selected"
2763 echo "Manual build selected"
2771 extradefines
="-DDEBUG"
2772 appsdir
='\$(ROOTDIR)/tools/checkwps';
2773 output
='checkwps.'${modelname};
2775 echo "CheckWPS build selected"
2783 appsdir
='\$(ROOTDIR)/tools/database';
2788 output
="database_${modelname}.exe"
2791 output
='database.'${modelname};
2795 echo "Database tool build selected"
2798 if [ "$modelname" = "sansae200r" ]; then
2799 echo "Do not use the e200R target for regular builds. Use e200 instead."
2803 btype
="N" # set it explicitly since RET only gets here as well
2804 echo "Normal build selected"
2808 # to be able running "make manual" from non-manual configuration
2811 manualdev
="archosfmrecorder"
2814 manualdev
="iriverh100"
2817 manualdev
="ipodmini1g"
2820 manualdev
=$modelname
2824 if [ -z "$debug" ]; then
2825 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2828 echo "Using source code root directory: $rootdir"
2830 # this was once possible to change at build-time, but no more:
2835 if [ "yes" = "$simulator" ]; then
2836 # setup compiler and things for simulator
2839 if [ -d "simdisk" ]; then
2840 echo "Subdirectory 'simdisk' already present"
2843 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2847 # Now, figure out version number of the (gcc) compiler we are about to use
2848 gccver
=`$CC -dumpversion`;
2850 # figure out the binutil version too and display it, mostly for the build
2851 # system etc to be able to see it easier
2852 if [ $uname = "Darwin" ]; then
2853 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2855 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2858 if [ -z "$gccver" ]; then
2859 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2860 echo "[WARNING] this may cause your build to fail since we cannot do the"
2861 echo "[WARNING] checks we want now."
2864 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2867 num1
=`echo $gccver | cut -d . -f1`
2868 num2
=`echo $gccver | cut -d . -f2`
2869 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2876 echo "Using $CC $gccver ($gccnum)"
2878 if test "$gccnum" -ge "400"; then
2879 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2880 # so we ignore that warnings for now
2882 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2885 if test "$gccnum" -ge "402"; then
2886 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2887 # and later would throw it for several valid cases
2888 GCCOPTS
="$GCCOPTS -Wno-override-init"
2892 ""|
"$CROSS_COMPILE")
2896 # cross-compile for win32
2899 # Verify that the cross-compiler is of a recommended version!
2900 if test "$gccver" != "$gccchoice"; then
2901 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2902 echo "WARNING: version $gccchoice!"
2903 echo "WARNING: This may cause your build to fail since it may be a version"
2904 echo "WARNING: that isn't functional or known to not be the best choice."
2905 echo "WARNING: If you suffer from build problems, you know that this is"
2906 echo "WARNING: a likely source for them..."
2914 echo "Using $LD $ldver"
2916 # check the compiler for SH platforms
2917 if test "$CC" = "sh-elf-gcc"; then
2918 if test "$gccnum" -lt "400"; then
2919 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2920 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2922 # figure out patch status
2923 gccpatch
=`$CC --version`;
2925 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2926 echo "gcc $gccver is rockbox patched"
2927 # then convert -O to -Os to get smaller binaries!
2928 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2930 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2931 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2936 if test "$CC" = "m68k-elf-gcc"; then
2937 # convert -O to -Os to get smaller binaries!
2938 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2941 if [ "$ARG_CCACHE" = "1" ]; then
2942 echo "Enable ccache for building"
2944 elif [ "$ARG_CCACHE" != "0" ]; then
2945 ccache
=`findtool ccache`
2946 if test -n "$ccache"; then
2947 echo "Found and uses ccache ($ccache)"
2951 # figure out the full path to the various commands if possible
2952 HOSTCC
=`findtool gcc --lit`
2953 HOSTAR
=`findtool ar --lit`
2954 CC
=`findtool ${CC} --lit`
2955 LD
=`findtool ${AR} --lit`
2956 AR
=`findtool ${AR} --lit`
2957 AS
=`findtool ${AS} --lit`
2958 OC
=`findtool ${OC} --lit`
2959 WINDRES
=`findtool ${WINDRES} --lit`
2960 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2961 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2962 RANLIB
=`findtool ${RANLIB} --lit`
2964 if test "$ARG_ARM_THUMB" = "1"; then
2965 extradefines
="$extradefines -DUSE_THUMB"
2966 CC
="$toolsdir/thumb-cc.py $CC"
2969 if test -n "$ccache"; then
2973 if test "X$endian" = "Xbig"; then
2974 defendian
="ROCKBOX_BIG_ENDIAN"
2976 defendian
="ROCKBOX_LITTLE_ENDIAN"
2979 if [ "$ARG_RBDIR" ]; then
2981 echo "Using alternate rockbox dir: ${rbdir}"
2985 -e "s,@ENDIAN@,${defendian},g" \
2986 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2987 -e "s,^#undef DO_BOOTCHART,$use_bootchart,g" \
2988 -e "s,@config_rtc@,$config_rtc,g" \
2989 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2990 -e "s,@RBDIR@,${rbdir},g" \
2991 -e "s,@have_backlight@,$have_backlight,g" \
2992 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2993 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2995 /* This header was made by configure */
2996 #ifndef __BUILD_AUTOCONF_H
2997 #define __BUILD_AUTOCONF_H
2999 /* Define endianess for the target or simulator platform */
3002 /* Define this if you build rockbox to support the logf logging and display */
3003 #undef ROCKBOX_HAS_LOGF
3005 /* Define this to record a chart with timings for the stages of boot */
3008 /* optional define for a backlight modded Ondio */
3011 /* optional define for FM radio mod for iAudio M5 */
3014 /* optional define for ATA poweroff on Player */
3017 /* optional defines for RTC mod for h1x0 */
3021 /* root of Rockbox */
3022 #define ROCKBOX_DIR "/@RBDIR@"
3024 #endif /* __BUILD_AUTOCONF_H */
3027 if test -n "$t_cpu"; then
3028 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3029 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3030 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3031 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3033 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3034 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3038 if test "$simulator" = "yes"; then
3039 # add simul make stuff on the #SIMUL# line
3040 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
3041 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
3043 # delete the lines that match
3044 simmagic1
='/@SIMUL1@/D'
3045 simmagic2
='/@SIMUL2@/D'
3048 if test "$swcodec" = "yes"; then
3049 voicetoolset
="rbspeexenc voicefont wavtrim"
3051 voicetoolset
="voicefont wavtrim"
3054 if test "$apps" = "apps"; then
3055 # only when we build "real" apps we build the .lng files
3059 #### Fix the cmdline ###
3060 if [ "$ARG_CCACHE" = "1" ]; then
3062 elif [ "$ARG_CCACHE" = "0" ]; then
3063 cmdline
="--no-ccache "
3065 if [ "$ARG_ARM_EABI" = "1" ]; then
3066 cmdline
="$cmdline--eabi "
3069 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3073 -e "s,@ROOTDIR@,${rootdir},g" \
3074 -e "s,@DEBUG@,${debug},g" \
3075 -e "s,@MEMORY@,${memory},g" \
3076 -e "s,@TARGET_ID@,${target_id},g" \
3077 -e "s,@TARGET@,${target},g" \
3078 -e "s,@CPU@,${t_cpu},g" \
3079 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
3080 -e "s,@MODELNAME@,${modelname},g" \
3081 -e "s,@LANGUAGE@,${language},g" \
3082 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3083 -e "s,@PWD@,${pwd},g" \
3084 -e "s,@HOSTCC@,${HOSTCC},g" \
3085 -e "s,@HOSTAR@,${HOSTAR},g" \
3086 -e "s,@CC@,${CC},g" \
3087 -e "s,@LD@,${LD},g" \
3088 -e "s,@AR@,${AR},g" \
3089 -e "s,@AS@,${AS},g" \
3090 -e "s,@OC@,${OC},g" \
3091 -e "s,@WINDRES@,${WINDRES},g" \
3092 -e "s,@DLLTOOL@,${DLLTOOL},g" \
3093 -e "s,@DLLWRAP@,${DLLWRAP},g" \
3094 -e "s,@RANLIB@,${RANLIB},g" \
3095 -e "s,@TOOL@,${tool},g" \
3096 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
3097 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
3098 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
3099 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
3100 -e "s,@OUTPUT@,${output},g" \
3101 -e "s,@APPEXTRA@,${appextra},g" \
3102 -e "s,@ARCHOSROM@,${archosrom},g" \
3103 -e "s,@FLASHFILE@,${flash},g" \
3104 -e "s,@PLUGINS@,${plugins},g" \
3105 -e "s,@CODECS@,${swcodec},g" \
3106 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
3107 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
3108 -e "s,@GCCOPTS@,${GCCOPTS},g" \
3109 -e "s,@TARGET_INC@,${TARGET_INC},g" \
3110 -e "s!@LDOPTS@!${LDOPTS}!g" \
3111 -e "s,@LOADADDRESS@,${loadaddress},g" \
3112 -e "s,@EXTRADEF@,${extradefines},g" \
3113 -e "s,@APPSDIR@,${appsdir},g" \
3114 -e "s,@FIRMDIR@,${firmdir},g" \
3115 -e "s,@TOOLSDIR@,${toolsdir},g" \
3116 -e "s,@APPS@,${apps},g" \
3117 -e "s,@SIMVER@,${simver},g" \
3118 -e "s,@GCCVER@,${gccver},g" \
3119 -e "s,@GCCNUM@,${gccnum},g" \
3120 -e "s,@UNAME@,${uname},g" \
3121 -e "s,@ENDIAN@,${defendian},g" \
3122 -e "s,@TOOLSET@,${toolset},g" \
3125 -e "s,@MANUALDEV@,${manualdev},g" \
3126 -e "s,@ENCODER@,${ENC_CMD},g" \
3127 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
3128 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
3129 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
3130 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
3131 -e "s,@LANGS@,${buildlangs},g" \
3132 -e "s,@USE_ELF@,${USE_ELF},g" \
3133 -e "s,@RBDIR@,${rbdir},g" \
3134 -e "s,@PREFIX@,$PREFIX,g" \
3135 -e "s,@CMDLINE@,$cmdline,g" \
3136 -e "s,@SDLCONFIG@,$sdl,g" \
3138 ## Automatically generated. http://www.rockbox.org/
3140 export ROOTDIR=@ROOTDIR@
3141 export FIRMDIR=@FIRMDIR@
3142 export APPSDIR=@APPSDIR@
3143 export TOOLSDIR=@TOOLSDIR@
3144 export DOCSDIR=\$(ROOTDIR)/docs
3145 export MANUALDIR=\${ROOTDIR}/manual
3146 export DEBUG=@DEBUG@
3147 export MODELNAME=@MODELNAME@
3148 export ARCHOSROM=@ARCHOSROM@
3149 export FLASHFILE=@FLASHFILE@
3150 export TARGET_ID=@TARGET_ID@
3151 export TARGET=@TARGET@
3153 export MANUFACTURER=@MANUFACTURER@
3155 export BUILDDIR=@PWD@
3156 export LANGUAGE=@LANGUAGE@
3157 export VOICELANGUAGE=@VOICELANGUAGE@
3158 export MEMORYSIZE=@MEMORY@
3159 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3160 export MKFIRMWARE=@TOOL@
3161 export BMP2RB_MONO=@BMP2RB_MONO@
3162 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3163 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3164 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3165 export BINARY=@OUTPUT@
3166 export APPEXTRA=@APPEXTRA@
3167 export ENABLEDPLUGINS=@PLUGINS@
3168 export SOFTWARECODECS=@CODECS@
3169 export EXTRA_DEFINES=@EXTRADEF@
3170 export HOSTCC=@HOSTCC@
3171 export HOSTAR=@HOSTAR@
3177 export WINDRES=@WINDRES@
3178 export DLLTOOL=@DLLTOOL@
3179 export DLLWRAP=@DLLWRAP@
3180 export RANLIB=@RANLIB@
3181 export PREFIX=@PREFIX@
3182 export PROFILE_OPTS=@PROFILE_OPTS@
3183 export SIMVER=@SIMVER@
3184 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3185 export GCCOPTS=@GCCOPTS@
3186 export TARGET_INC=@TARGET_INC@
3187 export LOADADDRESS=@LOADADDRESS@
3188 export SHARED_FLAG=@SHARED_FLAG@
3189 export LDOPTS=@LDOPTS@
3190 export GCCVER=@GCCVER@
3191 export GCCNUM=@GCCNUM@
3192 export UNAME=@UNAME@
3193 export MANUALDEV=@MANUALDEV@
3194 export TTS_OPTS=@TTS_OPTS@
3195 export TTS_ENGINE=@TTS_ENGINE@
3196 export ENC_OPTS=@ENC_OPTS@
3197 export ENCODER=@ENCODER@
3198 export USE_ELF=@USE_ELF@
3199 export RBDIR=@RBDIR@
3200 export SDLCONFIG=@SDLCONFIG@
3202 CONFIGURE_OPTIONS=@CMDLINE@
3204 include \$(TOOLSDIR)/root.make
3208 echo "Created Makefile"