3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 # global CC options for all platforms
12 CCOPTS
="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe"
14 # global LD options for all platforms
17 use_logf
="#undef ROCKBOX_HAS_LOGF"
18 use_bootchart
="#undef DO_BOOTCHART"
20 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
25 # Begin Function Definitions
35 WINDRES
=${prefix}windres
36 DLLTOOL
=${prefix}dlltool
37 DLLWRAP
=${prefix}dllwrap
38 RANLIB
=${prefix}ranlib
46 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
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"
118 if [ "$win32crosscompile" = "yes" ]; then
119 LDOPTS
="$LDOPTS -mconsole"
120 output
="rockboxui.exe"
125 echo "Cygwin host detected"
127 LDOPTS
="$LDOPTS -mconsole"
128 output
="rockboxui.exe"
133 echo "MinGW host detected"
135 LDOPTS
="$LDOPTS -mconsole"
136 output
="rockboxui.exe"
141 echo "Linux host detected"
142 LDOPTS
="$LDOPTS -ldl"
146 echo "FreeBSD host detected"
147 LDOPTS
="$LDOPTS -ldl"
151 echo "Darwin host detected"
152 LDOPTS
="$LDOPTS -ldl"
154 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
158 echo "*Solaris host detected"
160 GCCOPTS
="$GCCOPTS -fPIC"
161 LDOPTS
="$LDOPTS -ldl"
165 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
171 [ "$winbuild" != "yes" ] && GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -Wl,-z,defs"
172 sdl
=`findsdl $winbuild`
174 if [ -n `echo $app_type | grep "sdl"` ]; then
175 if [ -z "$sdl" ]; then
176 echo "configure didn't find sdl-config, which indicates that you"
177 echo "don't have SDL (properly) installed. Please correct and"
178 echo "re-run configure!"
181 # generic sdl-config checker
182 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
183 LDOPTS
="$LDOPTS `$sdl --libs`"
187 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
189 if test "X$win32crosscompile" != "Xyes"; then
192 # fPIC is needed to make shared objects link
193 # setting visibility to hidden is necessary to avoid strange crashes
194 # due to symbol clashing
195 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
196 # x86_64 supports MMX by default
200 echo "Enabling MMX support"
201 GCCOPTS
="$GCCOPTS -mmmx"
206 cat >$tmpdir/conftest-
$id.c
<<EOF
208 int main(int argc, char **argv)
211 char *varp = (char *)&var;
219 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
221 # when cross compiling, the endianess cannot be detected because the above program doesn't run
222 # on the local machine. assume little endian but print a warning
223 endian
=`$tmpdir/conftest-$id 2> /dev/null`
224 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
232 if [ "$CROSS_COMPILE" != "" ]; then
233 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
236 if [ "$app_type" = "sdl-sim" ]; then
237 echo "Simulator environment deemed $endian endian"
238 elif [ "$app_type" = "sdl-app" ]; then
239 echo "Application environment deemed $endian endian"
240 elif [ "$app_type" = "checkwps" ]; then
241 echo "CheckWPS environment deemed $endian endian"
244 # use wildcard here to make it work even if it was named *.exe like
246 rm -f $tmpdir/conftest-
$id*
248 # We are crosscompiling
249 # add cross-compiler option(s)
250 prefixtools i586-mingw32msvc-
251 LDOPTS
="$LDOPTS -mconsole"
252 output
="rockboxui.exe"
253 endian
="little" # windows is little endian
254 echo "Enabling MMX support"
255 GCCOPTS
="$GCCOPTS -mmmx"
260 # functions for setting up cross-compiler names and options
261 # also set endianess and what the exact recommended gcc version is
262 # the gcc version should most likely match what versions we build with
267 GCCOPTS
="$CCOPTS -m1"
268 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
274 prefixtools calmrisc16-unknown-elf-
275 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
276 GCCOPTIMIZE
="-fomit-frame-pointer"
281 prefixtools m68k-elf-
282 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
283 GCCOPTIMIZE
="-fomit-frame-pointer"
290 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
291 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
292 GCCOPTS
="$GCCOPTS -mlong-calls"
294 GCCOPTIMIZE
="-fomit-frame-pointer"
300 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
301 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
302 GCCOPTS
="$GCCOPTS -mlong-calls"
304 GCCOPTIMIZE
="-fomit-frame-pointer"
310 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
311 if test "$ARG_ARM_EABI" = "0"; then
312 GCCOPTS
="$GCCOPTS -mlong-calls"
314 GCCOPTIMIZE
="-fomit-frame-pointer"
320 GCCOPTS
="$CCOPTS -mcpu=arm940t"
321 if test "$ARG_ARM_EABI" = "0"; then
322 GCCOPTS
="$GCCOPTS -mlong-calls"
324 GCCOPTIMIZE
="-fomit-frame-pointer"
330 GCCOPTS
="$CCOPTS -mcpu=arm9e"
331 if test "$ARG_ARM_EABI" = "0"; then
332 GCCOPTS
="$GCCOPTS -mlong-calls"
334 GCCOPTIMIZE
="-fomit-frame-pointer"
340 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
341 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
342 GCCOPTS
="$GCCOPTS -mlong-calls"
344 GCCOPTIMIZE
="-fomit-frame-pointer"
350 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
351 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
352 GCCOPTS
="$GCCOPTS -mlong-calls"
354 GCCOPTIMIZE
="-fomit-frame-pointer"
360 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
361 if test "$ARG_ARM_EABI" = "0"; then
362 GCCOPTS
="$GCCOPTS -mlong-calls"
364 GCCOPTIMIZE
="-fomit-frame-pointer"
369 prefixtools mipsel-elf-
370 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
371 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
372 GCCOPTIMIZE
="-fomit-frame-pointer"
378 atype
=`echo "$1" | cut -c 2-`
379 ##################################################################
380 # Prompt for specific developer options
382 if [ "$atype" ]; then
387 printf "Enter your developer options (press only enter when done)\n\
388 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
389 (T)est plugins, S(m)all C lib:"
390 if [ "$memory" = "2" ]; then
393 if [ "$modelname" = "archosplayer" ]; then
394 printf ", Use (A)TA poweroff"
396 if [ "$t_model" = "ondio" ]; then
397 printf ", (B)acklight MOD"
399 if [ "$modelname" = "iaudiom5" ]; then
400 printf ", (F)M radio MOD"
402 if [ "$modelname" = "iriverh120" ]; then
409 while [ $cont = "1" ]; do
411 if [ "$interact" ]; then
414 option
=`echo "$atype" | cut -c 1`
419 if [ "yes" = "$profile" ]; then
420 echo "Debug is incompatible with profiling"
422 echo "DEBUG build enabled"
427 echo "logf() support enabled"
431 echo "Using Rockbox' small C library"
432 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
435 echo "Including test plugins"
436 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
439 echo "bootchart enabled (logf also enabled)"
444 echo "Simulator build enabled"
448 if [ "yes" = "$use_debug" ]; then
449 echo "Profiling is incompatible with debug"
451 echo "Profiling support is enabled"
456 echo "Voice build selected"
460 if [ "$memory" = "2" ]; then
462 echo "Memory size selected: 8MB"
466 if [ "$modelname" = "archosplayer" ]; then
467 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
468 echo "ATA power off enabled"
472 if [ "$t_model" = "ondio" ]; then
473 have_backlight
="#define HAVE_BACKLIGHT"
474 echo "Backlight functions enabled"
478 if [ "$modelname" = "iaudiom5" ]; then
479 have_fmradio_in
="#define HAVE_FMRADIO_IN"
480 echo "FM radio functions enabled"
484 if [ "$modelname" = "iriverh120" ]; then
485 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
486 have_rtc_alarm
="#define HAVE_RTC_ALARM"
487 echo "RTC functions enabled (DS1339/DS3231)"
491 echo "Enabling Windows 32 cross-compiling"
492 win32crosscompile
="yes"
495 if [ "$interact" ]; then
498 echo "[ERROR] Option $option unsupported"
502 if [ "$interact" ]; then
503 btype
="$btype$option"
505 atype
=`echo "$atype" | cut -c 2-`
506 [ "$atype" ] || cont
=0
511 if [ "yes" = "$voice" ]; then
512 # Ask about languages to build
514 voicelanguage
=`whichlang`
515 echo "Voice language set to $voicelanguage"
517 # Configure encoder and TTS engine for each language
518 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
519 voiceconfig
"$thislang"
522 if [ "yes" = "$use_debug" ]; then
524 GCCOPTS
="$GCCOPTS -g -DDEBUG"
526 if [ "yes" = "$logf" ]; then
527 use_logf
="#define ROCKBOX_HAS_LOGF 1"
529 if [ "yes" = "$bootchart" ]; then
530 use_bootchart
="#define DO_BOOTCHART 1"
532 if [ "yes" = "$simulator" ]; then
534 extradefines
="$extradefines -DSIMULATOR"
538 if [ "yes" = "$profile" ]; then
539 extradefines
="$extradefines -DRB_PROFILE"
540 PROFILE_OPTS
="-finstrument-functions"
544 # Configure voice settings
547 if [ ! "$ARG_TTS" ]; then
548 echo "Building $thislang voice for $modelname. Select options"
552 if [ -n "`findtool flite`" ]; then
556 DEFAULT_TTS_OPTS
=$FLITE_OPTS
557 DEFAULT_NOISEFLOOR
="500"
560 if [ -n "`findtool espeak`" ]; then
564 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
565 DEFAULT_NOISEFLOOR
="500"
568 if [ -n "`findtool festival`" ]; then
569 FESTIVAL
="(F)estival "
572 FESTIVAL_OPTS
="--language italian"
575 FESTIVAL_OPTS
="--language spanish"
578 FESTIVAL_OPTS
="--language finnish"
581 FESTIVAL_OPTS
="--language czech"
587 DEFAULT_TTS
="festival"
588 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
589 DEFAULT_NOISEFLOOR
="500"
592 if [ -n "`findtool swift`" ]; then
596 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
597 DEFAULT_NOISEFLOOR
="500"
600 # Allow SAPI if Windows is in use
601 if [ -n "`findtool winver`" ]; then
605 DEFAULT_TTS_OPTS
=$SAPI_OPTS
606 DEFAULT_NOISEFLOOR
="500"
610 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
611 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
615 if [ "$ARG_TTS" ]; then
618 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
621 advopts
="$advopts --tts=$option"
625 NOISEFLOOR
="500" # TODO: check this value
631 TTS_OPTS
=$ESPEAK_OPTS
634 TTS_ENGINE
="festival"
636 TTS_OPTS
=$FESTIVAL_OPTS
649 TTS_ENGINE
=$DEFAULT_TTS
650 TTS_OPTS
=$DEFAULT_TTS_OPTS
651 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
653 echo "Using $TTS_ENGINE for TTS"
655 # Select which voice to use for Festival
656 if [ "$TTS_ENGINE" = "festival" ]; then
657 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
658 for voice
in $voicelist; do
659 TTS_FESTIVAL_VOICE
="$voice" # Default choice
662 if [ "$ARG_VOICE" ]; then
666 for voice
in $voicelist; do
667 printf "%3d. %s\n" "$i" "$voice"
670 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
674 for voice
in $voicelist; do
675 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
676 TTS_FESTIVAL_VOICE
="$voice"
680 advopts
="$advopts --voice=$CHOICE"
681 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
682 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
685 # Read custom tts options from command line
686 if [ "$ARG_TTSOPTS" ]; then
687 TTS_OPTS
="$ARG_TTSOPTS"
688 advopts
="$advopts --ttsopts='$TTS_OPTS'"
689 echo "$TTS_ENGINE options set to $TTS_OPTS"
692 if [ "$swcodec" = "yes" ]; then
695 ENC_OPTS
="-q 4 -c 10"
697 if [ -n "`findtool lame`" ]; then
700 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
702 echo "You need LAME in the system path to build voice files for"
703 echo "HWCODEC targets."
708 echo "Using $ENCODER for encoding voice clips"
710 # Read custom encoder options from command line
711 if [ "$ARG_ENCOPTS" ]; then
712 ENC_OPTS
="$ARG_ENCOPTS"
713 advopts
="$advopts --encopts='$ENC_OPTS'"
714 echo "$ENCODER options set to $ENC_OPTS"
718 if [ -n "`findtool cygpath`" ]; then
719 TEMPDIR
=`cygpath . -a -w`
724 # figure out which languages that are around
725 for file in $rootdir/apps
/lang
/*.lang
; do
726 clean
=`basename $file .lang`
727 langs
="$langs $clean"
730 if [ "$ARG_LANG" ]; then
733 echo "Select a number for the language to use (default is english)"
734 # FIXME The multiple-language feature is currently broken
735 # echo "You may enter a comma-separated list of languages to build"
738 for one
in $langs; do
744 advopts
="$advopts --language=$pick"
749 # Allow the user to pass a comma-separated list of langauges
750 for thispick
in `echo $pick | sed 's/,/ /g'`; do
752 for one
in $langs; do
753 # Accept both the language number and name
754 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
755 if [ "$output" = "" ]; then
764 if [ -z "$output" ]; then
772 echo "Rockbox configure script."
773 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
774 echo "Do *NOT* run this within the tools directory!"
777 Usage: configure [OPTION]...
779 --target=TARGET Sets the target, TARGET can be either the target ID or
780 corresponding string. Run without this option to see all
783 --ram=RAM Sets the RAM for certain targets. Even though any number
784 is accepted, not every number is correct. The default
785 value will be applied, if you entered a wrong number
786 (which depends on the target). Watch the output. Run
787 without this option if you are not sure which the right
790 --type=TYPE Sets the build type. Shortcuts are also valid.
791 Run without this option to see all available types.
792 Multiple values are allowed and managed in the input
793 order. So --type=b stands for Bootloader build, while
794 --type=ab stands for "Backlight MOD" build.
796 --language=LANG Set the language used for voice generation (used only if
799 --tts=ENGINE Set the TTS engine used for voice generation (used only
802 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
805 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
807 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
809 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
810 This is useful for having multiple alternate builds on
811 your device that you can load with ROLO. However as the
812 bootloader looks for .rockbox you won't be able to boot
815 --ccache Enable ccache use (done by default these days)
816 --no-ccache Disable ccache use
818 --eabi Make configure prefer toolchains that are able to compile
819 for the new ARM standard abi EABI
820 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
821 --thumb Build with -mthumb (for ARM builds)
822 --no-thumb The opposite of --thumb (don't use thumb even for targets
823 where this is the default
824 --prefix Target installation directory
825 --help Shows this message (must not be used with other options)
847 --ccache) ARG_CCACHE
=1;;
848 --no-ccache) ARG_CCACHE
=0;;
849 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
850 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
851 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
852 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
853 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
854 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
855 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
856 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
857 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
858 --eabi) ARG_ARM_EABI
=1;;
859 --no-eabi) ARG_ARM_EABI
=0;;
860 --thumb) ARG_ARM_THUMB
=1;;
861 --no-thumb) ARG_ARM_THUMB
=0;;
862 --prefix=*) PREFIX
=`echo "$arg" | cut -d = -f 2`;;
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
973 ==MPIO== == Application ==
974 170) HD200 200) SDL 320x240
981 # Set of tools built for all target platforms:
982 toolset
="rdf2binary convbdf codepages"
984 # Toolsets for some target families:
985 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
986 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
987 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
988 ipodbitmaptools
="$toolset scramble bmp2rb"
989 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
990 tccbitmaptools
="$toolset scramble bmp2rb"
991 # generic is used by IFP, Meizu and Onda
992 genericbitmaptools
="$toolset bmp2rb"
993 # scramble is used by all other targets
994 scramblebitmaptools
="$genericbitmaptools scramble"
997 # ---- For each target ----
1000 # target_id: a unique number identifying this target, IS NOT the menu number.
1001 # Just use the currently highest number+1 when you add a new
1003 # modelname: short model name used all over to identify this target
1004 # memory: number of megabytes of RAM this target has. If the amount can
1005 # be selected by the size prompt, let memory be unset here
1006 # target: -Ddefine passed to the build commands to make the correct
1007 # config-*.h file get included etc
1008 # tool: the tool that takes a plain binary and converts that into a
1009 # working "firmware" file for your target
1010 # output: the final output file name
1011 # boottool: the tool that takes a plain binary and generates a bootloader
1012 # file for your target (or blank to use $tool)
1013 # bootoutput:the final output file name for the bootloader (or blank to use
1015 # appextra: passed to the APPEXTRA variable in the Makefiles.
1016 # TODO: add proper explanation
1017 # archosrom: used only for Archos targets that build a special flashable .ucl
1019 # flash: name of output for flashing, for targets where there's a special
1020 # file output for this.
1021 # plugins: set to 'yes' to build the plugins. Early development builds can
1022 # set this to no in the early stages to have an easier life for a
1024 # swcodec: set 'yes' on swcodec targets
1025 # toolset: lists what particular tools in the tools/ directory that this
1026 # target needs to have built prior to building Rockbox
1029 # *cc: sets up gcc and compiler options for your target builds. Note
1030 # that if you select a simulator build, the compiler selection is
1031 # overridden later in the script.
1037 modelname
="archosplayer"
1038 target
="-DARCHOS_PLAYER"
1040 tool
="$rootdir/tools/scramble"
1042 appextra
="player:gui"
1043 archosrom
="$pwd/rombox.ucl"
1044 flash
="$pwd/rockbox.ucl"
1048 # toolset is the tools within the tools directory that we build for
1049 # this particular target.
1050 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1052 # Note: the convbdf is present in the toolset just because: 1) the
1053 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1054 # build the player simulator
1057 t_manufacturer
="archos"
1063 modelname
="archosrecorder"
1064 target
="-DARCHOS_RECORDER"
1066 tool
="$rootdir/tools/scramble"
1067 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1068 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1070 appextra
="recorder:gui:radio"
1071 #archosrom="$pwd/rombox.ucl"
1072 flash
="$pwd/rockbox.ucl"
1075 # toolset is the tools within the tools directory that we build for
1076 # this particular target.
1077 toolset
=$archosbitmaptools
1079 t_manufacturer
="archos"
1085 modelname
="archosfmrecorder"
1086 target
="-DARCHOS_FMRECORDER"
1088 tool
="$rootdir/tools/scramble -fm"
1089 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1090 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1092 appextra
="recorder:gui:radio"
1093 #archosrom="$pwd/rombox.ucl"
1094 flash
="$pwd/rockbox.ucl"
1097 # toolset is the tools within the tools directory that we build for
1098 # this particular target.
1099 toolset
=$archosbitmaptools
1101 t_manufacturer
="archos"
1107 modelname
="archosrecorderv2"
1108 target
="-DARCHOS_RECORDERV2"
1110 tool
="$rootdir/tools/scramble -v2"
1111 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1112 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1114 appextra
="recorder:gui:radio"
1115 #archosrom="$pwd/rombox.ucl"
1116 flash
="$pwd/rockbox.ucl"
1119 # toolset is the tools within the tools directory that we build for
1120 # this particular target.
1121 toolset
=$archosbitmaptools
1123 t_manufacturer
="archos"
1129 modelname
="archosondiosp"
1130 target
="-DARCHOS_ONDIOSP"
1132 tool
="$rootdir/tools/scramble -osp"
1133 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1134 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1136 appextra
="recorder:gui:radio"
1137 #archosrom="$pwd/rombox.ucl"
1138 flash
="$pwd/rockbox.ucl"
1141 # toolset is the tools within the tools directory that we build for
1142 # this particular target.
1143 toolset
=$archosbitmaptools
1145 t_manufacturer
="archos"
1151 modelname
="archosondiofm"
1152 target
="-DARCHOS_ONDIOFM"
1154 tool
="$rootdir/tools/scramble -ofm"
1155 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1156 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1158 appextra
="recorder:gui:radio"
1159 #archosrom="$pwd/rombox.ucl"
1160 flash
="$pwd/rockbox.ucl"
1163 toolset
=$archosbitmaptools
1165 t_manufacturer
="archos"
1171 modelname
="archosav300"
1172 target
="-DARCHOS_AV300"
1175 tool
="$rootdir/tools/scramble -mm=C"
1176 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1177 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1179 appextra
="recorder:gui:radio"
1182 # toolset is the tools within the tools directory that we build for
1183 # this particular target.
1184 toolset
="$toolset scramble descramble bmp2rb"
1185 # architecture, manufacturer and model for the target-tree build
1187 t_manufacturer
="archos"
1193 modelname
="iriverh120"
1194 target
="-DIRIVER_H120"
1197 tool
="$rootdir/tools/scramble -add=h120"
1198 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1199 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1200 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1201 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1202 output
="rockbox.iriver"
1203 bootoutput
="bootloader.iriver"
1204 appextra
="recorder:gui:radio"
1205 flash
="$pwd/rombox.iriver"
1208 # toolset is the tools within the tools directory that we build for
1209 # this particular target.
1210 toolset
=$iriverbitmaptools
1212 t_manufacturer
="iriver"
1218 modelname
="iriverh300"
1219 target
="-DIRIVER_H300"
1222 tool
="$rootdir/tools/scramble -add=h300"
1223 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1224 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1225 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1226 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1227 output
="rockbox.iriver"
1228 appextra
="recorder:gui:radio"
1231 # toolset is the tools within the tools directory that we build for
1232 # this particular target.
1233 toolset
=$iriverbitmaptools
1235 t_manufacturer
="iriver"
1241 modelname
="iriverh100"
1242 target
="-DIRIVER_H100"
1245 tool
="$rootdir/tools/scramble -add=h100"
1246 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1247 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1248 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1249 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1250 output
="rockbox.iriver"
1251 bootoutput
="bootloader.iriver"
1252 appextra
="recorder:gui:radio"
1253 flash
="$pwd/rombox.iriver"
1256 # toolset is the tools within the tools directory that we build for
1257 # this particular target.
1258 toolset
=$iriverbitmaptools
1260 t_manufacturer
="iriver"
1266 modelname
="iriverifp7xx"
1267 target
="-DIRIVER_IFP7XX"
1271 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1272 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1273 output
="rockbox.wma"
1274 appextra
="recorder:gui:radio"
1277 # toolset is the tools within the tools directory that we build for
1278 # this particular target.
1279 toolset
=$genericbitmaptools
1281 t_manufacturer
="pnx0101"
1282 t_model
="iriver-ifp7xx"
1287 modelname
="iriverh10"
1288 target
="-DIRIVER_H10"
1291 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1292 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1293 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1294 output
="rockbox.mi4"
1295 appextra
="recorder:gui:radio"
1298 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1299 bootoutput
="H10_20GC.mi4"
1300 # toolset is the tools within the tools directory that we build for
1301 # this particular target.
1302 toolset
=$scramblebitmaptools
1303 # architecture, manufacturer and model for the target-tree build
1305 t_manufacturer
="iriver"
1311 modelname
="iriverh10_5gb"
1312 target
="-DIRIVER_H10_5GB"
1315 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1316 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1317 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1318 output
="rockbox.mi4"
1319 appextra
="recorder:gui:radio"
1322 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1323 bootoutput
="H10.mi4"
1324 # toolset is the tools within the tools directory that we build for
1325 # this particular target.
1326 toolset
=$scramblebitmaptools
1327 # architecture, manufacturer and model for the target-tree build
1329 t_manufacturer
="iriver"
1335 modelname
="ipodcolor"
1336 target
="-DIPOD_COLOR"
1339 tool
="$rootdir/tools/scramble -add=ipco"
1340 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1341 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1342 output
="rockbox.ipod"
1343 appextra
="recorder:gui:radio"
1346 bootoutput
="bootloader-$modelname.ipod"
1347 # toolset is the tools within the tools directory that we build for
1348 # this particular target.
1349 toolset
=$ipodbitmaptools
1350 # architecture, manufacturer and model for the target-tree build
1352 t_manufacturer
="ipod"
1358 modelname
="ipodnano1g"
1359 target
="-DIPOD_NANO"
1362 tool
="$rootdir/tools/scramble -add=nano"
1363 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1364 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1365 output
="rockbox.ipod"
1366 appextra
="recorder:gui:radio"
1369 bootoutput
="bootloader-$modelname.ipod"
1370 # toolset is the tools within the tools directory that we build for
1371 # this particular target.
1372 toolset
=$ipodbitmaptools
1373 # architecture, manufacturer and model for the target-tree build
1375 t_manufacturer
="ipod"
1381 modelname
="ipodvideo"
1382 target
="-DIPOD_VIDEO"
1384 tool
="$rootdir/tools/scramble -add=ipvd"
1385 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1386 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1387 output
="rockbox.ipod"
1388 appextra
="recorder:gui:radio"
1391 bootoutput
="bootloader-$modelname.ipod"
1392 # toolset is the tools within the tools directory that we build for
1393 # this particular target.
1394 toolset
=$ipodbitmaptools
1395 # architecture, manufacturer and model for the target-tree build
1397 t_manufacturer
="ipod"
1407 tool
="$rootdir/tools/scramble -add=ip3g"
1408 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1409 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1410 output
="rockbox.ipod"
1411 appextra
="recorder:gui:radio"
1414 bootoutput
="bootloader-$modelname.ipod"
1415 # toolset is the tools within the tools directory that we build for
1416 # this particular target.
1417 toolset
=$ipodbitmaptools
1418 # architecture, manufacturer and model for the target-tree build
1420 t_manufacturer
="ipod"
1430 tool
="$rootdir/tools/scramble -add=ip4g"
1431 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1432 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1433 output
="rockbox.ipod"
1434 appextra
="recorder:gui:radio"
1437 bootoutput
="bootloader-$modelname.ipod"
1438 # toolset is the tools within the tools directory that we build for
1439 # this particular target.
1440 toolset
=$ipodbitmaptools
1441 # architecture, manufacturer and model for the target-tree build
1443 t_manufacturer
="ipod"
1449 modelname
="ipodmini1g"
1450 target
="-DIPOD_MINI"
1453 tool
="$rootdir/tools/scramble -add=mini"
1454 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1455 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1456 output
="rockbox.ipod"
1457 appextra
="recorder:gui:radio"
1460 bootoutput
="bootloader-$modelname.ipod"
1461 # toolset is the tools within the tools directory that we build for
1462 # this particular target.
1463 toolset
=$ipodbitmaptools
1464 # architecture, manufacturer and model for the target-tree build
1466 t_manufacturer
="ipod"
1472 modelname
="ipodmini2g"
1473 target
="-DIPOD_MINI2G"
1476 tool
="$rootdir/tools/scramble -add=mn2g"
1477 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1478 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1479 output
="rockbox.ipod"
1480 appextra
="recorder:gui:radio"
1483 bootoutput
="bootloader-$modelname.ipod"
1484 # toolset is the tools within the tools directory that we build for
1485 # this particular target.
1486 toolset
=$ipodbitmaptools
1487 # architecture, manufacturer and model for the target-tree build
1489 t_manufacturer
="ipod"
1495 modelname
="ipod1g2g"
1496 target
="-DIPOD_1G2G"
1499 tool
="$rootdir/tools/scramble -add=1g2g"
1500 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1501 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1502 output
="rockbox.ipod"
1503 appextra
="recorder:gui:radio"
1506 bootoutput
="bootloader-$modelname.ipod"
1507 # toolset is the tools within the tools directory that we build for
1508 # this particular target.
1509 toolset
=$ipodbitmaptools
1510 # architecture, manufacturer and model for the target-tree build
1512 t_manufacturer
="ipod"
1518 modelname
="ipodnano2g"
1519 target
="-DIPOD_NANO2G"
1522 tool
="$rootdir/tools/scramble -add=nn2g"
1523 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1524 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1525 output
="rockbox.ipod"
1526 appextra
="recorder:gui:radio"
1529 bootoutput
="bootloader-$modelname.ipod"
1530 # toolset is the tools within the tools directory that we build for
1531 # this particular target.
1532 toolset
=$ipodbitmaptools
1533 # architecture, manufacturer and model for the target-tree build
1535 t_manufacturer
="s5l8700"
1536 t_model
="ipodnano2g"
1541 modelname
="iaudiox5"
1542 target
="-DIAUDIO_X5"
1545 tool
="$rootdir/tools/scramble -add=iax5"
1546 boottool
="$rootdir/tools/scramble -iaudiox5"
1547 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1548 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1549 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1550 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1551 output
="rockbox.iaudio"
1552 bootoutput
="x5_fw.bin"
1553 appextra
="recorder:gui:radio"
1556 # toolset is the tools within the tools directory that we build for
1557 # this particular target.
1558 toolset
="$iaudiobitmaptools"
1559 # architecture, manufacturer and model for the target-tree build
1561 t_manufacturer
="iaudio"
1567 modelname
="iaudiom5"
1568 target
="-DIAUDIO_M5"
1571 tool
="$rootdir/tools/scramble -add=iam5"
1572 boottool
="$rootdir/tools/scramble -iaudiom5"
1573 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1574 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1575 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1576 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1577 output
="rockbox.iaudio"
1578 bootoutput
="m5_fw.bin"
1579 appextra
="recorder:gui:radio"
1582 # toolset is the tools within the tools directory that we build for
1583 # this particular target.
1584 toolset
="$iaudiobitmaptools"
1585 # architecture, manufacturer and model for the target-tree build
1587 t_manufacturer
="iaudio"
1597 tool
="$rootdir/tools/scramble -add=i7"
1598 boottool
="$rootdir/tools/scramble -tcc=crc"
1599 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1600 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1601 output
="rockbox.iaudio"
1602 appextra
="recorder:gui:radio"
1605 bootoutput
="I7_FW.BIN"
1606 # toolset is the tools within the tools directory that we build for
1607 # this particular target.
1608 toolset
="$tccbitmaptools"
1609 # architecture, manufacturer and model for the target-tree build
1611 t_manufacturer
="tcc77x"
1621 tool
="$rootdir/tools/scramble -add=d2"
1623 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1624 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1626 bootoutput
="bootloader-cowond2.bin"
1627 appextra
="recorder:gui:radio"
1630 toolset
="$tccbitmaptools"
1631 # architecture, manufacturer and model for the target-tree build
1633 t_manufacturer
="tcc780x"
1639 modelname
="iaudiom3"
1640 target
="-DIAUDIO_M3"
1643 tool
="$rootdir/tools/scramble -add=iam3"
1644 boottool
="$rootdir/tools/scramble -iaudiom3"
1645 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1646 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1647 output
="rockbox.iaudio"
1648 bootoutput
="cowon_m3.bin"
1649 appextra
="recorder:gui:radio"
1652 # toolset is the tools within the tools directory that we build for
1653 # this particular target.
1654 toolset
="$iaudiobitmaptools"
1655 # architecture, manufacturer and model for the target-tree build
1657 t_manufacturer
="iaudio"
1663 modelname
="gigabeatfx"
1664 target
="-DGIGABEAT_F"
1667 tool
="$rootdir/tools/scramble -add=giga"
1668 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1669 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1670 output
="rockbox.gigabeat"
1671 appextra
="recorder:gui:radio"
1674 toolset
=$gigabeatbitmaptools
1675 boottool
="$rootdir/tools/scramble -gigabeat"
1676 bootoutput
="FWIMG01.DAT"
1677 # architecture, manufacturer and model for the target-tree build
1679 t_manufacturer
="s3c2440"
1680 t_model
="gigabeat-fx"
1685 modelname
="gigabeats"
1686 target
="-DGIGABEAT_S"
1689 tool
="$rootdir/tools/scramble -add=gigs"
1690 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1691 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1692 output
="rockbox.gigabeat"
1693 appextra
="recorder:gui:radio"
1696 toolset
="$gigabeatbitmaptools"
1697 boottool
="$rootdir/tools/scramble -gigabeats"
1699 # architecture, manufacturer and model for the target-tree build
1701 t_manufacturer
="imx31"
1702 t_model
="gigabeat-s"
1707 modelname
="mrobe500"
1708 target
="-DMROBE_500"
1711 tool
="$rootdir/tools/scramble -add=m500"
1712 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1713 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1714 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1715 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1716 output
="rockbox.mrobe500"
1717 appextra
="recorder:gui:radio"
1720 toolset
=$gigabeatbitmaptools
1722 bootoutput
="rockbox.mrboot"
1723 # architecture, manufacturer and model for the target-tree build
1725 t_manufacturer
="tms320dm320"
1731 modelname
="mrobe100"
1732 target
="-DMROBE_100"
1735 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1736 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1737 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1738 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1739 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1740 output
="rockbox.mi4"
1741 appextra
="recorder:gui:radio"
1744 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1745 bootoutput
="pp5020.mi4"
1746 # toolset is the tools within the tools directory that we build for
1747 # this particular target.
1748 toolset
=$scramblebitmaptools
1749 # architecture, manufacturer and model for the target-tree build
1751 t_manufacturer
="olympus"
1757 modelname
="logikdax"
1758 target
="-DLOGIK_DAX"
1761 tool
="$rootdir/tools/scramble -add=ldax"
1762 boottool
="$rootdir/tools/scramble -tcc=crc"
1763 bootoutput
="player.rom"
1764 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1765 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1766 output
="rockbox.logik"
1767 appextra
="recorder:gui:radio"
1770 # toolset is the tools within the tools directory that we build for
1771 # this particular target.
1772 toolset
=$tccbitmaptools
1773 # architecture, manufacturer and model for the target-tree build
1775 t_manufacturer
="tcc77x"
1781 modelname
="zenvisionm30gb"
1782 target
="-DCREATIVE_ZVM"
1785 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1786 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1787 tool
="$rootdir/tools/scramble -creative=zvm"
1789 output
="rockbox.zvm"
1790 appextra
="recorder:gui:radio"
1793 toolset
=$ipodbitmaptools
1794 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1795 bootoutput
="rockbox.zvmboot"
1796 # architecture, manufacturer and model for the target-tree build
1798 t_manufacturer
="tms320dm320"
1799 t_model
="creative-zvm"
1804 modelname
="zenvisionm60gb"
1805 target
="-DCREATIVE_ZVM60GB"
1808 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1809 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1810 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1812 output
="rockbox.zvm60"
1813 appextra
="recorder:gui:radio"
1816 toolset
=$ipodbitmaptools
1817 boottool
="$rootdir/tools/scramble -creative=zvm60"
1818 bootoutput
="rockbox.zvm60boot"
1819 # architecture, manufacturer and model for the target-tree build
1821 t_manufacturer
="tms320dm320"
1822 t_model
="creative-zvm"
1827 modelname
="zenvision"
1828 target
="-DCREATIVE_ZV"
1831 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1832 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1833 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1836 appextra
="recorder:gui:radio"
1839 toolset
=$ipodbitmaptools
1840 boottool
="$rootdir/tools/scramble -creative=zenvision"
1841 bootoutput
="rockbox.zvboot"
1842 # architecture, manufacturer and model for the target-tree build
1844 t_manufacturer
="tms320dm320"
1845 t_model
="creative-zvm"
1850 modelname
="sansae200"
1851 target
="-DSANSA_E200"
1852 memory
=32 # supposedly
1854 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1855 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1856 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1857 output
="rockbox.mi4"
1858 appextra
="recorder:gui:radio"
1861 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1862 bootoutput
="PP5022.mi4"
1863 # toolset is the tools within the tools directory that we build for
1864 # this particular target.
1865 toolset
=$scramblebitmaptools
1866 # architecture, manufacturer and model for the target-tree build
1868 t_manufacturer
="sandisk"
1869 t_model
="sansa-e200"
1873 # the e200R model is pretty much identical to the e200, it only has a
1874 # different option to the scramble tool when building a bootloader and
1875 # makes the bootloader output file name in all lower case.
1877 modelname
="sansae200r"
1878 target
="-DSANSA_E200"
1879 memory
=32 # supposedly
1881 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1882 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1883 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1884 output
="rockbox.mi4"
1885 appextra
="recorder:gui:radio"
1888 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1889 bootoutput
="pp5022.mi4"
1890 # toolset is the tools within the tools directory that we build for
1891 # this particular target.
1892 toolset
=$scramblebitmaptools
1893 # architecture, manufacturer and model for the target-tree build
1895 t_manufacturer
="sandisk"
1896 t_model
="sansa-e200"
1901 modelname
="sansac200"
1902 target
="-DSANSA_C200"
1903 memory
=32 # supposedly
1905 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1906 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1907 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1908 output
="rockbox.mi4"
1909 appextra
="recorder:gui:radio"
1912 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1913 bootoutput
="firmware.mi4"
1914 # toolset is the tools within the tools directory that we build for
1915 # this particular target.
1916 toolset
=$scramblebitmaptools
1917 # architecture, manufacturer and model for the target-tree build
1919 t_manufacturer
="sandisk"
1920 t_model
="sansa-c200"
1925 modelname
="sansam200"
1926 target
="-DSANSA_M200"
1929 tool
="$rootdir/tools/scramble -add=m200"
1930 boottool
="$rootdir/tools/scramble -tcc=crc"
1931 bootoutput
="player.rom"
1932 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1933 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1934 output
="rockbox.m200"
1935 appextra
="recorder:gui:radio"
1938 # toolset is the tools within the tools directory that we build for
1939 # this particular target.
1940 toolset
=$tccbitmaptools
1941 # architecture, manufacturer and model for the target-tree build
1943 t_manufacturer
="tcc77x"
1949 modelname
="sansac100"
1950 target
="-DSANSA_C100"
1953 tool
="$rootdir/tools/scramble -add=c100"
1954 boottool
="$rootdir/tools/scramble -tcc=crc"
1955 bootoutput
="player.rom"
1956 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1957 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1958 output
="rockbox.c100"
1959 appextra
="recorder:gui:radio"
1962 # toolset is the tools within the tools directory that we build for
1963 # this particular target.
1964 toolset
=$tccbitmaptools
1965 # architecture, manufacturer and model for the target-tree build
1967 t_manufacturer
="tcc77x"
1973 modelname
="sansaclip"
1974 target
="-DSANSA_CLIP"
1976 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1977 bmp2rb_native
="$bmp2rb_mono"
1978 tool
="$rootdir/tools/scramble -add=clip"
1979 output
="rockbox.sansa"
1980 bootoutput
="bootloader-clip.sansa"
1981 appextra
="recorder:gui:radio"
1984 toolset
=$scramblebitmaptools
1986 t_manufacturer
="as3525"
1987 t_model
="sansa-clip"
1988 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
1990 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
1996 modelname
="sansae200v2"
1997 target
="-DSANSA_E200V2"
1999 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2000 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2001 tool
="$rootdir/tools/scramble -add=e2v2"
2002 output
="rockbox.sansa"
2003 bootoutput
="bootloader-e200v2.sansa"
2004 appextra
="recorder:gui:radio"
2007 toolset
=$scramblebitmaptools
2009 t_manufacturer
="as3525"
2010 t_model
="sansa-e200v2"
2017 modelname
="sansam200v4"
2018 target
="-DSANSA_M200V4"
2020 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2021 bmp2rb_native
="$bmp2rb_mono"
2022 tool
="$rootdir/tools/scramble -add=m2v4"
2023 output
="rockbox.sansa"
2024 bootoutput
="bootloader-m200v4.sansa"
2025 appextra
="recorder:gui:radio"
2028 toolset
=$scramblebitmaptools
2030 t_manufacturer
="as3525"
2031 t_model
="sansa-m200v4"
2032 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2034 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2040 modelname
="sansafuze"
2041 target
="-DSANSA_FUZE"
2043 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2044 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2045 tool
="$rootdir/tools/scramble -add=fuze"
2046 output
="rockbox.sansa"
2047 bootoutput
="bootloader-fuze.sansa"
2048 appextra
="recorder:gui:radio"
2051 toolset
=$scramblebitmaptools
2053 t_manufacturer
="as3525"
2054 t_model
="sansa-fuze"
2061 modelname
="sansac200v2"
2062 target
="-DSANSA_C200V2"
2063 memory
=2 # as per OF diagnosis mode
2064 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2065 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2066 tool
="$rootdir/tools/scramble -add=c2v2"
2067 output
="rockbox.sansa"
2068 bootoutput
="bootloader-c200v2.sansa"
2069 appextra
="recorder:gui:radio"
2072 # toolset is the tools within the tools directory that we build for
2073 # this particular target.
2074 toolset
=$scramblebitmaptools
2075 # architecture, manufacturer and model for the target-tree build
2077 t_manufacturer
="as3525"
2078 t_model
="sansa-c200v2"
2079 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2081 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2086 modelname
="sansaclipv2"
2087 target
="-DSANSA_CLIPV2"
2089 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2090 bmp2rb_native
="$bmp2rb_mono"
2091 tool
="$rootdir/tools/scramble -add=clv2"
2092 output
="rockbox.sansa"
2093 bootoutput
="bootloader-clipv2.sansa"
2094 appextra
="recorder:gui:radio"
2097 toolset
=$scramblebitmaptools
2099 t_manufacturer
="as3525"
2100 t_model
="sansa-clipv2"
2105 echo "Sansa View is not yet supported!"
2108 modelname
="sansaview"
2109 target
="-DSANSA_VIEW"
2112 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2113 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2114 output
="rockbox.mi4"
2118 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2119 bootoutput
="firmware.mi4"
2120 # toolset is the tools within the tools directory that we build for
2121 # this particular target.
2122 toolset
=$scramblebitmaptools
2124 t_manufacturer
="sandisk"
2125 t_model
="sansa-view"
2130 modelname
="sansaclipplus"
2131 target
="-DSANSA_CLIPPLUS"
2133 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2134 bmp2rb_native
="$bmp2rb_mono"
2135 tool
="$rootdir/tools/scramble -add=cli+"
2136 output
="rockbox.sansa"
2137 bootoutput
="bootloader-clipplus.sansa"
2138 appextra
="recorder:gui:radio"
2141 toolset
=$scramblebitmaptools
2143 t_manufacturer
="as3525"
2144 t_model
="sansa-clipplus"
2150 modelname
="sansafuzev2"
2151 target
="-DSANSA_FUZEV2"
2153 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2154 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2155 tool
="$rootdir/tools/scramble -add=fuz2"
2156 output
="rockbox.sansa"
2157 bootoutput
="bootloader-fuzev2.sansa"
2158 appextra
="recorder:gui:radio"
2161 toolset
=$scramblebitmaptools
2163 t_manufacturer
="as3525"
2164 t_model
="sansa-fuzev2"
2170 modelname
="tatungtpj1022"
2171 target
="-DTATUNG_TPJ1022"
2174 tool
="$rootdir/tools/scramble -add tpj2"
2175 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2176 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2177 output
="rockbox.elio"
2178 appextra
="recorder:gui:radio"
2181 boottool
="$rootdir/tools/scramble -mi4v2"
2182 bootoutput
="pp5020.mi4"
2183 # toolset is the tools within the tools directory that we build for
2184 # this particular target.
2185 toolset
=$scramblebitmaptools
2186 # architecture, manufacturer and model for the target-tree build
2188 t_manufacturer
="tatung"
2194 modelname
="gogearsa9200"
2195 target
="-DPHILIPS_SA9200"
2196 memory
=32 # supposedly
2198 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2199 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2200 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2201 output
="rockbox.mi4"
2202 appextra
="recorder:gui:radio"
2205 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2206 bootoutput
="FWImage.ebn"
2207 # toolset is the tools within the tools directory that we build for
2208 # this particular target.
2209 toolset
=$scramblebitmaptools
2210 # architecture, manufacturer and model for the target-tree build
2212 t_manufacturer
="philips"
2218 modelname
="gogearhdd1630"
2219 target
="-DPHILIPS_HDD1630"
2220 memory
=32 # supposedly
2222 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2223 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2224 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2225 output
="rockbox.mi4"
2226 appextra
="recorder:gui:radio"
2229 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2230 bootoutput
="FWImage.ebn"
2231 # toolset is the tools within the tools directory that we build for
2232 # this particular target.
2233 toolset
=$scramblebitmaptools
2234 # architecture, manufacturer and model for the target-tree build
2236 t_manufacturer
="philips"
2242 modelname
="gogearhdd6330"
2243 target
="-DPHILIPS_HDD6330"
2246 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2247 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2248 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2249 output
="rockbox.mi4"
2250 appextra
="recorder:gui:radio"
2253 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2254 bootoutput
="FWImage.ebn"
2255 # toolset is the tools within the tools directory that we build for
2256 # this particular target.
2257 toolset
=$scramblebitmaptools
2258 # architecture, manufacturer and model for the target-tree build
2260 t_manufacturer
="philips"
2266 modelname
="meizum6sl"
2267 target
="-DMEIZU_M6SL"
2271 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2272 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2273 output
="rockbox.meizu"
2274 appextra
="recorder:gui:radio"
2277 toolset
=$genericbitmaptools
2279 bootoutput
="rockboot.ebn"
2280 # architecture, manufacturer and model for the target-tree build
2282 t_manufacturer
="s5l8700"
2283 t_model
="meizu-m6sl"
2288 modelname
="meizum6sp"
2289 target
="-DMEIZU_M6SP"
2293 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2294 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2295 output
="rockbox.meizu"
2296 appextra
="recorder:gui:radio"
2299 toolset
=$genericbitmaptools
2301 bootoutput
="rockboot.ebn"
2302 # architecture, manufacturer and model for the target-tree build
2304 t_manufacturer
="s5l8700"
2305 t_model
="meizu-m6sp"
2315 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2316 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2317 output
="rockbox.meizu"
2318 appextra
="recorder:gui:radio"
2321 toolset
=$genericbitmaptools
2323 bootoutput
="rockboot.ebn"
2324 # architecture, manufacturer and model for the target-tree build
2326 t_manufacturer
="s5l8700"
2332 modelname
="ondavx747"
2333 target
="-DONDA_VX747"
2336 tool
="$rootdir/tools/scramble -add=x747"
2337 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2338 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2339 output
="rockbox.vx747"
2340 appextra
="recorder:gui:radio"
2343 toolset
=$genericbitmaptools
2344 boottool
="$rootdir/tools/scramble -ccpmp"
2345 bootoutput
="ccpmp.bin"
2346 # architecture, manufacturer and model for the target-tree build
2348 t_manufacturer
="ingenic_jz47xx"
2349 t_model
="onda_vx747"
2354 modelname
="ondavx767"
2355 target
="-DONDA_VX767"
2359 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2360 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2361 output
="rockbox.vx767"
2362 appextra
="recorder:gui:radio"
2365 toolset
=$genericbitmaptools
2366 boottool
="$rootdir/tools/scramble -ccpmp"
2367 bootoutput
="ccpmp.bin"
2368 # architecture, manufacturer and model for the target-tree build
2370 t_manufacturer
="ingenic_jz47xx"
2371 t_model
="onda_vx767"
2376 modelname
="ondavx747p"
2377 target
="-DONDA_VX747P"
2380 tool
="$rootdir/tools/scramble -add=747p"
2381 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2382 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2383 output
="rockbox.vx747p"
2384 appextra
="recorder:gui:radio"
2387 toolset
=$genericbitmaptools
2388 boottool
="$rootdir/tools/scramble -ccpmp"
2389 bootoutput
="ccpmp.bin"
2390 # architecture, manufacturer and model for the target-tree build
2392 t_manufacturer
="ingenic_jz47xx"
2393 t_model
="onda_vx747"
2398 modelname
="ondavx777"
2399 target
="-DONDA_VX777"
2402 tool
="$rootdir/tools/scramble -add=x777"
2403 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2404 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2405 output
="rockbox.vx777"
2406 appextra
="recorder:gui:radio"
2409 toolset
=$genericbitmaptools
2410 boottool
="$rootdir/tools/scramble -ccpmp"
2411 bootoutput
="ccpmp.bin"
2412 # architecture, manufacturer and model for the target-tree build
2414 t_manufacturer
="ingenic_jz47xx"
2415 t_model
="onda_vx747"
2420 modelname
="lyreproto1"
2421 target
="-DLYRE_PROTO1"
2425 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2426 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2427 output
="rockbox.lyre"
2428 appextra
="recorder:gui:radio"
2431 toolset
=$scramblebitmaptools
2433 bootoutput
="bootloader-proto1.lyre"
2434 # architecture, manufacturer and model for the target-tree build
2436 t_manufacturer
="at91sam"
2437 t_model
="lyre_proto1"
2442 modelname
="mini2440"
2446 tool
="$rootdir/tools/scramble -add=m244"
2447 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2448 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2449 output
="rockbox.mini2440"
2450 appextra
="recorder:gui:radio"
2453 toolset
=$scramblebitmaptools
2455 bootoutput
="bootloader-mini2440.lyre"
2456 # architecture, manufacturer and model for the target-tree build
2458 t_manufacturer
="s3c2440"
2464 modelname
="samsungyh820"
2465 target
="-DSAMSUNG_YH820"
2468 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2469 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2470 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2471 output
="rockbox.mi4"
2472 appextra
="recorder:gui:radio"
2475 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2476 bootoutput
="FW_YH820.mi4"
2477 # toolset is the tools within the tools directory that we build for
2478 # this particular target.
2479 toolset
=$scramblebitmaptools
2480 # architecture, manufacturer and model for the target-tree build
2482 t_manufacturer
="samsung"
2488 modelname
="samsungyh920"
2489 target
="-DSAMSUNG_YH920"
2492 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2493 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2494 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2495 output
="rockbox.mi4"
2496 appextra
="recorder:gui:radio"
2499 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2500 bootoutput
="PP5020.mi4"
2501 # toolset is the tools within the tools directory that we build for
2502 # this particular target.
2503 toolset
=$scramblebitmaptools
2504 # architecture, manufacturer and model for the target-tree build
2506 t_manufacturer
="samsung"
2512 modelname
="samsungyh925"
2513 target
="-DSAMSUNG_YH925"
2516 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2517 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2518 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2519 output
="rockbox.mi4"
2520 appextra
="recorder:gui:radio"
2523 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2524 bootoutput
="FW_YH925.mi4"
2525 # toolset is the tools within the tools directory that we build for
2526 # this particular target.
2527 toolset
=$scramblebitmaptools
2528 # architecture, manufacturer and model for the target-tree build
2530 t_manufacturer
="samsung"
2536 modelname
="samsungyps3"
2537 target
="-DSAMSUNG_YPS3"
2541 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2542 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2543 output
="rockbox.yps3"
2544 appextra
="recorder:gui:radio"
2547 toolset
=$genericbitmaptools
2549 bootoutput
="rockboot.ebn"
2550 # architecture, manufacturer and model for the target-tree build
2552 t_manufacturer
="s5l8700"
2559 target
="-DPBELL_VIBE500"
2562 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2563 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2564 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2565 output
="rockbox.mi4"
2566 appextra
="recorder:gui:radio"
2569 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2570 bootoutput
="jukebox.mi4"
2571 # toolset is the tools within the tools directory that we build for
2572 # this particular target.
2573 toolset
=$scramblebitmaptools
2574 # architecture, manufacturer and model for the target-tree build
2576 t_manufacturer
="pbell"
2582 modelname
="mpiohd200"
2583 target
="-DMPIO_HD200"
2586 tool
="$rootdir/tools/scramble -add=hd20"
2587 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2588 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2589 output
="rockbox.mpio"
2590 bootoutput
="bootloader.mpio"
2591 appextra
="recorder:gui:radio"
2594 # toolset is the tools within the tools directory that we build for
2595 # this particular target.
2596 toolset
="$genericbitmaptools"
2597 # architecture, manufacturer and model for the target-tree build
2599 t_manufacturer
="mpio"
2605 modelname
="application"
2606 target
="-DAPPLICATION"
2612 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2613 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2615 bootoutput
="bootloader-cowond2.bin"
2616 appextra
="recorder:gui:radio"
2619 # architecture, manufacturer and model for the target-tree build
2621 t_manufacturer
="sdl"
2626 echo "Please select a supported target platform!"
2632 echo "Platform set to $modelname"
2636 ############################################################################
2637 # Amount of memory, for those that can differ. They have $memory unset at
2641 if [ -z "$memory" ]; then
2644 if [ "$ARG_RAM" ]; then
2647 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2660 if [ "$ARG_RAM" ]; then
2663 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2676 echo "Memory size selected: $memory MB"
2677 [ "$ARG_TYPE" ] ||
echo ""
2681 ##################################################################
2682 # Figure out build "type"
2685 # the ifp7x0 is the only platform that supports building a gdb stub like
2689 gdbstub
="(G)DB stub, "
2691 sansae200r|sansae200
)
2692 gdbstub
="(I)nstaller, "
2695 gdbstub
="(E)raser, "
2700 if [ "$ARG_TYPE" ]; then
2703 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2709 appsdir
='\$(ROOTDIR)/bootloader'
2711 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2713 echo "e200R-installer build selected"
2716 appsdir
='\$(ROOTDIR)/bootloader'
2718 echo "C2(4)0 or C2(5)0"
2722 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2723 echo "c240 eraser build selected"
2726 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2727 echo "c240 eraser build selected"
2731 echo "c200 eraser build selected"
2734 if test $t_manufacturer = "archos"; then
2735 # Archos SH-based players do this somewhat differently for
2737 appsdir
='\$(ROOTDIR)/flash/bootbox'
2740 appsdir
='\$(ROOTDIR)/bootloader'
2743 if test -n "$boottool"; then
2746 if test -n "$bootoutput"; then
2750 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2752 echo "Bootloader build selected"
2755 if [ "$modelname" = "sansae200r" ]; then
2756 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2761 extradefines
="-DSIMULATOR"
2764 echo "Simulator build selected"
2767 echo "Advanced build selected"
2768 whichadvanced
$btype
2771 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2772 appsdir
='\$(ROOTDIR)/gdb'
2781 echo "GDB stub build selected"
2786 echo "Manual build selected"
2794 extradefines
="-DDEBUG"
2795 appsdir
='\$(ROOTDIR)/tools/checkwps';
2796 output
='checkwps.'${modelname};
2798 echo "CheckWPS build selected"
2806 appsdir
='\$(ROOTDIR)/tools/database';
2811 output
="database_${modelname}.exe"
2814 output
='database.'${modelname};
2818 echo "Database tool build selected"
2821 if [ "$modelname" = "sansae200r" ]; then
2822 echo "Do not use the e200R target for regular builds. Use e200 instead."
2826 btype
="N" # set it explicitly since RET only gets here as well
2827 echo "Normal build selected"
2831 # to be able running "make manual" from non-manual configuration
2834 manualdev
="archosfmrecorder"
2837 manualdev
="iriverh100"
2840 manualdev
="ipodmini1g"
2843 manualdev
=$modelname
2847 if [ -z "$debug" ]; then
2848 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2851 echo "Using source code root directory: $rootdir"
2853 # this was once possible to change at build-time, but no more:
2858 if [ "yes" = "$simulator" ]; then
2859 # setup compiler and things for simulator
2862 if [ -d "simdisk" ]; then
2863 echo "Subdirectory 'simdisk' already present"
2866 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2870 # Now, figure out version number of the (gcc) compiler we are about to use
2871 gccver
=`$CC -dumpversion`;
2873 # figure out the binutil version too and display it, mostly for the build
2874 # system etc to be able to see it easier
2875 if [ $uname = "Darwin" ]; then
2876 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2878 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2881 if [ -z "$gccver" ]; then
2882 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2883 echo "[WARNING] this may cause your build to fail since we cannot do the"
2884 echo "[WARNING] checks we want now."
2887 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2890 num1
=`echo $gccver | cut -d . -f1`
2891 num2
=`echo $gccver | cut -d . -f2`
2892 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2899 echo "Using $CC $gccver ($gccnum)"
2901 if test "$gccnum" -ge "400"; then
2902 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2903 # so we ignore that warnings for now
2905 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2908 if test "$gccnum" -ge "402"; then
2909 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2910 # and later would throw it for several valid cases
2911 GCCOPTS
="$GCCOPTS -Wno-override-init"
2915 ""|
"$CROSS_COMPILE")
2919 # cross-compile for win32
2922 # Verify that the cross-compiler is of a recommended version!
2923 if test "$gccver" != "$gccchoice"; then
2924 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2925 echo "WARNING: version $gccchoice!"
2926 echo "WARNING: This may cause your build to fail since it may be a version"
2927 echo "WARNING: that isn't functional or known to not be the best choice."
2928 echo "WARNING: If you suffer from build problems, you know that this is"
2929 echo "WARNING: a likely source for them..."
2937 echo "Using $LD $ldver"
2939 # check the compiler for SH platforms
2940 if test "$CC" = "sh-elf-gcc"; then
2941 if test "$gccnum" -lt "400"; then
2942 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2943 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2945 # figure out patch status
2946 gccpatch
=`$CC --version`;
2948 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2949 echo "gcc $gccver is rockbox patched"
2950 # then convert -O to -Os to get smaller binaries!
2951 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2953 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2954 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2959 if test "$CC" = "m68k-elf-gcc"; then
2960 # convert -O to -Os to get smaller binaries!
2961 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2964 if [ "$ARG_CCACHE" = "1" ]; then
2965 echo "Enable ccache for building"
2967 elif [ "$ARG_CCACHE" != "0" ]; then
2968 ccache
=`findtool ccache`
2969 if test -n "$ccache"; then
2970 echo "Found and uses ccache ($ccache)"
2974 # figure out the full path to the various commands if possible
2975 HOSTCC
=`findtool gcc --lit`
2976 HOSTAR
=`findtool ar --lit`
2977 CC
=`findtool ${CC} --lit`
2978 LD
=`findtool ${AR} --lit`
2979 AR
=`findtool ${AR} --lit`
2980 AS
=`findtool ${AS} --lit`
2981 OC
=`findtool ${OC} --lit`
2982 WINDRES
=`findtool ${WINDRES} --lit`
2983 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2984 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2985 RANLIB
=`findtool ${RANLIB} --lit`
2987 if test -n "$ccache"; then
2991 if test "$ARG_ARM_THUMB" = "1"; then
2992 extradefines
="$extradefines -DUSE_THUMB"
2993 CC
="$toolsdir/thumb-cc.py $CC"
2996 if test "X$endian" = "Xbig"; then
2997 defendian
="ROCKBOX_BIG_ENDIAN"
2999 defendian
="ROCKBOX_LITTLE_ENDIAN"
3002 if [ "$ARG_RBDIR" ]; then
3004 echo "Using alternate rockbox dir: ${rbdir}"
3008 -e "s<@ENDIAN@<${defendian}<g" \
3009 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3010 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3011 -e "s<@config_rtc@<$config_rtc<g" \
3012 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3013 -e "s<@RBDIR@<${rbdir}<g" \
3014 -e "s<@have_backlight@<$have_backlight<g" \
3015 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3016 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3018 /* This header was made by configure */
3019 #ifndef __BUILD_AUTOCONF_H
3020 #define __BUILD_AUTOCONF_H
3022 /* Define endianess for the target or simulator platform */
3025 /* Define this if you build rockbox to support the logf logging and display */
3026 #undef ROCKBOX_HAS_LOGF
3028 /* Define this to record a chart with timings for the stages of boot */
3031 /* optional define for a backlight modded Ondio */
3034 /* optional define for FM radio mod for iAudio M5 */
3037 /* optional define for ATA poweroff on Player */
3040 /* optional defines for RTC mod for h1x0 */
3044 /* root of Rockbox */
3045 #define ROCKBOX_DIR "/@RBDIR@"
3047 #endif /* __BUILD_AUTOCONF_H */
3050 if test -n "$t_cpu"; then
3051 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3052 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3053 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3054 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3056 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3057 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3061 if test "$simulator" = "yes"; then
3062 # add simul make stuff on the #SIMUL# line
3063 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3064 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3066 # delete the lines that match
3067 simmagic1
='/@SIMUL1@/D'
3068 simmagic2
='/@SIMUL2@/D'
3071 if test "$swcodec" = "yes"; then
3072 voicetoolset
="rbspeexenc voicefont wavtrim"
3074 voicetoolset
="voicefont wavtrim"
3077 if test "$apps" = "apps"; then
3078 # only when we build "real" apps we build the .lng files
3082 #### Fix the cmdline ###
3083 if [ "$ARG_CCACHE" = "1" ]; then
3085 elif [ "$ARG_CCACHE" = "0" ]; then
3086 cmdline
="--no-ccache "
3088 if [ "$ARG_ARM_EABI" = "1" ]; then
3089 cmdline
="$cmdline--eabi "
3092 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts --prefix=\$(PREFIX)"
3096 -e "s<@ROOTDIR@<${rootdir}<g" \
3097 -e "s<@DEBUG@<${debug}<g" \
3098 -e "s<@MEMORY@<${memory}<g" \
3099 -e "s<@TARGET_ID@<${target_id}<g" \
3100 -e "s<@TARGET@<${target}<g" \
3101 -e "s<@CPU@<${t_cpu}<g" \
3102 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3103 -e "s<@MODELNAME@<${modelname}<g" \
3104 -e "s<@LANGUAGE@<${language}<g" \
3105 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3106 -e "s<@PWD@<${pwd}<g" \
3107 -e "s<@HOSTCC@<${HOSTCC}<g" \
3108 -e "s<@HOSTAR@<${HOSTAR}<g" \
3109 -e "s<@CC@<${CC}<g" \
3110 -e "s<@LD@<${LD}<g" \
3111 -e "s<@AR@<${AR}<g" \
3112 -e "s<@AS@<${AS}<g" \
3113 -e "s<@OC@<${OC}<g" \
3114 -e "s<@WINDRES@<${WINDRES}<g" \
3115 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3116 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3117 -e "s<@RANLIB@<${RANLIB}<g" \
3118 -e "s<@TOOL@<${tool}<g" \
3119 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3120 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3121 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3122 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3123 -e "s<@OUTPUT@<${output}<g" \
3124 -e "s<@APPEXTRA@<${appextra}<g" \
3125 -e "s<@ARCHOSROM@<${archosrom}<g" \
3126 -e "s<@FLASHFILE@<${flash}<g" \
3127 -e "s<@PLUGINS@<${plugins}<g" \
3128 -e "s<@CODECS@<${swcodec}<g" \
3129 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3130 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3131 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3132 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3133 -e "s<@LDOPTS@<${LDOPTS}<g" \
3134 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3135 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3136 -e "s<@EXTRADEF@<${extradefines}<g" \
3137 -e "s<@APPSDIR@<${appsdir}<g" \
3138 -e "s<@FIRMDIR@<${firmdir}<g" \
3139 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3140 -e "s<@APPS@<${apps}<g" \
3141 -e "s<@APP_TYPE@<${app_type}<g" \
3142 -e "s<@GCCVER@<${gccver}<g" \
3143 -e "s<@GCCNUM@<${gccnum}<g" \
3144 -e "s<@UNAME@<${uname}<g" \
3145 -e "s<@ENDIAN@<${defendian}<g" \
3146 -e "s<@TOOLSET@<${toolset}<g" \
3149 -e "s<@MANUALDEV@<${manualdev}<g" \
3150 -e "s<@ENCODER@<${ENC_CMD}<g" \
3151 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3152 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3153 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3154 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3155 -e "s<@LANGS@<${buildlangs}<g" \
3156 -e "s<@USE_ELF@<${USE_ELF}<g" \
3157 -e "s<@RBDIR@<${rbdir}<g" \
3158 -e "s<@PREFIX@<$PREFIX<g" \
3159 -e "s<@CMDLINE@<$cmdline<g" \
3160 -e "s<@SDLCONFIG@<$sdl<g" \
3162 ## Automatically generated. http://www.rockbox.org/
3164 export ROOTDIR=@ROOTDIR@
3165 export FIRMDIR=@FIRMDIR@
3166 export APPSDIR=@APPSDIR@
3167 export TOOLSDIR=@TOOLSDIR@
3168 export DOCSDIR=\$(ROOTDIR)/docs
3169 export MANUALDIR=\${ROOTDIR}/manual
3170 export DEBUG=@DEBUG@
3171 export MODELNAME=@MODELNAME@
3172 export ARCHOSROM=@ARCHOSROM@
3173 export FLASHFILE=@FLASHFILE@
3174 export TARGET_ID=@TARGET_ID@
3175 export TARGET=@TARGET@
3177 export MANUFACTURER=@MANUFACTURER@
3179 export BUILDDIR=@PWD@
3180 export LANGUAGE=@LANGUAGE@
3181 export VOICELANGUAGE=@VOICELANGUAGE@
3182 export MEMORYSIZE=@MEMORY@
3183 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3184 export MKFIRMWARE=@TOOL@
3185 export BMP2RB_MONO=@BMP2RB_MONO@
3186 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3187 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3188 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3189 export BINARY=@OUTPUT@
3190 export APPEXTRA=@APPEXTRA@
3191 export ENABLEDPLUGINS=@PLUGINS@
3192 export SOFTWARECODECS=@CODECS@
3193 export EXTRA_DEFINES=@EXTRADEF@
3194 export HOSTCC=@HOSTCC@
3195 export HOSTAR=@HOSTAR@
3201 export WINDRES=@WINDRES@
3202 export DLLTOOL=@DLLTOOL@
3203 export DLLWRAP=@DLLWRAP@
3204 export RANLIB=@RANLIB@
3205 export PREFIX=@PREFIX@
3206 export PROFILE_OPTS=@PROFILE_OPTS@
3207 export APP_TYPE=@APP_TYPE@
3208 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3209 export GCCOPTS=@GCCOPTS@
3210 export TARGET_INC=@TARGET_INC@
3211 export LOADADDRESS=@LOADADDRESS@
3212 export SHARED_FLAG=@SHARED_FLAG@
3213 export LDOPTS=@LDOPTS@
3214 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3215 export GCCVER=@GCCVER@
3216 export GCCNUM=@GCCNUM@
3217 export UNAME=@UNAME@
3218 export MANUALDEV=@MANUALDEV@
3219 export TTS_OPTS=@TTS_OPTS@
3220 export TTS_ENGINE=@TTS_ENGINE@
3221 export ENC_OPTS=@ENC_OPTS@
3222 export ENCODER=@ENCODER@
3223 export USE_ELF=@USE_ELF@
3224 export RBDIR=@RBDIR@
3225 export SDLCONFIG=@SDLCONFIG@
3227 CONFIGURE_OPTIONS=@CMDLINE@
3229 include \$(TOOLSDIR)/root.make
3233 echo "Created Makefile"