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
962 ==MPIO== == Application ==
963 170) HD200 200) SDL 320x240
970 # Set of tools built for all target platforms:
971 toolset
="rdf2binary convbdf codepages"
973 # Toolsets for some target families:
974 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
975 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
976 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
977 ipodbitmaptools
="$toolset scramble bmp2rb"
978 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
979 tccbitmaptools
="$toolset scramble bmp2rb"
980 # generic is used by IFP, Meizu and Onda
981 genericbitmaptools
="$toolset bmp2rb"
982 # scramble is used by all other targets
983 scramblebitmaptools
="$genericbitmaptools scramble"
986 # ---- For each target ----
989 # target_id: a unique number identifying this target, IS NOT the menu number.
990 # Just use the currently highest number+1 when you add a new
992 # modelname: short model name used all over to identify this target
993 # memory: number of megabytes of RAM this target has. If the amount can
994 # be selected by the size prompt, let memory be unset here
995 # target: -Ddefine passed to the build commands to make the correct
996 # config-*.h file get included etc
997 # tool: the tool that takes a plain binary and converts that into a
998 # working "firmware" file for your target
999 # output: the final output file name
1000 # boottool: the tool that takes a plain binary and generates a bootloader
1001 # file for your target (or blank to use $tool)
1002 # bootoutput:the final output file name for the bootloader (or blank to use
1004 # appextra: passed to the APPEXTRA variable in the Makefiles.
1005 # TODO: add proper explanation
1006 # archosrom: used only for Archos targets that build a special flashable .ucl
1008 # flash: name of output for flashing, for targets where there's a special
1009 # file output for this.
1010 # plugins: set to 'yes' to build the plugins. Early development builds can
1011 # set this to no in the early stages to have an easier life for a
1013 # swcodec: set 'yes' on swcodec targets
1014 # toolset: lists what particular tools in the tools/ directory that this
1015 # target needs to have built prior to building Rockbox
1018 # *cc: sets up gcc and compiler options for your target builds. Note
1019 # that if you select a simulator build, the compiler selection is
1020 # overridden later in the script.
1026 modelname
="archosplayer"
1027 target
="-DARCHOS_PLAYER"
1029 tool
="$rootdir/tools/scramble"
1031 appextra
="player:gui"
1032 archosrom
="$pwd/rombox.ucl"
1033 flash
="$pwd/rockbox.ucl"
1037 # toolset is the tools within the tools directory that we build for
1038 # this particular target.
1039 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1041 # Note: the convbdf is present in the toolset just because: 1) the
1042 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1043 # build the player simulator
1046 t_manufacturer
="archos"
1052 modelname
="archosrecorder"
1053 target
="-DARCHOS_RECORDER"
1055 tool
="$rootdir/tools/scramble"
1056 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1057 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1059 appextra
="recorder:gui:radio"
1060 #archosrom="$pwd/rombox.ucl"
1061 flash
="$pwd/rockbox.ucl"
1064 # toolset is the tools within the tools directory that we build for
1065 # this particular target.
1066 toolset
=$archosbitmaptools
1068 t_manufacturer
="archos"
1074 modelname
="archosfmrecorder"
1075 target
="-DARCHOS_FMRECORDER"
1077 tool
="$rootdir/tools/scramble -fm"
1078 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1079 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1081 appextra
="recorder:gui:radio"
1082 #archosrom="$pwd/rombox.ucl"
1083 flash
="$pwd/rockbox.ucl"
1086 # toolset is the tools within the tools directory that we build for
1087 # this particular target.
1088 toolset
=$archosbitmaptools
1090 t_manufacturer
="archos"
1096 modelname
="archosrecorderv2"
1097 target
="-DARCHOS_RECORDERV2"
1099 tool
="$rootdir/tools/scramble -v2"
1100 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1101 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1103 appextra
="recorder:gui:radio"
1104 #archosrom="$pwd/rombox.ucl"
1105 flash
="$pwd/rockbox.ucl"
1108 # toolset is the tools within the tools directory that we build for
1109 # this particular target.
1110 toolset
=$archosbitmaptools
1112 t_manufacturer
="archos"
1118 modelname
="archosondiosp"
1119 target
="-DARCHOS_ONDIOSP"
1121 tool
="$rootdir/tools/scramble -osp"
1122 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1123 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1125 appextra
="recorder:gui:radio"
1126 #archosrom="$pwd/rombox.ucl"
1127 flash
="$pwd/rockbox.ucl"
1130 # toolset is the tools within the tools directory that we build for
1131 # this particular target.
1132 toolset
=$archosbitmaptools
1134 t_manufacturer
="archos"
1140 modelname
="archosondiofm"
1141 target
="-DARCHOS_ONDIOFM"
1143 tool
="$rootdir/tools/scramble -ofm"
1144 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1145 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1147 appextra
="recorder:gui:radio"
1148 #archosrom="$pwd/rombox.ucl"
1149 flash
="$pwd/rockbox.ucl"
1152 toolset
=$archosbitmaptools
1154 t_manufacturer
="archos"
1160 modelname
="archosav300"
1161 target
="-DARCHOS_AV300"
1164 tool
="$rootdir/tools/scramble -mm=C"
1165 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1166 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1168 appextra
="recorder:gui:radio"
1171 # toolset is the tools within the tools directory that we build for
1172 # this particular target.
1173 toolset
="$toolset scramble descramble bmp2rb"
1174 # architecture, manufacturer and model for the target-tree build
1176 t_manufacturer
="archos"
1182 modelname
="iriverh120"
1183 target
="-DIRIVER_H120"
1186 tool
="$rootdir/tools/scramble -add=h120"
1187 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1188 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1189 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1190 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1191 output
="rockbox.iriver"
1192 bootoutput
="bootloader.iriver"
1193 appextra
="recorder:gui:radio"
1194 flash
="$pwd/rombox.iriver"
1197 # toolset is the tools within the tools directory that we build for
1198 # this particular target.
1199 toolset
=$iriverbitmaptools
1201 t_manufacturer
="iriver"
1207 modelname
="iriverh300"
1208 target
="-DIRIVER_H300"
1211 tool
="$rootdir/tools/scramble -add=h300"
1212 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1213 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1214 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1215 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1216 output
="rockbox.iriver"
1217 appextra
="recorder:gui:radio"
1220 # toolset is the tools within the tools directory that we build for
1221 # this particular target.
1222 toolset
=$iriverbitmaptools
1224 t_manufacturer
="iriver"
1230 modelname
="iriverh100"
1231 target
="-DIRIVER_H100"
1234 tool
="$rootdir/tools/scramble -add=h100"
1235 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1236 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1237 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1238 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1239 output
="rockbox.iriver"
1240 bootoutput
="bootloader.iriver"
1241 appextra
="recorder:gui:radio"
1242 flash
="$pwd/rombox.iriver"
1245 # toolset is the tools within the tools directory that we build for
1246 # this particular target.
1247 toolset
=$iriverbitmaptools
1249 t_manufacturer
="iriver"
1255 modelname
="iriverifp7xx"
1256 target
="-DIRIVER_IFP7XX"
1260 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1261 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1262 output
="rockbox.wma"
1263 appextra
="recorder:gui:radio"
1266 # toolset is the tools within the tools directory that we build for
1267 # this particular target.
1268 toolset
=$genericbitmaptools
1270 t_manufacturer
="pnx0101"
1271 t_model
="iriver-ifp7xx"
1276 modelname
="iriverh10"
1277 target
="-DIRIVER_H10"
1280 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1281 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1282 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1283 output
="rockbox.mi4"
1284 appextra
="recorder:gui:radio"
1287 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1288 bootoutput
="H10_20GC.mi4"
1289 # toolset is the tools within the tools directory that we build for
1290 # this particular target.
1291 toolset
=$scramblebitmaptools
1292 # architecture, manufacturer and model for the target-tree build
1294 t_manufacturer
="iriver"
1300 modelname
="iriverh10_5gb"
1301 target
="-DIRIVER_H10_5GB"
1304 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1305 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1306 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1307 output
="rockbox.mi4"
1308 appextra
="recorder:gui:radio"
1311 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1312 bootoutput
="H10.mi4"
1313 # toolset is the tools within the tools directory that we build for
1314 # this particular target.
1315 toolset
=$scramblebitmaptools
1316 # architecture, manufacturer and model for the target-tree build
1318 t_manufacturer
="iriver"
1324 modelname
="ipodcolor"
1325 target
="-DIPOD_COLOR"
1328 tool
="$rootdir/tools/scramble -add=ipco"
1329 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1330 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1331 output
="rockbox.ipod"
1332 appextra
="recorder:gui:radio"
1335 bootoutput
="bootloader-$modelname.ipod"
1336 # toolset is the tools within the tools directory that we build for
1337 # this particular target.
1338 toolset
=$ipodbitmaptools
1339 # architecture, manufacturer and model for the target-tree build
1341 t_manufacturer
="ipod"
1347 modelname
="ipodnano1g"
1348 target
="-DIPOD_NANO"
1351 tool
="$rootdir/tools/scramble -add=nano"
1352 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1353 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1354 output
="rockbox.ipod"
1355 appextra
="recorder:gui:radio"
1358 bootoutput
="bootloader-$modelname.ipod"
1359 # toolset is the tools within the tools directory that we build for
1360 # this particular target.
1361 toolset
=$ipodbitmaptools
1362 # architecture, manufacturer and model for the target-tree build
1364 t_manufacturer
="ipod"
1370 modelname
="ipodvideo"
1371 target
="-DIPOD_VIDEO"
1373 tool
="$rootdir/tools/scramble -add=ipvd"
1374 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1375 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1376 output
="rockbox.ipod"
1377 appextra
="recorder:gui:radio"
1380 bootoutput
="bootloader-$modelname.ipod"
1381 # toolset is the tools within the tools directory that we build for
1382 # this particular target.
1383 toolset
=$ipodbitmaptools
1384 # architecture, manufacturer and model for the target-tree build
1386 t_manufacturer
="ipod"
1396 tool
="$rootdir/tools/scramble -add=ip3g"
1397 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1398 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1399 output
="rockbox.ipod"
1400 appextra
="recorder:gui:radio"
1403 bootoutput
="bootloader-$modelname.ipod"
1404 # toolset is the tools within the tools directory that we build for
1405 # this particular target.
1406 toolset
=$ipodbitmaptools
1407 # architecture, manufacturer and model for the target-tree build
1409 t_manufacturer
="ipod"
1419 tool
="$rootdir/tools/scramble -add=ip4g"
1420 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1421 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1422 output
="rockbox.ipod"
1423 appextra
="recorder:gui:radio"
1426 bootoutput
="bootloader-$modelname.ipod"
1427 # toolset is the tools within the tools directory that we build for
1428 # this particular target.
1429 toolset
=$ipodbitmaptools
1430 # architecture, manufacturer and model for the target-tree build
1432 t_manufacturer
="ipod"
1438 modelname
="ipodmini1g"
1439 target
="-DIPOD_MINI"
1442 tool
="$rootdir/tools/scramble -add=mini"
1443 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1444 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1445 output
="rockbox.ipod"
1446 appextra
="recorder:gui:radio"
1449 bootoutput
="bootloader-$modelname.ipod"
1450 # toolset is the tools within the tools directory that we build for
1451 # this particular target.
1452 toolset
=$ipodbitmaptools
1453 # architecture, manufacturer and model for the target-tree build
1455 t_manufacturer
="ipod"
1461 modelname
="ipodmini2g"
1462 target
="-DIPOD_MINI2G"
1465 tool
="$rootdir/tools/scramble -add=mn2g"
1466 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1467 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1468 output
="rockbox.ipod"
1469 appextra
="recorder:gui:radio"
1472 bootoutput
="bootloader-$modelname.ipod"
1473 # toolset is the tools within the tools directory that we build for
1474 # this particular target.
1475 toolset
=$ipodbitmaptools
1476 # architecture, manufacturer and model for the target-tree build
1478 t_manufacturer
="ipod"
1484 modelname
="ipod1g2g"
1485 target
="-DIPOD_1G2G"
1488 tool
="$rootdir/tools/scramble -add=1g2g"
1489 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1490 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1491 output
="rockbox.ipod"
1492 appextra
="recorder:gui:radio"
1495 bootoutput
="bootloader-$modelname.ipod"
1496 # toolset is the tools within the tools directory that we build for
1497 # this particular target.
1498 toolset
=$ipodbitmaptools
1499 # architecture, manufacturer and model for the target-tree build
1501 t_manufacturer
="ipod"
1507 modelname
="ipodnano2g"
1508 target
="-DIPOD_NANO2G"
1511 tool
="$rootdir/tools/scramble -add=nn2g"
1512 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1513 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1514 output
="rockbox.ipod"
1515 appextra
="recorder:gui:radio"
1518 bootoutput
="bootloader-$modelname.ipod"
1519 # toolset is the tools within the tools directory that we build for
1520 # this particular target.
1521 toolset
=$ipodbitmaptools
1522 # architecture, manufacturer and model for the target-tree build
1524 t_manufacturer
="s5l8700"
1525 t_model
="ipodnano2g"
1530 modelname
="iaudiox5"
1531 target
="-DIAUDIO_X5"
1534 tool
="$rootdir/tools/scramble -add=iax5"
1535 boottool
="$rootdir/tools/scramble -iaudiox5"
1536 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1537 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1538 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1539 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1540 output
="rockbox.iaudio"
1541 bootoutput
="x5_fw.bin"
1542 appextra
="recorder:gui:radio"
1545 # toolset is the tools within the tools directory that we build for
1546 # this particular target.
1547 toolset
="$iaudiobitmaptools"
1548 # architecture, manufacturer and model for the target-tree build
1550 t_manufacturer
="iaudio"
1556 modelname
="iaudiom5"
1557 target
="-DIAUDIO_M5"
1560 tool
="$rootdir/tools/scramble -add=iam5"
1561 boottool
="$rootdir/tools/scramble -iaudiom5"
1562 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1563 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1564 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1565 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1566 output
="rockbox.iaudio"
1567 bootoutput
="m5_fw.bin"
1568 appextra
="recorder:gui:radio"
1571 # toolset is the tools within the tools directory that we build for
1572 # this particular target.
1573 toolset
="$iaudiobitmaptools"
1574 # architecture, manufacturer and model for the target-tree build
1576 t_manufacturer
="iaudio"
1586 tool
="$rootdir/tools/scramble -add=i7"
1587 boottool
="$rootdir/tools/scramble -tcc=crc"
1588 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1589 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1590 output
="rockbox.iaudio"
1591 appextra
="recorder:gui:radio"
1594 bootoutput
="I7_FW.BIN"
1595 # toolset is the tools within the tools directory that we build for
1596 # this particular target.
1597 toolset
="$tccbitmaptools"
1598 # architecture, manufacturer and model for the target-tree build
1600 t_manufacturer
="tcc77x"
1610 tool
="$rootdir/tools/scramble -add=d2"
1612 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1613 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1615 bootoutput
="bootloader-cowond2.bin"
1616 appextra
="recorder:gui:radio"
1619 toolset
="$tccbitmaptools"
1620 # architecture, manufacturer and model for the target-tree build
1622 t_manufacturer
="tcc780x"
1628 modelname
="iaudiom3"
1629 target
="-DIAUDIO_M3"
1632 tool
="$rootdir/tools/scramble -add=iam3"
1633 boottool
="$rootdir/tools/scramble -iaudiom3"
1634 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1635 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1636 output
="rockbox.iaudio"
1637 bootoutput
="cowon_m3.bin"
1638 appextra
="recorder:gui:radio"
1641 # toolset is the tools within the tools directory that we build for
1642 # this particular target.
1643 toolset
="$iaudiobitmaptools"
1644 # architecture, manufacturer and model for the target-tree build
1646 t_manufacturer
="iaudio"
1652 modelname
="gigabeatfx"
1653 target
="-DGIGABEAT_F"
1656 tool
="$rootdir/tools/scramble -add=giga"
1657 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1658 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1659 output
="rockbox.gigabeat"
1660 appextra
="recorder:gui:radio"
1663 toolset
=$gigabeatbitmaptools
1664 boottool
="$rootdir/tools/scramble -gigabeat"
1665 bootoutput
="FWIMG01.DAT"
1666 # architecture, manufacturer and model for the target-tree build
1668 t_manufacturer
="s3c2440"
1669 t_model
="gigabeat-fx"
1674 modelname
="gigabeats"
1675 target
="-DGIGABEAT_S"
1678 tool
="$rootdir/tools/scramble -add=gigs"
1679 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1680 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1681 output
="rockbox.gigabeat"
1682 appextra
="recorder:gui:radio"
1685 toolset
="$gigabeatbitmaptools"
1686 boottool
="$rootdir/tools/scramble -gigabeats"
1688 # architecture, manufacturer and model for the target-tree build
1690 t_manufacturer
="imx31"
1691 t_model
="gigabeat-s"
1696 modelname
="mrobe500"
1697 target
="-DMROBE_500"
1700 tool
="$rootdir/tools/scramble -add=m500"
1701 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1702 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1703 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1704 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1705 output
="rockbox.mrobe500"
1706 appextra
="recorder:gui:radio"
1709 toolset
=$gigabeatbitmaptools
1711 bootoutput
="rockbox.mrboot"
1712 # architecture, manufacturer and model for the target-tree build
1714 t_manufacturer
="tms320dm320"
1720 modelname
="mrobe100"
1721 target
="-DMROBE_100"
1724 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1725 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1726 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1727 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1728 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1729 output
="rockbox.mi4"
1730 appextra
="recorder:gui:radio"
1733 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1734 bootoutput
="pp5020.mi4"
1735 # toolset is the tools within the tools directory that we build for
1736 # this particular target.
1737 toolset
=$scramblebitmaptools
1738 # architecture, manufacturer and model for the target-tree build
1740 t_manufacturer
="olympus"
1746 modelname
="logikdax"
1747 target
="-DLOGIK_DAX"
1750 tool
="$rootdir/tools/scramble -add=ldax"
1751 boottool
="$rootdir/tools/scramble -tcc=crc"
1752 bootoutput
="player.rom"
1753 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1754 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1755 output
="rockbox.logik"
1756 appextra
="recorder:gui:radio"
1759 # toolset is the tools within the tools directory that we build for
1760 # this particular target.
1761 toolset
=$tccbitmaptools
1762 # architecture, manufacturer and model for the target-tree build
1764 t_manufacturer
="tcc77x"
1770 modelname
="zenvisionm30gb"
1771 target
="-DCREATIVE_ZVM"
1774 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1775 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1776 tool
="$rootdir/tools/scramble -creative=zvm"
1778 output
="rockbox.zvm"
1779 appextra
="recorder:gui:radio"
1782 toolset
=$ipodbitmaptools
1783 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1784 bootoutput
="rockbox.zvmboot"
1785 # architecture, manufacturer and model for the target-tree build
1787 t_manufacturer
="tms320dm320"
1788 t_model
="creative-zvm"
1793 modelname
="zenvisionm60gb"
1794 target
="-DCREATIVE_ZVM60GB"
1797 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1798 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1799 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1801 output
="rockbox.zvm60"
1802 appextra
="recorder:gui:radio"
1805 toolset
=$ipodbitmaptools
1806 boottool
="$rootdir/tools/scramble -creative=zvm60"
1807 bootoutput
="rockbox.zvm60boot"
1808 # architecture, manufacturer and model for the target-tree build
1810 t_manufacturer
="tms320dm320"
1811 t_model
="creative-zvm"
1816 modelname
="zenvision"
1817 target
="-DCREATIVE_ZV"
1820 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1821 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1822 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1825 appextra
="recorder:gui:radio"
1828 toolset
=$ipodbitmaptools
1829 boottool
="$rootdir/tools/scramble -creative=zenvision"
1830 bootoutput
="rockbox.zvboot"
1831 # architecture, manufacturer and model for the target-tree build
1833 t_manufacturer
="tms320dm320"
1834 t_model
="creative-zvm"
1839 modelname
="sansae200"
1840 target
="-DSANSA_E200"
1841 memory
=32 # supposedly
1843 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1844 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1845 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1846 output
="rockbox.mi4"
1847 appextra
="recorder:gui:radio"
1850 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1851 bootoutput
="PP5022.mi4"
1852 # toolset is the tools within the tools directory that we build for
1853 # this particular target.
1854 toolset
=$scramblebitmaptools
1855 # architecture, manufacturer and model for the target-tree build
1857 t_manufacturer
="sandisk"
1858 t_model
="sansa-e200"
1862 # the e200R model is pretty much identical to the e200, it only has a
1863 # different option to the scramble tool when building a bootloader and
1864 # makes the bootloader output file name in all lower case.
1866 modelname
="sansae200r"
1867 target
="-DSANSA_E200"
1868 memory
=32 # supposedly
1870 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1871 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1872 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1873 output
="rockbox.mi4"
1874 appextra
="recorder:gui:radio"
1877 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1878 bootoutput
="pp5022.mi4"
1879 # toolset is the tools within the tools directory that we build for
1880 # this particular target.
1881 toolset
=$scramblebitmaptools
1882 # architecture, manufacturer and model for the target-tree build
1884 t_manufacturer
="sandisk"
1885 t_model
="sansa-e200"
1890 modelname
="sansac200"
1891 target
="-DSANSA_C200"
1892 memory
=32 # supposedly
1894 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1895 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1896 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1897 output
="rockbox.mi4"
1898 appextra
="recorder:gui:radio"
1901 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1902 bootoutput
="firmware.mi4"
1903 # toolset is the tools within the tools directory that we build for
1904 # this particular target.
1905 toolset
=$scramblebitmaptools
1906 # architecture, manufacturer and model for the target-tree build
1908 t_manufacturer
="sandisk"
1909 t_model
="sansa-c200"
1914 modelname
="sansam200"
1915 target
="-DSANSA_M200"
1918 tool
="$rootdir/tools/scramble -add=m200"
1919 boottool
="$rootdir/tools/scramble -tcc=crc"
1920 bootoutput
="player.rom"
1921 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1922 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1923 output
="rockbox.m200"
1924 appextra
="recorder:gui:radio"
1927 # toolset is the tools within the tools directory that we build for
1928 # this particular target.
1929 toolset
=$tccbitmaptools
1930 # architecture, manufacturer and model for the target-tree build
1932 t_manufacturer
="tcc77x"
1938 modelname
="sansac100"
1939 target
="-DSANSA_C100"
1942 tool
="$rootdir/tools/scramble -add=c100"
1943 boottool
="$rootdir/tools/scramble -tcc=crc"
1944 bootoutput
="player.rom"
1945 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1946 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1947 output
="rockbox.c100"
1948 appextra
="recorder:gui:radio"
1951 # toolset is the tools within the tools directory that we build for
1952 # this particular target.
1953 toolset
=$tccbitmaptools
1954 # architecture, manufacturer and model for the target-tree build
1956 t_manufacturer
="tcc77x"
1962 modelname
="sansaclip"
1963 target
="-DSANSA_CLIP"
1965 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1966 bmp2rb_native
="$bmp2rb_mono"
1967 tool
="$rootdir/tools/scramble -add=clip"
1968 output
="rockbox.sansa"
1969 bootoutput
="bootloader-clip.sansa"
1970 appextra
="recorder:gui:radio"
1973 toolset
=$scramblebitmaptools
1975 t_manufacturer
="as3525"
1976 t_model
="sansa-clip"
1977 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1979 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1985 modelname
="sansae200v2"
1986 target
="-DSANSA_E200V2"
1988 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1989 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1990 tool
="$rootdir/tools/scramble -add=e2v2"
1991 output
="rockbox.sansa"
1992 bootoutput
="bootloader-e200v2.sansa"
1993 appextra
="recorder:gui:radio"
1996 toolset
=$scramblebitmaptools
1998 t_manufacturer
="as3525"
1999 t_model
="sansa-e200v2"
2006 modelname
="sansam200v4"
2007 target
="-DSANSA_M200V4"
2009 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2010 bmp2rb_native
="$bmp2rb_mono"
2011 tool
="$rootdir/tools/scramble -add=m2v4"
2012 output
="rockbox.sansa"
2013 bootoutput
="bootloader-m200v4.sansa"
2014 appextra
="recorder:gui:radio"
2017 toolset
=$scramblebitmaptools
2019 t_manufacturer
="as3525"
2020 t_model
="sansa-m200v4"
2021 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2023 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2029 modelname
="sansafuze"
2030 target
="-DSANSA_FUZE"
2032 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2033 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2034 tool
="$rootdir/tools/scramble -add=fuze"
2035 output
="rockbox.sansa"
2036 bootoutput
="bootloader-fuze.sansa"
2037 appextra
="recorder:gui:radio"
2040 toolset
=$scramblebitmaptools
2042 t_manufacturer
="as3525"
2043 t_model
="sansa-fuze"
2050 modelname
="sansac200v2"
2051 target
="-DSANSA_C200V2"
2052 memory
=2 # as per OF diagnosis mode
2053 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2054 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2055 tool
="$rootdir/tools/scramble -add=c2v2"
2056 output
="rockbox.sansa"
2057 bootoutput
="bootloader-c200v2.sansa"
2058 appextra
="recorder:gui:radio"
2061 # toolset is the tools within the tools directory that we build for
2062 # this particular target.
2063 toolset
=$scramblebitmaptools
2064 # architecture, manufacturer and model for the target-tree build
2066 t_manufacturer
="as3525"
2067 t_model
="sansa-c200v2"
2068 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2070 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2075 modelname
="sansaclipv2"
2076 target
="-DSANSA_CLIPV2"
2078 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2079 bmp2rb_native
="$bmp2rb_mono"
2080 tool
="$rootdir/tools/scramble -add=clv2"
2081 output
="rockbox.sansa"
2082 bootoutput
="bootloader-clipv2.sansa"
2083 appextra
="recorder:gui:radio"
2086 toolset
=$scramblebitmaptools
2088 t_manufacturer
="as3525"
2089 t_model
="sansa-clipv2"
2094 echo "Sansa View is not yet supported!"
2097 modelname
="sansaview"
2098 target
="-DSANSA_VIEW"
2101 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2102 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2103 output
="rockbox.mi4"
2107 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2108 bootoutput
="firmware.mi4"
2109 # toolset is the tools within the tools directory that we build for
2110 # this particular target.
2111 toolset
=$scramblebitmaptools
2113 t_manufacturer
="sandisk"
2114 t_model
="sansa-view"
2119 modelname
="sansaclipplus"
2120 target
="-DSANSA_CLIPPLUS"
2122 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2123 bmp2rb_native
="$bmp2rb_mono"
2124 tool
="$rootdir/tools/scramble -add=cli+"
2125 output
="rockbox.sansa"
2126 bootoutput
="bootloader-clipplus.sansa"
2127 appextra
="recorder:gui:radio"
2130 toolset
=$scramblebitmaptools
2132 t_manufacturer
="as3525"
2133 t_model
="sansa-clipplus"
2139 modelname
="sansafuzev2"
2140 target
="-DSANSA_FUZEV2"
2142 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2143 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2144 tool
="$rootdir/tools/scramble -add=fuz2"
2145 output
="rockbox.sansa"
2146 bootoutput
="bootloader-fuzev2.sansa"
2147 appextra
="recorder:gui:radio"
2150 toolset
=$scramblebitmaptools
2152 t_manufacturer
="as3525"
2153 t_model
="sansa-fuzev2"
2159 modelname
="tatungtpj1022"
2160 target
="-DTATUNG_TPJ1022"
2163 tool
="$rootdir/tools/scramble -add tpj2"
2164 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2165 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2166 output
="rockbox.elio"
2167 appextra
="recorder:gui:radio"
2170 boottool
="$rootdir/tools/scramble -mi4v2"
2171 bootoutput
="pp5020.mi4"
2172 # toolset is the tools within the tools directory that we build for
2173 # this particular target.
2174 toolset
=$scramblebitmaptools
2175 # architecture, manufacturer and model for the target-tree build
2177 t_manufacturer
="tatung"
2183 modelname
="gogearsa9200"
2184 target
="-DPHILIPS_SA9200"
2185 memory
=32 # supposedly
2187 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2188 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2189 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2190 output
="rockbox.mi4"
2191 appextra
="recorder:gui:radio"
2194 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2195 bootoutput
="FWImage.ebn"
2196 # toolset is the tools within the tools directory that we build for
2197 # this particular target.
2198 toolset
=$scramblebitmaptools
2199 # architecture, manufacturer and model for the target-tree build
2201 t_manufacturer
="philips"
2207 modelname
="gogearhdd1630"
2208 target
="-DPHILIPS_HDD1630"
2209 memory
=32 # supposedly
2211 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2212 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2213 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2214 output
="rockbox.mi4"
2215 appextra
="recorder:gui:radio"
2218 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2219 bootoutput
="FWImage.ebn"
2220 # toolset is the tools within the tools directory that we build for
2221 # this particular target.
2222 toolset
=$scramblebitmaptools
2223 # architecture, manufacturer and model for the target-tree build
2225 t_manufacturer
="philips"
2231 modelname
="gogearhdd6330"
2232 target
="-DPHILIPS_HDD6330"
2235 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2236 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2237 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2238 output
="rockbox.mi4"
2239 appextra
="recorder:gui:radio"
2242 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2243 bootoutput
="FWImage.ebn"
2244 # toolset is the tools within the tools directory that we build for
2245 # this particular target.
2246 toolset
=$scramblebitmaptools
2247 # architecture, manufacturer and model for the target-tree build
2249 t_manufacturer
="philips"
2255 modelname
="meizum6sl"
2256 target
="-DMEIZU_M6SL"
2260 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2261 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2262 output
="rockbox.meizu"
2263 appextra
="recorder:gui:radio"
2266 toolset
=$genericbitmaptools
2268 bootoutput
="rockboot.ebn"
2269 # architecture, manufacturer and model for the target-tree build
2271 t_manufacturer
="s5l8700"
2272 t_model
="meizu-m6sl"
2277 modelname
="meizum6sp"
2278 target
="-DMEIZU_M6SP"
2282 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2283 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2284 output
="rockbox.meizu"
2285 appextra
="recorder:gui:radio"
2288 toolset
=$genericbitmaptools
2290 bootoutput
="rockboot.ebn"
2291 # architecture, manufacturer and model for the target-tree build
2293 t_manufacturer
="s5l8700"
2294 t_model
="meizu-m6sp"
2304 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2305 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2306 output
="rockbox.meizu"
2307 appextra
="recorder:gui:radio"
2310 toolset
=$genericbitmaptools
2312 bootoutput
="rockboot.ebn"
2313 # architecture, manufacturer and model for the target-tree build
2315 t_manufacturer
="s5l8700"
2321 modelname
="ondavx747"
2322 target
="-DONDA_VX747"
2325 tool
="$rootdir/tools/scramble -add=x747"
2326 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2327 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2328 output
="rockbox.vx747"
2329 appextra
="recorder:gui:radio"
2332 toolset
=$genericbitmaptools
2333 boottool
="$rootdir/tools/scramble -ccpmp"
2334 bootoutput
="ccpmp.bin"
2335 # architecture, manufacturer and model for the target-tree build
2337 t_manufacturer
="ingenic_jz47xx"
2338 t_model
="onda_vx747"
2343 modelname
="ondavx767"
2344 target
="-DONDA_VX767"
2348 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2349 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2350 output
="rockbox.vx767"
2351 appextra
="recorder:gui:radio"
2354 toolset
=$genericbitmaptools
2355 boottool
="$rootdir/tools/scramble -ccpmp"
2356 bootoutput
="ccpmp.bin"
2357 # architecture, manufacturer and model for the target-tree build
2359 t_manufacturer
="ingenic_jz47xx"
2360 t_model
="onda_vx767"
2365 modelname
="ondavx747p"
2366 target
="-DONDA_VX747P"
2369 tool
="$rootdir/tools/scramble -add=747p"
2370 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2371 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2372 output
="rockbox.vx747p"
2373 appextra
="recorder:gui:radio"
2376 toolset
=$genericbitmaptools
2377 boottool
="$rootdir/tools/scramble -ccpmp"
2378 bootoutput
="ccpmp.bin"
2379 # architecture, manufacturer and model for the target-tree build
2381 t_manufacturer
="ingenic_jz47xx"
2382 t_model
="onda_vx747"
2387 modelname
="ondavx777"
2388 target
="-DONDA_VX777"
2391 tool
="$rootdir/tools/scramble -add=x777"
2392 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2393 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2394 output
="rockbox.vx777"
2395 appextra
="recorder:gui:radio"
2398 toolset
=$genericbitmaptools
2399 boottool
="$rootdir/tools/scramble -ccpmp"
2400 bootoutput
="ccpmp.bin"
2401 # architecture, manufacturer and model for the target-tree build
2403 t_manufacturer
="ingenic_jz47xx"
2404 t_model
="onda_vx747"
2409 modelname
="lyreproto1"
2410 target
="-DLYRE_PROTO1"
2414 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2415 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2416 output
="rockbox.lyre"
2417 appextra
="recorder:gui:radio"
2420 toolset
=$scramblebitmaptools
2422 bootoutput
="bootloader-proto1.lyre"
2423 # architecture, manufacturer and model for the target-tree build
2425 t_manufacturer
="at91sam"
2426 t_model
="lyre_proto1"
2431 modelname
="mini2440"
2435 tool
="$rootdir/tools/scramble -add=m244"
2436 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2437 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2438 output
="rockbox.mini2440"
2439 appextra
="recorder:gui:radio"
2442 toolset
=$scramblebitmaptools
2444 bootoutput
="bootloader-mini2440.lyre"
2445 # architecture, manufacturer and model for the target-tree build
2447 t_manufacturer
="s3c2440"
2453 modelname
="samsungyh820"
2454 target
="-DSAMSUNG_YH820"
2457 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2458 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2459 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2460 output
="rockbox.mi4"
2461 appextra
="recorder:gui:radio"
2464 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2465 bootoutput
="FW_YH820.mi4"
2466 # toolset is the tools within the tools directory that we build for
2467 # this particular target.
2468 toolset
=$scramblebitmaptools
2469 # architecture, manufacturer and model for the target-tree build
2471 t_manufacturer
="samsung"
2477 modelname
="samsungyh920"
2478 target
="-DSAMSUNG_YH920"
2481 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2482 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2483 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2484 output
="rockbox.mi4"
2485 appextra
="recorder:gui:radio"
2488 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2489 bootoutput
="PP5020.mi4"
2490 # toolset is the tools within the tools directory that we build for
2491 # this particular target.
2492 toolset
=$scramblebitmaptools
2493 # architecture, manufacturer and model for the target-tree build
2495 t_manufacturer
="samsung"
2501 modelname
="samsungyh925"
2502 target
="-DSAMSUNG_YH925"
2505 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2506 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2507 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2508 output
="rockbox.mi4"
2509 appextra
="recorder:gui:radio"
2512 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2513 bootoutput
="FW_YH925.mi4"
2514 # toolset is the tools within the tools directory that we build for
2515 # this particular target.
2516 toolset
=$scramblebitmaptools
2517 # architecture, manufacturer and model for the target-tree build
2519 t_manufacturer
="samsung"
2525 modelname
="samsungyps3"
2526 target
="-DSAMSUNG_YPS3"
2530 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2531 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2532 output
="rockbox.yps3"
2533 appextra
="recorder:gui:radio"
2536 toolset
=$genericbitmaptools
2538 bootoutput
="rockboot.ebn"
2539 # architecture, manufacturer and model for the target-tree build
2541 t_manufacturer
="s5l8700"
2548 target
="-DPBELL_VIBE500"
2551 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2552 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2553 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2554 output
="rockbox.mi4"
2555 appextra
="recorder:gui:radio"
2558 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2559 bootoutput
="jukebox.mi4"
2560 # toolset is the tools within the tools directory that we build for
2561 # this particular target.
2562 toolset
=$scramblebitmaptools
2563 # architecture, manufacturer and model for the target-tree build
2565 t_manufacturer
="pbell"
2571 modelname
="mpiohd200"
2572 target
="-DMPIO_HD200"
2575 tool
="$rootdir/tools/scramble -add=hd20"
2576 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2577 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2578 output
="rockbox.mpio"
2579 bootoutput
="bootloader.mpio"
2580 appextra
="recorder:gui:radio"
2583 # toolset is the tools within the tools directory that we build for
2584 # this particular target.
2585 toolset
="$genericbitmaptools"
2586 # architecture, manufacturer and model for the target-tree build
2588 t_manufacturer
="mpio"
2594 modelname
="application"
2595 target
="-DAPPLICATION"
2601 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2602 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2604 bootoutput
="bootloader-cowond2.bin"
2605 appextra
="recorder:gui:radio"
2608 # architecture, manufacturer and model for the target-tree build
2610 t_manufacturer
="sdl"
2615 echo "Please select a supported target platform!"
2621 echo "Platform set to $modelname"
2625 ############################################################################
2626 # Amount of memory, for those that can differ. They have $memory unset at
2630 if [ -z "$memory" ]; then
2633 if [ "$ARG_RAM" ]; then
2636 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2649 if [ "$ARG_RAM" ]; then
2652 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2665 echo "Memory size selected: $memory MB"
2666 [ "$ARG_TYPE" ] ||
echo ""
2670 ##################################################################
2671 # Figure out build "type"
2674 # the ifp7x0 is the only platform that supports building a gdb stub like
2678 gdbstub
="(G)DB stub, "
2680 sansae200r|sansae200
)
2681 gdbstub
="(I)nstaller, "
2684 gdbstub
="(E)raser, "
2689 if [ "$ARG_TYPE" ]; then
2692 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2698 appsdir
='\$(ROOTDIR)/bootloader'
2700 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2702 echo "e200R-installer build selected"
2705 appsdir
='\$(ROOTDIR)/bootloader'
2707 echo "C2(4)0 or C2(5)0"
2711 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2712 echo "c240 eraser build selected"
2715 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2716 echo "c240 eraser build selected"
2720 echo "c200 eraser build selected"
2723 if test $t_manufacturer = "archos"; then
2724 # Archos SH-based players do this somewhat differently for
2726 appsdir
='\$(ROOTDIR)/flash/bootbox'
2729 appsdir
='\$(ROOTDIR)/bootloader'
2732 if test -n "$boottool"; then
2735 if test -n "$bootoutput"; then
2739 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2741 echo "Bootloader build selected"
2744 if [ "$modelname" = "sansae200r" ]; then
2745 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2750 extradefines
="-DSIMULATOR"
2753 echo "Simulator build selected"
2756 echo "Advanced build selected"
2757 whichadvanced
$btype
2760 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2761 appsdir
='\$(ROOTDIR)/gdb'
2770 echo "GDB stub build selected"
2775 echo "Manual build selected"
2783 extradefines
="-DDEBUG"
2784 appsdir
='\$(ROOTDIR)/tools/checkwps';
2785 output
='checkwps.'${modelname};
2787 echo "CheckWPS build selected"
2795 appsdir
='\$(ROOTDIR)/tools/database';
2800 output
="database_${modelname}.exe"
2803 output
='database.'${modelname};
2807 echo "Database tool build selected"
2810 if [ "$modelname" = "sansae200r" ]; then
2811 echo "Do not use the e200R target for regular builds. Use e200 instead."
2815 btype
="N" # set it explicitly since RET only gets here as well
2816 echo "Normal build selected"
2820 # to be able running "make manual" from non-manual configuration
2823 manualdev
="archosfmrecorder"
2826 manualdev
="iriverh100"
2829 manualdev
="ipodmini1g"
2832 manualdev
=$modelname
2836 if [ -z "$debug" ]; then
2837 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2840 echo "Using source code root directory: $rootdir"
2842 # this was once possible to change at build-time, but no more:
2847 if [ "yes" = "$simulator" ]; then
2848 # setup compiler and things for simulator
2851 if [ -d "simdisk" ]; then
2852 echo "Subdirectory 'simdisk' already present"
2855 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2859 # Now, figure out version number of the (gcc) compiler we are about to use
2860 gccver
=`$CC -dumpversion`;
2862 # figure out the binutil version too and display it, mostly for the build
2863 # system etc to be able to see it easier
2864 if [ $uname = "Darwin" ]; then
2865 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2867 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2870 if [ -z "$gccver" ]; then
2871 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2872 echo "[WARNING] this may cause your build to fail since we cannot do the"
2873 echo "[WARNING] checks we want now."
2876 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2879 num1
=`echo $gccver | cut -d . -f1`
2880 num2
=`echo $gccver | cut -d . -f2`
2881 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2888 echo "Using $CC $gccver ($gccnum)"
2890 if test "$gccnum" -ge "400"; then
2891 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2892 # so we ignore that warnings for now
2894 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2897 if test "$gccnum" -ge "402"; then
2898 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2899 # and later would throw it for several valid cases
2900 GCCOPTS
="$GCCOPTS -Wno-override-init"
2904 ""|
"$CROSS_COMPILE")
2908 # cross-compile for win32
2911 # Verify that the cross-compiler is of a recommended version!
2912 if test "$gccver" != "$gccchoice"; then
2913 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2914 echo "WARNING: version $gccchoice!"
2915 echo "WARNING: This may cause your build to fail since it may be a version"
2916 echo "WARNING: that isn't functional or known to not be the best choice."
2917 echo "WARNING: If you suffer from build problems, you know that this is"
2918 echo "WARNING: a likely source for them..."
2926 echo "Using $LD $ldver"
2928 # check the compiler for SH platforms
2929 if test "$CC" = "sh-elf-gcc"; then
2930 if test "$gccnum" -lt "400"; then
2931 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2932 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2934 # figure out patch status
2935 gccpatch
=`$CC --version`;
2937 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2938 echo "gcc $gccver is rockbox patched"
2939 # then convert -O to -Os to get smaller binaries!
2940 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2942 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2943 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2948 if test "$CC" = "m68k-elf-gcc"; then
2949 # convert -O to -Os to get smaller binaries!
2950 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2953 if [ "$ARG_CCACHE" = "1" ]; then
2954 echo "Enable ccache for building"
2956 elif [ "$ARG_CCACHE" != "0" ]; then
2957 ccache
=`findtool ccache`
2958 if test -n "$ccache"; then
2959 echo "Found and uses ccache ($ccache)"
2963 # figure out the full path to the various commands if possible
2964 HOSTCC
=`findtool gcc --lit`
2965 HOSTAR
=`findtool ar --lit`
2966 CC
=`findtool ${CC} --lit`
2967 LD
=`findtool ${AR} --lit`
2968 AR
=`findtool ${AR} --lit`
2969 AS
=`findtool ${AS} --lit`
2970 OC
=`findtool ${OC} --lit`
2971 WINDRES
=`findtool ${WINDRES} --lit`
2972 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2973 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2974 RANLIB
=`findtool ${RANLIB} --lit`
2976 if test -n "$ccache"; then
2980 if test "$ARG_ARM_THUMB" = "1"; then
2981 extradefines
="$extradefines -DUSE_THUMB"
2982 CC
="$toolsdir/thumb-cc.py $CC"
2985 if test "X$endian" = "Xbig"; then
2986 defendian
="ROCKBOX_BIG_ENDIAN"
2988 defendian
="ROCKBOX_LITTLE_ENDIAN"
2991 if [ "$ARG_RBDIR" ]; then
2993 echo "Using alternate rockbox dir: ${rbdir}"
2997 -e "s,@ENDIAN@,${defendian},g" \
2998 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2999 -e "s,^#undef DO_BOOTCHART,$use_bootchart,g" \
3000 -e "s,@config_rtc@,$config_rtc,g" \
3001 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
3002 -e "s,@RBDIR@,${rbdir},g" \
3003 -e "s,@have_backlight@,$have_backlight,g" \
3004 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
3005 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
3007 /* This header was made by configure */
3008 #ifndef __BUILD_AUTOCONF_H
3009 #define __BUILD_AUTOCONF_H
3011 /* Define endianess for the target or simulator platform */
3014 /* Define this if you build rockbox to support the logf logging and display */
3015 #undef ROCKBOX_HAS_LOGF
3017 /* Define this to record a chart with timings for the stages of boot */
3020 /* optional define for a backlight modded Ondio */
3023 /* optional define for FM radio mod for iAudio M5 */
3026 /* optional define for ATA poweroff on Player */
3029 /* optional defines for RTC mod for h1x0 */
3033 /* root of Rockbox */
3034 #define ROCKBOX_DIR "/@RBDIR@"
3036 #endif /* __BUILD_AUTOCONF_H */
3039 if test -n "$t_cpu"; then
3040 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3041 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3042 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3043 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3045 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3046 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3050 if test "$simulator" = "yes"; then
3051 # add simul make stuff on the #SIMUL# line
3052 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
3053 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
3055 # delete the lines that match
3056 simmagic1
='/@SIMUL1@/D'
3057 simmagic2
='/@SIMUL2@/D'
3060 if test "$swcodec" = "yes"; then
3061 voicetoolset
="rbspeexenc voicefont wavtrim"
3063 voicetoolset
="voicefont wavtrim"
3066 if test "$apps" = "apps"; then
3067 # only when we build "real" apps we build the .lng files
3071 #### Fix the cmdline ###
3072 if [ "$ARG_CCACHE" = "1" ]; then
3074 elif [ "$ARG_CCACHE" = "0" ]; then
3075 cmdline
="--no-ccache "
3077 if [ "$ARG_ARM_EABI" = "1" ]; then
3078 cmdline
="$cmdline--eabi "
3081 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3085 -e "s,@ROOTDIR@,${rootdir},g" \
3086 -e "s,@DEBUG@,${debug},g" \
3087 -e "s,@MEMORY@,${memory},g" \
3088 -e "s,@TARGET_ID@,${target_id},g" \
3089 -e "s,@TARGET@,${target},g" \
3090 -e "s,@CPU@,${t_cpu},g" \
3091 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
3092 -e "s,@MODELNAME@,${modelname},g" \
3093 -e "s,@LANGUAGE@,${language},g" \
3094 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3095 -e "s,@PWD@,${pwd},g" \
3096 -e "s,@HOSTCC@,${HOSTCC},g" \
3097 -e "s,@HOSTAR@,${HOSTAR},g" \
3098 -e "s,@CC@,${CC},g" \
3099 -e "s,@LD@,${LD},g" \
3100 -e "s,@AR@,${AR},g" \
3101 -e "s,@AS@,${AS},g" \
3102 -e "s,@OC@,${OC},g" \
3103 -e "s,@WINDRES@,${WINDRES},g" \
3104 -e "s,@DLLTOOL@,${DLLTOOL},g" \
3105 -e "s,@DLLWRAP@,${DLLWRAP},g" \
3106 -e "s,@RANLIB@,${RANLIB},g" \
3107 -e "s,@TOOL@,${tool},g" \
3108 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
3109 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
3110 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
3111 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
3112 -e "s,@OUTPUT@,${output},g" \
3113 -e "s,@APPEXTRA@,${appextra},g" \
3114 -e "s,@ARCHOSROM@,${archosrom},g" \
3115 -e "s,@FLASHFILE@,${flash},g" \
3116 -e "s,@PLUGINS@,${plugins},g" \
3117 -e "s,@CODECS@,${swcodec},g" \
3118 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
3119 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
3120 -e "s,@GCCOPTS@,${GCCOPTS},g" \
3121 -e "s,@TARGET_INC@,${TARGET_INC},g" \
3122 -e "s!@LDOPTS@!${LDOPTS}!g" \
3123 -e "s,@LOADADDRESS@,${loadaddress},g" \
3124 -e "s,@EXTRADEF@,${extradefines},g" \
3125 -e "s,@APPSDIR@,${appsdir},g" \
3126 -e "s,@FIRMDIR@,${firmdir},g" \
3127 -e "s,@TOOLSDIR@,${toolsdir},g" \
3128 -e "s,@APPS@,${apps},g" \
3129 -e "s,@SIMVER@,${simver},g" \
3130 -e "s,@GCCVER@,${gccver},g" \
3131 -e "s,@GCCNUM@,${gccnum},g" \
3132 -e "s,@UNAME@,${uname},g" \
3133 -e "s,@ENDIAN@,${defendian},g" \
3134 -e "s,@TOOLSET@,${toolset},g" \
3137 -e "s,@MANUALDEV@,${manualdev},g" \
3138 -e "s,@ENCODER@,${ENC_CMD},g" \
3139 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
3140 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
3141 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
3142 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
3143 -e "s,@LANGS@,${buildlangs},g" \
3144 -e "s,@USE_ELF@,${USE_ELF},g" \
3145 -e "s,@RBDIR@,${rbdir},g" \
3146 -e "s,@PREFIX@,$PREFIX,g" \
3147 -e "s,@CMDLINE@,$cmdline,g" \
3148 -e "s,@SDLCONFIG@,$sdl,g" \
3150 ## Automatically generated. http://www.rockbox.org/
3152 export ROOTDIR=@ROOTDIR@
3153 export FIRMDIR=@FIRMDIR@
3154 export APPSDIR=@APPSDIR@
3155 export TOOLSDIR=@TOOLSDIR@
3156 export DOCSDIR=\$(ROOTDIR)/docs
3157 export MANUALDIR=\${ROOTDIR}/manual
3158 export DEBUG=@DEBUG@
3159 export MODELNAME=@MODELNAME@
3160 export ARCHOSROM=@ARCHOSROM@
3161 export FLASHFILE=@FLASHFILE@
3162 export TARGET_ID=@TARGET_ID@
3163 export TARGET=@TARGET@
3165 export MANUFACTURER=@MANUFACTURER@
3167 export BUILDDIR=@PWD@
3168 export LANGUAGE=@LANGUAGE@
3169 export VOICELANGUAGE=@VOICELANGUAGE@
3170 export MEMORYSIZE=@MEMORY@
3171 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3172 export MKFIRMWARE=@TOOL@
3173 export BMP2RB_MONO=@BMP2RB_MONO@
3174 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3175 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3176 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3177 export BINARY=@OUTPUT@
3178 export APPEXTRA=@APPEXTRA@
3179 export ENABLEDPLUGINS=@PLUGINS@
3180 export SOFTWARECODECS=@CODECS@
3181 export EXTRA_DEFINES=@EXTRADEF@
3182 export HOSTCC=@HOSTCC@
3183 export HOSTAR=@HOSTAR@
3189 export WINDRES=@WINDRES@
3190 export DLLTOOL=@DLLTOOL@
3191 export DLLWRAP=@DLLWRAP@
3192 export RANLIB=@RANLIB@
3193 export PREFIX=@PREFIX@
3194 export PROFILE_OPTS=@PROFILE_OPTS@
3195 export SIMVER=@SIMVER@
3196 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3197 export GCCOPTS=@GCCOPTS@
3198 export TARGET_INC=@TARGET_INC@
3199 export LOADADDRESS=@LOADADDRESS@
3200 export SHARED_FLAG=@SHARED_FLAG@
3201 export LDOPTS=@LDOPTS@
3202 export GCCVER=@GCCVER@
3203 export GCCNUM=@GCCNUM@
3204 export UNAME=@UNAME@
3205 export MANUALDEV=@MANUALDEV@
3206 export TTS_OPTS=@TTS_OPTS@
3207 export TTS_ENGINE=@TTS_ENGINE@
3208 export ENC_OPTS=@ENC_OPTS@
3209 export ENCODER=@ENCODER@
3210 export USE_ELF=@USE_ELF@
3211 export RBDIR=@RBDIR@
3212 export SDLCONFIG=@SDLCONFIG@
3214 CONFIGURE_OPTIONS=@CMDLINE@
3216 include \$(TOOLSDIR)/root.make
3220 echo "Created Makefile"