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"
16 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
21 # Begin Function Definitions
31 WINDRES
=${prefix}windres
32 DLLTOOL
=${prefix}dlltool
33 DLLWRAP
=${prefix}dllwrap
34 RANLIB
=${prefix}ranlib
41 # scan the $PATH for the given command
48 # echo "checks for $file in $path" >&2
49 if test -f "$path/$file"; then
54 # check whether caller wants literal return value if not found
55 if [ "$2" = "--lit" ]; then
60 # scan the $PATH for sdl-config - if crosscompiling, require that it is
61 # a mingw32 sdl-config
68 #echo "checks for $file in $path" >&2
69 if test -f "$path/$file"; then
70 if [ "yes" = "${crosscompile}" ]; then
71 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
85 # default tool setup for native building
89 GCCOPTS
='-W -Wall -g -fno-builtin'
92 output
="rockboxui" # use this as default output binary name
97 if [ $1 = "sdl" ]; then
98 if [ -z "$sdl" ]; then
99 echo "configure didn't find sdl-config, which indicates that you"
100 echo "don't have SDL (properly) installed. Please correct and"
101 echo "re-run configure!"
104 # generic sdl-config checker
105 sdl_cflags
=`$sdl --cflags`
106 sdl_libs
=`$sdl --libs`
110 # default share option, override below if needed
111 SHARED_FLAG
="-shared"
115 echo "Cygwin host detected"
118 GCCOPTS
="$GCCOPTS $sdl_cflags"
119 LDOPTS
="-mconsole $sdl_libs"
121 output
="rockboxui.exe" # use this as output binary name
125 echo "MinGW host detected"
128 GCCOPTS
="$GCCOPTS $sdl_cflags"
129 LDOPTS
="-mconsole $sdl_libs"
131 output
="rockboxui.exe" # use this as output binary name
135 echo "Linux host detected"
136 GCCOPTS
="$GCCOPTS $sdl_cflags"
141 echo "FreeBSD host detected"
143 GCCOPTS
="$GCCOPTS $sdl_cflags"
148 echo "Darwin host detected"
150 GCCOPTS
="$GCCOPTS $sdl_cflags"
152 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
156 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
161 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
163 if test "X$crosscompile" != "Xyes"; then
164 if [ "`uname -m`" = "x86_64" ] ||
[ "`uname -m`" = "amd64" ]; then
165 # fPIC is needed to make shared objects link
166 # setting visibility to hidden is necessary to avoid strange crashes
167 # due to symbol clashing
168 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
172 cat >$tmpdir/conftest-
$id.c
<<EOF
174 int main(int argc, char **argv)
177 char *varp = (char *)&var;
185 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
187 if test `$tmpdir/conftest-$id 2>/dev/null` -gt "1"; then
195 if [ $1 = "sdl" ]; then
196 echo "Simulator environment deemed $endian endian"
197 elif [ $1 = "checkwps" ]; then
198 echo "CheckWPS environment deemed $endian endian"
201 # use wildcard here to make it work even if it was named *.exe like
203 rm -f $tmpdir/conftest-
$id*
205 # We are crosscompiling
206 # add cross-compiler option(s)
207 prefixtools i586-mingw32msvc-
208 LDOPTS
="-mconsole $sdl_libs"
209 output
="rockboxui.exe" # use this as output binary name
210 endian
="little" # windows is little endian
215 # functions for setting up cross-compiler names and options
216 # also set endianess and what the exact recommended gcc version is
217 # the gcc version should most likely match what versions we build with
222 GCCOPTS
="$CCOPTS -m1"
223 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
229 prefixtools calmrisc16-unknown-elf-
230 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
231 GCCOPTIMIZE
="-fomit-frame-pointer"
236 prefixtools m68k-elf-
237 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
238 GCCOPTIMIZE
="-fomit-frame-pointer"
245 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
246 if test "X$1" != "Xshort"; then
247 GCCOPTS
="$GCCOPTS -mlong-calls"
249 GCCOPTIMIZE
="-fomit-frame-pointer"
256 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
257 if test "$modelname" != "gigabeatf" -a "$t_manufacturer" != "as3525"; then
258 GCCOPTS
="$GCCOPTS -mlong-calls"
260 GCCOPTIMIZE
="-fomit-frame-pointer"
267 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t -mlong-calls"
268 GCCOPTIMIZE
="-fomit-frame-pointer"
275 GCCOPTS
="$CCOPTS -mcpu=arm940t -mlong-calls"
276 GCCOPTIMIZE
="-fomit-frame-pointer"
283 GCCOPTS
="$CCOPTS -mcpu=arm9e -mlong-calls"
284 GCCOPTIMIZE
="-fomit-frame-pointer"
291 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s -mlong-calls"
292 GCCOPTIMIZE
="-fomit-frame-pointer"
299 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
300 if test "$modelname" != "gigabeats"; then
301 GCCOPTS
="$GCCOPTS -mlong-calls"
303 GCCOPTIMIZE
="-fomit-frame-pointer"
310 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s -mlong-calls"
311 GCCOPTIMIZE
="-fomit-frame-pointer"
317 prefixtools mipsel-elf-
318 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
319 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
320 GCCOPTIMIZE
="-fomit-frame-pointer"
326 atype
=`echo "$1" | cut -c 2-`
327 ##################################################################
328 # Prompt for specific developer options
330 if [ "$atype" ]; then
335 echo "Enter your developer options (press enter when done)"
336 printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile"
337 if [ "$memory" = "2" ]; then
340 if [ "$modelname" = "player" ]; then
341 printf ", Use (A)TA poweroff"
343 if [ "$t_model" = "ondio" ]; then
344 printf ", (B)acklight MOD"
346 if [ "$modelname" = "m5" ]; then
347 printf ", (F)M radio MOD"
349 if [ "$modelname" = "h120" ]; then
356 while [ $cont = "1" ]; do
358 if [ "$interact" ]; then
361 option
=`echo "$atype" | cut -c 1`
366 if [ "yes" = "$profile" ]; then
367 echo "Debug is incompatible with profiling"
369 echo "DEBUG build enabled"
374 echo "logf() support enabled"
378 echo "Simulator build enabled"
382 if [ "yes" = "$use_debug" ]; then
383 echo "Profiling is incompatible with debug"
385 echo "Profiling support is enabled"
390 echo "Voice build selected"
394 if [ "$memory" = "2" ]; then
396 echo "Memory size selected: 8MB"
400 if [ "$modelname" = "player" ]; then
401 have_ata_poweroff
="#define HAVE_ATA_POWEROFF"
402 echo "ATA poweroff enabled"
406 if [ "$t_model" = "ondio" ]; then
407 have_backlight
="#define HAVE_BACKLIGHT"
408 echo "Backlight functions enabled"
412 if [ "$modelname" = "m5" ]; then
413 have_fmradio_in
="#define HAVE_FMRADIO_IN"
414 echo "FM radio functions enabled"
418 if [ "$modelname" = "h120" ]; then
419 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
420 have_rtc_alarm
="#define HAVE_RTC_ALARM"
421 echo "RTC functions enabled (DS1339/DS3231)"
425 echo "Enabling Windows 32 cross-compiling"
429 if [ "$interact" ]; then
432 echo "[ERROR] Option $option unsupported"
436 if [ ! "$interact" ]; then
437 atype
=`echo "$atype" | cut -c 2-`
438 [ "$atype" ] || cont
=0
443 if [ "yes" = "$voice" ]; then
444 # Ask about languages to build
446 voicelanguage
=`whichlang`
447 echo "Voice language set to $voicelanguage"
449 # Configure encoder and TTS engine for each language
450 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
451 voiceconfig
"$thislang"
454 if [ "yes" = "$use_debug" ]; then
456 GCCOPTS
="$GCCOPTS -g -DDEBUG"
458 if [ "yes" = "$logf" ]; then
459 use_logf
="#define ROCKBOX_HAS_LOGF 1"
461 if [ "yes" = "$simulator" ]; then
463 extradefines
="$extradefines -DSIMULATOR"
467 if [ "yes" = "$profile" ]; then
468 extradefines
="$extradefines -DRB_PROFILE"
469 PROFILE_OPTS
="-finstrument-functions"
473 # Configure voice settings
476 if [ ! "$ARG_TTS" ]; then
477 echo "Building $thislang voice for $modelname. Select options"
481 if [ -n "`findtool flite`" ]; then
485 DEFAULT_TTS_OPTS
=$FLITE_OPTS
486 DEFAULT_NOISEFLOOR
="500"
489 if [ -n "`findtool espeak`" ]; then
493 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
494 DEFAULT_NOISEFLOOR
="500"
497 if [ -n "`findtool festival`" ]; then
498 FESTIVAL
="(F)estival "
501 FESTIVAL_OPTS
="--language italian"
504 FESTIVAL_OPTS
="--language spanish"
507 FESTIVAL_OPTS
="--language finnish"
510 FESTIVAL_OPTS
="--language czech"
516 DEFAULT_TTS
="festival"
517 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
518 DEFAULT_NOISEFLOOR
="500"
521 if [ -n "`findtool swift`" ]; then
525 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
526 DEFAULT_NOISEFLOOR
="500"
529 # Allow SAPI if Windows is in use
530 if [ -n "`findtool winver`" ]; then
534 DEFAULT_TTS_OPTS
=$SAPI_OPTS
535 DEFAULT_NOISEFLOOR
="500"
539 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
540 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
544 if [ "$ARG_TTS" ]; then
547 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
550 advopts
="$advopts --tts=$option"
554 NOISEFLOOR
="500" # TODO: check this value
560 TTS_OPTS
=$ESPEAK_OPTS
563 TTS_ENGINE
="festival"
565 TTS_OPTS
=$FESTIVAL_OPTS
578 TTS_ENGINE
=$DEFAULT_TTS
579 TTS_OPTS
=$DEFAULT_TTS_OPTS
580 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
582 echo "Using $TTS_ENGINE for TTS"
584 # Select which voice to use for Festival
585 if [ "$TTS_ENGINE" = "festival" ]; then
586 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
587 for voice
in $voicelist; do
588 TTS_FESTIVAL_VOICE
="$voice" # Default choice
591 if [ "$ARG_VOICE" ]; then
595 for voice
in $voicelist; do
596 printf "%3d. %s\n" "$i" "$voice"
599 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
603 for voice
in $voicelist; do
604 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
605 TTS_FESTIVAL_VOICE
="$voice"
609 advopts
="$advopts --voice=$CHOICE"
610 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
611 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
614 # Allow the user to input manual commandline options
615 if [ "$ARG_TTSOPTS" ]; then
616 USER_TTS_OPTS
=$ARG_TTSOPTS
618 printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
619 USER_TTS_OPTS
=`input`
622 advopts
="$advopts --ttsopts='$USER_TTS_OPTS'"
623 if [ -n "$USER_TTS_OPTS" ]; then
624 TTS_OPTS
="$USER_TTS_OPTS"
626 echo "$TTS_ENGINE options set to $TTS_OPTS"
628 if [ "$swcodec" = "yes" ]; then
631 ENC_OPTS
="-q 4 -c 10"
633 if [ -n "`findtool lame`" ]; then
636 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
638 echo "You need LAME in the system path to build voice files for"
639 echo "HWCODEC targets."
644 echo "Using $ENCODER for encoding voice clips"
646 # Allow the user to input manual commandline options
647 if [ "$ARG_ENCOPTS" ]; then
648 USER_ENC_OPTS
=$ARG_ENCOPTS
650 printf "Enter $ENCODER options (enter for defaults \"$ENC_OPTS\"): "
651 USER_ENC_OPTS
=`input`
653 advopts
="$advopts --encopts='$USER_ENC_OPTS'"
654 if [ -n "$USER_ENC_OPTS" ]; then
655 ENC_OPTS
=$USER_ENC_OPTS
657 echo "$ENCODER options set to $ENC_OPTS"
660 if [ -n "`findtool cygpath`" ]; then
661 TEMPDIR
=`cygpath . -a -w`
666 # figure out which languages that are around
667 for file in $rootdir/apps
/lang
/*.lang
; do
668 clean
=`basename $file .lang`
669 langs
="$langs $clean"
672 if [ "$ARG_LANG" ]; then
675 echo "Select a number for the language to use (default is english)"
676 # FIXME The multiple-language feature is currently broken
677 # echo "You may enter a comma-separated list of languages to build"
680 for one
in $langs; do
686 advopts
="$advopts --language=$pick"
691 # Allow the user to pass a comma-separated list of langauges
692 for thispick
in `echo $pick | sed 's/,/ /g'`; do
694 for one
in $langs; do
695 # Accept both the language number and name
696 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
697 if [ "$output" = "" ]; then
706 if [ -z "$output" ]; then
714 echo "Rockbox configure script."
715 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
716 echo "Do *NOT* run this within the tools directory!"
719 Usage: configure [OPTION]...
721 --target=TARGET Sets the target, TARGET can be either the target ID or
722 corresponding string. Run without this option to see all
725 --ram=RAM Sets the RAM for certain targets. Even though any number
726 is accepted, not every number is correct. The default
727 value will be applied, if you entered a wrong number
728 (which depends on the target). Watch the output. Run
729 without this option if you are not sure which the right
732 --type=TYPE Sets the build type. Shortcuts are also valid.
733 Run without this option to see all available types.
734 Multiple values are allowed and managed in the input
735 order. So --type=b stands for Bootloader build, while
736 --type=ab stands for "Backlight MOD" build.
738 --language=LANG Set the language used for voice generation (used only if
741 --tts=ENGINE Set the TTS engine used for voice generation (used only
744 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
747 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
749 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
751 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
752 This is useful for having multiple alternate builds on
753 your device that you can load with ROLO. However as the
754 bootloader looks for .rockbox you won't be able to boot
757 --ccache Enable ccache use (done by default these days)
758 --no-ccache Disable ccache use
759 --help Shows this message (must not be used with other options)
779 --ccache) ARG_CCACHE
=1;;
780 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
781 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
782 --no-ccache) ARG_CCACHE
=0;;
783 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
784 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
785 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
786 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
787 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
788 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
789 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
791 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
798 if [ "$TMPDIR" != "" ]; then
803 echo Using temporary directory
$tmpdir
805 if test -r "configure"; then
806 # this is a check for a configure script in the current directory, it there
807 # is one, try to figure out if it is this one!
809 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
810 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
811 echo "It will only cause you pain and grief. Instead do this:"
814 echo " mkdir build-dir"
816 echo " ../tools/configure"
818 echo "Much happiness will arise from this. Enjoy"
823 # get our current directory
826 if { echo $pwd |
grep " "; } then
827 echo "You're running this script in a path that contains space. The build"
828 echo "system is unfortunately not clever enough to deal with this. Please"
829 echo "run the script from a different path, rename the path or fix the build"
834 if [ -z "$rootdir" ]; then
835 ##################################################################
836 # Figure out where the source code root is!
838 rootdir
=`dirname $0`/..
/
840 #####################################################################
841 # Convert the possibly relative directory name to an absolute version
847 # cd back to the build dir
852 appsdir
='\$(ROOTDIR)/apps'
853 firmdir
='\$(ROOTDIR)/firmware'
854 toolsdir
='\$(ROOTDIR)/tools'
857 ##################################################################
858 # Figure out target platform
861 if [ "$ARG_TARGET" ]; then
864 echo "Enter target platform:"
866 ==Archos== ==iriver== ==Apple iPod==
867 0) Player/Studio 10) H120/H140 20) Color/Photo
868 1) Recorder 11) H320/H340 21) Nano
869 2) FM Recorder 12) iHP-100/110/115 22) Video
870 3) Recorder v2 13) iFP-790 23) 3G
871 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
872 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
874 ==Toshiba== 27) 1G, 2G
875 ==Cowon/iAudio== 40) Gigabeat F 28) Nano 2G
876 30) X5/X5V/X5L 41) Gigabeat S
877 31) M5/M5L ==SanDisk==
878 32) 7 ==Olympus= 50) Sansa e200
879 33) D2 70) M:Robe 500 51) Sansa e200R
880 34) M3/M3L 71) M:Robe 100 52) Sansa c200
882 ==Creative== ==Philips== 54) Sansa c100
883 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
884 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
885 92) Zen Vision HDD1830 57) Sansa m200v4
887 ==Onda== ==Meizu== 59) Sansa c200v2
888 120) VX747 110) M6SL 60) Sansa Clipv2
889 121) VX767 111) M6SP 61) Sansa View
893 ==Samsung== ==Tatung==
894 140) YH-820 150) Elio TPJ-1022 ==Lyre project==
895 141) YH-920 130) Lyre proto 1
896 142) YH-925 131) Mini2440
903 # Set of tools built for all target platforms:
904 toolset
="rdf2binary convbdf codepages"
906 # Toolsets for some target families:
907 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
908 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
909 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
910 ipodbitmaptools
="$toolset scramble bmp2rb"
911 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
912 tccbitmaptools
="$toolset scramble bmp2rb"
913 # generic is used by IFP, Meizu and Onda
914 genericbitmaptools
="$toolset bmp2rb"
915 # scramble is used by all other targets
916 scramblebitmaptools
="$genericbitmaptools scramble"
919 # ---- For each target ----
922 # target_id: a unique number identifying this target, IS NOT the menu number.
923 # Just use the currently highest number+1 when you add a new
925 # modelname: short model name used all over to identify this target
926 # memory: number of megabytes of RAM this target has. If the amount can
927 # be selected by the size prompt, let memory be unset here
928 # target: -Ddefine passed to the build commands to make the correct
929 # config-*.h file get included etc
930 # tool: the tool that takes a plain binary and converts that into a
931 # working "firmware" file for your target
932 # output: the final output file name
933 # boottool: the tool that takes a plain binary and generates a bootloader
934 # file for your target (or blank to use $tool)
935 # bootoutput:the final output file name for the bootloader (or blank to use
937 # appextra: passed to the APPEXTRA variable in the Makefiles.
938 # TODO: add proper explanation
939 # archosrom: used only for Archos targets that build a special flashable .ucl
941 # flash: name of output for flashing, for targets where there's a special
942 # file output for this.
943 # plugins: set to 'yes' to build the plugins. Early development builds can
944 # set this to no in the early stages to have an easier life for a
946 # swcodec: set 'yes' on swcodec targets
947 # toolset: lists what particular tools in the tools/ directory that this
948 # target needs to have built prior to building Rockbox
951 # *cc: sets up gcc and compiler options for your target builds. Note
952 # that if you select a simulator build, the compiler selection is
953 # overridden later in the script.
960 target
="-DARCHOS_PLAYER"
962 tool
="$rootdir/tools/scramble"
964 appextra
="player:gui"
965 archosrom
="$pwd/rombox.ucl"
966 flash
="$pwd/rockbox.ucl"
970 # toolset is the tools within the tools directory that we build for
971 # this particular target.
972 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
974 # Note: the convbdf is present in the toolset just because: 1) the
975 # firmware/Makefile assumes it is present always, and 2) we will need it when we
976 # build the player simulator
979 t_manufacturer
="archos"
986 target
="-DARCHOS_RECORDER"
988 tool
="$rootdir/tools/scramble"
989 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
990 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
992 appextra
="recorder:gui"
993 #archosrom="$pwd/rombox.ucl"
994 flash
="$pwd/rockbox.ucl"
997 # toolset is the tools within the tools directory that we build for
998 # this particular target.
999 toolset
=$archosbitmaptools
1001 t_manufacturer
="archos"
1007 modelname
="fmrecorder"
1008 target
="-DARCHOS_FMRECORDER"
1010 tool
="$rootdir/tools/scramble -fm"
1011 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1012 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1014 appextra
="recorder:gui"
1015 #archosrom="$pwd/rombox.ucl"
1016 flash
="$pwd/rockbox.ucl"
1019 # toolset is the tools within the tools directory that we build for
1020 # this particular target.
1021 toolset
=$archosbitmaptools
1023 t_manufacturer
="archos"
1029 modelname
="recorderv2"
1030 target
="-DARCHOS_RECORDERV2"
1032 tool
="$rootdir/tools/scramble -v2"
1033 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1034 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1036 appextra
="recorder:gui"
1037 #archosrom="$pwd/rombox.ucl"
1038 flash
="$pwd/rockbox.ucl"
1041 # toolset is the tools within the tools directory that we build for
1042 # this particular target.
1043 toolset
=$archosbitmaptools
1045 t_manufacturer
="archos"
1052 target
="-DARCHOS_ONDIOSP"
1054 tool
="$rootdir/tools/scramble -osp"
1055 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1056 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1058 appextra
="recorder:gui"
1059 archosrom
="$pwd/rombox.ucl"
1060 flash
="$pwd/rockbox.ucl"
1063 # toolset is the tools within the tools directory that we build for
1064 # this particular target.
1065 toolset
=$archosbitmaptools
1067 t_manufacturer
="archos"
1074 target
="-DARCHOS_ONDIOFM"
1076 tool
="$rootdir/tools/scramble -ofm"
1077 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1078 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1080 appextra
="recorder:gui"
1081 #archosrom="$pwd/rombox.ucl"
1082 flash
="$pwd/rockbox.ucl"
1085 toolset
=$archosbitmaptools
1087 t_manufacturer
="archos"
1094 target
="-DARCHOS_AV300"
1097 tool
="$rootdir/tools/scramble -mm=C"
1098 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1099 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1101 appextra
="recorder:gui"
1104 # toolset is the tools within the tools directory that we build for
1105 # this particular target.
1106 toolset
="$toolset scramble descramble bmp2rb"
1107 # architecture, manufacturer and model for the target-tree build
1109 t_manufacturer
="archos"
1116 target
="-DIRIVER_H120"
1119 tool
="$rootdir/tools/scramble -add=h120"
1120 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1121 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1122 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1123 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1124 output
="rockbox.iriver"
1125 bootoutput
="bootloader.iriver"
1126 appextra
="recorder:gui"
1127 flash
="$pwd/rombox.iriver"
1130 # toolset is the tools within the tools directory that we build for
1131 # this particular target.
1132 toolset
=$iriverbitmaptools
1134 t_manufacturer
="iriver"
1141 target
="-DIRIVER_H300"
1144 tool
="$rootdir/tools/scramble -add=h300"
1145 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1146 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1147 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1148 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1149 output
="rockbox.iriver"
1150 appextra
="recorder:gui"
1153 # toolset is the tools within the tools directory that we build for
1154 # this particular target.
1155 toolset
=$iriverbitmaptools
1157 t_manufacturer
="iriver"
1164 target
="-DIRIVER_H100"
1167 tool
="$rootdir/tools/scramble -add=h100"
1168 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1169 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1170 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1171 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1172 output
="rockbox.iriver"
1173 bootoutput
="bootloader.iriver"
1174 appextra
="recorder:gui"
1175 flash
="$pwd/rombox.iriver"
1178 # toolset is the tools within the tools directory that we build for
1179 # this particular target.
1180 toolset
=$iriverbitmaptools
1182 t_manufacturer
="iriver"
1189 target
="-DIRIVER_IFP7XX"
1193 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1194 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1195 output
="rockbox.wma"
1196 appextra
="recorder:gui"
1199 # toolset is the tools within the tools directory that we build for
1200 # this particular target.
1201 toolset
=$genericbitmaptools
1203 t_manufacturer
="pnx0101"
1204 t_model
="iriver-ifp7xx"
1210 target
="-DIRIVER_H10"
1213 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1214 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1215 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1216 output
="rockbox.mi4"
1217 appextra
="recorder:gui"
1220 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1221 bootoutput
="H10_20GC.mi4"
1222 # toolset is the tools within the tools directory that we build for
1223 # this particular target.
1224 toolset
=$scramblebitmaptools
1225 # architecture, manufacturer and model for the target-tree build
1227 t_manufacturer
="iriver"
1234 target
="-DIRIVER_H10_5GB"
1237 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1238 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1239 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1240 output
="rockbox.mi4"
1241 appextra
="recorder:gui"
1244 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1245 bootoutput
="H10.mi4"
1246 # toolset is the tools within the tools directory that we build for
1247 # this particular target.
1248 toolset
=$scramblebitmaptools
1249 # architecture, manufacturer and model for the target-tree build
1251 t_manufacturer
="iriver"
1257 modelname
="ipodcolor"
1258 target
="-DIPOD_COLOR"
1261 tool
="$rootdir/tools/scramble -add=ipco"
1262 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1263 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1264 output
="rockbox.ipod"
1265 appextra
="recorder:gui"
1268 bootoutput
="bootloader-$modelname.ipod"
1269 # toolset is the tools within the tools directory that we build for
1270 # this particular target.
1271 toolset
=$ipodbitmaptools
1272 # architecture, manufacturer and model for the target-tree build
1274 t_manufacturer
="ipod"
1280 modelname
="ipodnano"
1281 target
="-DIPOD_NANO"
1284 tool
="$rootdir/tools/scramble -add=nano"
1285 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1286 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1287 output
="rockbox.ipod"
1288 appextra
="recorder:gui"
1291 bootoutput
="bootloader-$modelname.ipod"
1292 # toolset is the tools within the tools directory that we build for
1293 # this particular target.
1294 toolset
=$ipodbitmaptools
1295 # architecture, manufacturer and model for the target-tree build
1297 t_manufacturer
="ipod"
1303 modelname
="ipodvideo"
1304 target
="-DIPOD_VIDEO"
1306 tool
="$rootdir/tools/scramble -add=ipvd"
1307 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1308 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1309 output
="rockbox.ipod"
1310 appextra
="recorder:gui"
1313 bootoutput
="bootloader-$modelname.ipod"
1314 # toolset is the tools within the tools directory that we build for
1315 # this particular target.
1316 toolset
=$ipodbitmaptools
1317 # architecture, manufacturer and model for the target-tree build
1319 t_manufacturer
="ipod"
1329 tool
="$rootdir/tools/scramble -add=ip3g"
1330 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1331 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1332 output
="rockbox.ipod"
1333 appextra
="recorder:gui"
1336 bootoutput
="bootloader-$modelname.ipod"
1337 # toolset is the tools within the tools directory that we build for
1338 # this particular target.
1339 toolset
=$ipodbitmaptools
1340 # architecture, manufacturer and model for the target-tree build
1342 t_manufacturer
="ipod"
1352 tool
="$rootdir/tools/scramble -add=ip4g"
1353 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1354 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1355 output
="rockbox.ipod"
1356 appextra
="recorder:gui"
1359 bootoutput
="bootloader-$modelname.ipod"
1360 # toolset is the tools within the tools directory that we build for
1361 # this particular target.
1362 toolset
=$ipodbitmaptools
1363 # architecture, manufacturer and model for the target-tree build
1365 t_manufacturer
="ipod"
1371 modelname
="ipodmini"
1372 target
="-DIPOD_MINI"
1375 tool
="$rootdir/tools/scramble -add=mini"
1376 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1377 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1378 output
="rockbox.ipod"
1379 appextra
="recorder:gui"
1382 bootoutput
="bootloader-$modelname.ipod"
1383 # toolset is the tools within the tools directory that we build for
1384 # this particular target.
1385 toolset
=$ipodbitmaptools
1386 # architecture, manufacturer and model for the target-tree build
1388 t_manufacturer
="ipod"
1394 modelname
="ipodmini2g"
1395 target
="-DIPOD_MINI2G"
1398 tool
="$rootdir/tools/scramble -add=mn2g"
1399 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1400 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1401 output
="rockbox.ipod"
1402 appextra
="recorder:gui"
1405 bootoutput
="bootloader-$modelname.ipod"
1406 # toolset is the tools within the tools directory that we build for
1407 # this particular target.
1408 toolset
=$ipodbitmaptools
1409 # architecture, manufacturer and model for the target-tree build
1411 t_manufacturer
="ipod"
1417 modelname
="ipod1g2g"
1418 target
="-DIPOD_1G2G"
1421 tool
="$rootdir/tools/scramble -add=1g2g"
1422 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1423 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1424 output
="rockbox.ipod"
1425 appextra
="recorder:gui"
1428 bootoutput
="bootloader-$modelname.ipod"
1429 # toolset is the tools within the tools directory that we build for
1430 # this particular target.
1431 toolset
=$ipodbitmaptools
1432 # architecture, manufacturer and model for the target-tree build
1434 t_manufacturer
="ipod"
1440 modelname
="ipodnano2g"
1441 target
="-DIPOD_NANO2G"
1444 tool
="$rootdir/tools/scramble -add=nn2g"
1445 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1446 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1447 output
="rockbox.ipod"
1448 appextra
="recorder:gui"
1451 bootoutput
="bootloader-$modelname.ipod"
1452 # toolset is the tools within the tools directory that we build for
1453 # this particular target.
1454 toolset
=$ipodbitmaptools
1455 # architecture, manufacturer and model for the target-tree build
1457 t_manufacturer
="s5l8700"
1458 t_model
="ipodnano2g"
1464 target
="-DIAUDIO_X5"
1467 tool
="$rootdir/tools/scramble -add=iax5"
1468 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1469 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1470 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1471 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1472 output
="rockbox.iaudio"
1473 appextra
="recorder:gui"
1476 # toolset is the tools within the tools directory that we build for
1477 # this particular target.
1478 toolset
="$iaudiobitmaptools"
1479 # architecture, manufacturer and model for the target-tree build
1481 t_manufacturer
="iaudio"
1488 target
="-DIAUDIO_M5"
1491 tool
="$rootdir/tools/scramble -add=iam5"
1492 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1493 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1494 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1495 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1496 output
="rockbox.iaudio"
1497 appextra
="recorder:gui"
1500 # toolset is the tools within the tools directory that we build for
1501 # this particular target.
1502 toolset
="$iaudiobitmaptools"
1503 # architecture, manufacturer and model for the target-tree build
1505 t_manufacturer
="iaudio"
1515 tool
="$rootdir/tools/scramble -add=i7"
1516 boottool
="$rootdir/tools/scramble -tcc=crc"
1517 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1518 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1519 output
="rockbox.iaudio"
1520 appextra
="recorder:gui"
1523 bootoutput
="I7_FW.BIN"
1524 # toolset is the tools within the tools directory that we build for
1525 # this particular target.
1526 toolset
="$tccbitmaptools"
1527 # architecture, manufacturer and model for the target-tree build
1529 t_manufacturer
="tcc77x"
1539 tool
="$rootdir/tools/scramble -add=d2"
1541 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1542 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1544 bootoutput
="bootloader-cowond2.bin"
1545 appextra
="recorder:gui"
1548 toolset
="$tccbitmaptools"
1549 # architecture, manufacturer and model for the target-tree build
1551 t_manufacturer
="tcc780x"
1558 target
="-DIAUDIO_M3"
1561 tool
="$rootdir/tools/scramble -add=iam3"
1562 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1563 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1564 output
="rockbox.iaudio"
1565 appextra
="recorder:gui"
1568 # toolset is the tools within the tools directory that we build for
1569 # this particular target.
1570 toolset
="$iaudiobitmaptools"
1571 # architecture, manufacturer and model for the target-tree build
1573 t_manufacturer
="iaudio"
1579 modelname
="gigabeatf"
1580 target
="-DGIGABEAT_F"
1583 tool
="$rootdir/tools/scramble -add=giga"
1584 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1585 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1586 output
="rockbox.gigabeat"
1587 appextra
="recorder:gui"
1590 toolset
=$gigabeatbitmaptools
1591 boottool
="$rootdir/tools/scramble -gigabeat"
1592 bootoutput
="FWIMG01.DAT"
1593 # architecture, manufacturer and model for the target-tree build
1595 t_manufacturer
="s3c2440"
1596 t_model
="gigabeat-fx"
1601 modelname
="gigabeats"
1602 target
="-DGIGABEAT_S"
1605 tool
="$rootdir/tools/scramble -add=gigs"
1606 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1607 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1608 output
="rockbox.gigabeat"
1609 appextra
="recorder:gui"
1612 toolset
="$gigabeatbitmaptools"
1613 boottool
="$rootdir/tools/scramble -gigabeats"
1615 # architecture, manufacturer and model for the target-tree build
1617 t_manufacturer
="imx31"
1618 t_model
="gigabeat-s"
1623 modelname
="mrobe500"
1624 target
="-DMROBE_500"
1627 tool
="$rootdir/tools/scramble -add=m500"
1628 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1629 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1630 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1631 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1632 output
="rockbox.mrobe500"
1633 appextra
="recorder:gui"
1636 toolset
=$gigabeatbitmaptools
1638 bootoutput
="rockbox.mrboot"
1639 # architecture, manufacturer and model for the target-tree build
1641 t_manufacturer
="tms320dm320"
1647 modelname
="mrobe100"
1648 target
="-DMROBE_100"
1651 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1652 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1653 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1654 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1655 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1656 output
="rockbox.mi4"
1657 appextra
="recorder:gui"
1660 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1661 bootoutput
="pp5020.mi4"
1662 # toolset is the tools within the tools directory that we build for
1663 # this particular target.
1664 toolset
=$scramblebitmaptools
1665 # architecture, manufacturer and model for the target-tree build
1667 t_manufacturer
="olympus"
1673 modelname
="logikdax"
1674 target
="-DLOGIK_DAX"
1677 tool
="$rootdir/tools/scramble -add=ldax"
1678 boottool
="$rootdir/tools/scramble -tcc=crc"
1679 bootoutput
="player.rom"
1680 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1681 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1682 output
="rockbox.logik"
1683 appextra
="recorder:gui"
1686 # toolset is the tools within the tools directory that we build for
1687 # this particular target.
1688 toolset
=$tccbitmaptools
1689 # architecture, manufacturer and model for the target-tree build
1691 t_manufacturer
="tcc77x"
1697 modelname
="creativezvm30gb"
1698 target
="-DCREATIVE_ZVM"
1701 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1702 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1703 tool
="$rootdir/tools/scramble -creative=zvm"
1705 output
="rockbox.zvm"
1706 appextra
="recorder:gui"
1709 toolset
=$ipodbitmaptools
1710 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1711 bootoutput
="rockbox.zvmboot"
1712 # architecture, manufacturer and model for the target-tree build
1714 t_manufacturer
="tms320dm320"
1715 t_model
="creative-zvm"
1720 modelname
="creativezvm60gb"
1721 target
="-DCREATIVE_ZVM60GB"
1724 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1725 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1726 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1728 output
="rockbox.zvm60"
1729 appextra
="recorder:gui"
1732 toolset
=$ipodbitmaptools
1733 boottool
="$rootdir/tools/scramble -creative=zvm60"
1734 bootoutput
="rockbox.zvm60boot"
1735 # architecture, manufacturer and model for the target-tree build
1737 t_manufacturer
="tms320dm320"
1738 t_model
="creative-zvm"
1741 92|creativezenvision
)
1743 modelname
="creativezenvision"
1744 target
="-DCREATIVE_ZV"
1747 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1748 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1749 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1752 appextra
="recorder:gui"
1755 toolset
=$ipodbitmaptools
1756 boottool
="$rootdir/tools/scramble -creative=zenvision"
1757 bootoutput
="rockbox.zvboot"
1758 # architecture, manufacturer and model for the target-tree build
1760 t_manufacturer
="tms320dm320"
1761 t_model
="creative-zvm"
1767 target
="-DSANSA_E200"
1768 memory
=32 # supposedly
1770 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1771 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1772 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1773 output
="rockbox.mi4"
1774 appextra
="recorder:gui"
1777 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1778 bootoutput
="PP5022.mi4"
1779 # toolset is the tools within the tools directory that we build for
1780 # this particular target.
1781 toolset
=$scramblebitmaptools
1782 # architecture, manufacturer and model for the target-tree build
1784 t_manufacturer
="sandisk"
1785 t_model
="sansa-e200"
1789 # the e200R model is pretty much identical to the e200, it only has a
1790 # different option to the scramble tool when building a bootloader and
1791 # makes the bootloader output file name in all lower case.
1794 target
="-DSANSA_E200"
1795 memory
=32 # supposedly
1797 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1798 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1799 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1800 output
="rockbox.mi4"
1801 appextra
="recorder:gui"
1804 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1805 bootoutput
="pp5022.mi4"
1806 # toolset is the tools within the tools directory that we build for
1807 # this particular target.
1808 toolset
=$scramblebitmaptools
1809 # architecture, manufacturer and model for the target-tree build
1811 t_manufacturer
="sandisk"
1812 t_model
="sansa-e200"
1818 target
="-DSANSA_C200"
1819 memory
=32 # supposedly
1821 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1822 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1823 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1824 output
="rockbox.mi4"
1825 appextra
="recorder:gui"
1828 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1829 bootoutput
="firmware.mi4"
1830 # toolset is the tools within the tools directory that we build for
1831 # this particular target.
1832 toolset
=$scramblebitmaptools
1833 # architecture, manufacturer and model for the target-tree build
1835 t_manufacturer
="sandisk"
1836 t_model
="sansa-c200"
1842 target
="-DSANSA_M200"
1845 tool
="$rootdir/tools/scramble -add=m200"
1846 boottool
="$rootdir/tools/scramble -tcc=crc"
1847 bootoutput
="player.rom"
1848 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1849 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1850 output
="rockbox.m200"
1851 appextra
="recorder:gui"
1854 # toolset is the tools within the tools directory that we build for
1855 # this particular target.
1856 toolset
=$tccbitmaptools
1857 # architecture, manufacturer and model for the target-tree build
1859 t_manufacturer
="tcc77x"
1866 target
="-DSANSA_C100"
1869 tool
="$rootdir/tools/scramble -add=c100"
1870 boottool
="$rootdir/tools/scramble -tcc=crc"
1871 bootoutput
="player.rom"
1872 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1873 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1874 output
="rockbox.c100"
1875 appextra
="recorder:gui"
1878 # toolset is the tools within the tools directory that we build for
1879 # this particular target.
1880 toolset
=$tccbitmaptools
1881 # architecture, manufacturer and model for the target-tree build
1883 t_manufacturer
="tcc77x"
1890 target
="-DSANSA_CLIP"
1892 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1893 bmp2rb_native
="$bmp2rb_mono"
1894 tool
="$rootdir/tools/scramble -add=clip"
1895 output
="rockbox.sansa"
1896 bootoutput
="bootloader-clip.sansa"
1897 appextra
="recorder:gui"
1900 toolset
=$scramblebitmaptools
1902 t_manufacturer
="as3525"
1903 t_model
="sansa-clip"
1911 target
="-DSANSA_E200V2"
1913 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1914 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1915 tool
="$rootdir/tools/scramble -add=e2v2"
1916 output
="rockbox.sansa"
1917 bootoutput
="bootloader-e200v2.sansa"
1918 appextra
="recorder:gui"
1921 toolset
=$scramblebitmaptools
1923 t_manufacturer
="as3525"
1924 t_model
="sansa-e200v2"
1932 target
="-DSANSA_M200V4"
1934 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1935 bmp2rb_native
="$bmp2rb_mono"
1936 tool
="$rootdir/tools/scramble -add=m2v4"
1937 output
="rockbox.sansa"
1938 bootoutput
="bootloader-m200v4.sansa"
1939 appextra
="recorder:gui"
1942 toolset
=$scramblebitmaptools
1944 t_manufacturer
="as3525"
1945 t_model
="sansa-m200v4"
1953 target
="-DSANSA_FUZE"
1955 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1956 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1957 tool
="$rootdir/tools/scramble -add=fuze"
1958 output
="rockbox.sansa"
1959 bootoutput
="bootloader-fuze.sansa"
1960 appextra
="recorder:gui"
1963 toolset
=$scramblebitmaptools
1965 t_manufacturer
="as3525"
1966 t_model
="sansa-fuze"
1974 target
="-DSANSA_C200V2"
1975 memory
=2 # as per OF diagnosis mode
1976 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1977 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1978 tool
="$rootdir/tools/scramble -add=c2v2"
1979 output
="rockbox.sansa"
1980 bootoutput
="bootloader-c200v2.sansa"
1981 appextra
="recorder:gui"
1984 # toolset is the tools within the tools directory that we build for
1985 # this particular target.
1986 toolset
=$scramblebitmaptools
1987 # architecture, manufacturer and model for the target-tree build
1989 t_manufacturer
="as3525"
1990 t_model
="sansa-c200v2"
1995 echo "Sansa Clipv2 is not yet supported !"
1999 target
="-DSANSA_CLIPV2"
2002 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2003 bmp2rb_native
="$bmp2rb_mono"
2004 tool
="$rootdir/tools/scramble -add=clv2"
2005 output
="rockbox.sansa"
2006 bootoutput
="bootloader-clipv2.sansa"
2007 appextra
="recorder:gui"
2010 toolset
=$scramblebitmaptools
2012 t_manufacturer
="as3525"
2013 t_model
="sansa-clipv2"
2017 echo "Sansa View is not yet supported!"
2021 target
="-DSANSA_VIEW"
2024 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2025 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2026 output
="rockbox.mi4"
2030 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2031 bootoutput
="firmware.mi4"
2032 # toolset is the tools within the tools directory that we build for
2033 # this particular target.
2034 toolset
=$scramblebitmaptools
2036 t_manufacturer
="sandisk"
2037 t_model
="sansa-view"
2043 target
="-DELIO_TPJ1022"
2046 tool
="$rootdir/tools/scramble -add tpj2"
2047 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2048 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2049 output
="rockbox.elio"
2050 appextra
="recorder:gui"
2053 boottool
="$rootdir/tools/scramble -mi4v2"
2054 bootoutput
="pp5020.mi4"
2055 # toolset is the tools within the tools directory that we build for
2056 # this particular target.
2057 toolset
=$scramblebitmaptools
2058 # architecture, manufacturer and model for the target-tree build
2060 t_manufacturer
="tatung"
2067 target
="-DPHILIPS_SA9200"
2068 memory
=32 # supposedly
2070 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2071 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2072 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2073 output
="rockbox.mi4"
2074 appextra
="recorder:gui"
2077 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2078 bootoutput
="FWImage.ebn"
2079 # toolset is the tools within the tools directory that we build for
2080 # this particular target.
2081 toolset
=$scramblebitmaptools
2082 # architecture, manufacturer and model for the target-tree build
2084 t_manufacturer
="philips"
2091 target
="-DPHILIPS_HDD1630"
2092 memory
=32 # supposedly
2094 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2095 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2096 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2097 output
="rockbox.mi4"
2098 appextra
="recorder:gui"
2101 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2102 bootoutput
="FWImage.ebn"
2103 # toolset is the tools within the tools directory that we build for
2104 # this particular target.
2105 toolset
=$scramblebitmaptools
2106 # architecture, manufacturer and model for the target-tree build
2108 t_manufacturer
="philips"
2114 modelname
="meizum6sl"
2115 target
="-DMEIZU_M6SL"
2119 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2120 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2121 output
="rockbox.meizu"
2122 appextra
="recorder:gui"
2125 toolset
=$genericbitmaptools
2127 bootoutput
="rockboot.ebn"
2128 # architecture, manufacturer and model for the target-tree build
2130 t_manufacturer
="s5l8700"
2131 t_model
="meizu-m6sl"
2136 modelname
="meizum6sp"
2137 target
="-DMEIZU_M6SP"
2141 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2142 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2143 output
="rockbox.meizu"
2144 appextra
="recorder:gui"
2147 toolset
=$genericbitmaptools
2149 bootoutput
="rockboot.ebn"
2150 # architecture, manufacturer and model for the target-tree build
2152 t_manufacturer
="s5l8700"
2153 t_model
="meizu-m6sp"
2163 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2164 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2165 output
="rockbox.meizu"
2166 appextra
="recorder:gui"
2169 toolset
=$genericbitmaptools
2171 bootoutput
="rockboot.ebn"
2172 # architecture, manufacturer and model for the target-tree build
2174 t_manufacturer
="s5l8700"
2180 modelname
="ondavx747"
2181 target
="-DONDA_VX747"
2184 tool
="$rootdir/tools/scramble -add=x747"
2185 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2186 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2187 output
="rockbox.vx747"
2188 appextra
="recorder:gui"
2191 toolset
=$genericbitmaptools
2192 boottool
="$rootdir/tools/scramble -ccpmp"
2193 bootoutput
="ccpmp.bin"
2194 # architecture, manufacturer and model for the target-tree build
2196 t_manufacturer
="ingenic_jz47xx"
2197 t_model
="onda_vx747"
2202 modelname
="ondavx767"
2203 target
="-DONDA_VX767"
2207 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2208 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2209 output
="rockbox.vx767"
2210 appextra
="recorder:gui"
2213 toolset
=$genericbitmaptools
2214 boottool
="$rootdir/tools/scramble -ccpmp"
2215 bootoutput
="ccpmp.bin"
2216 # architecture, manufacturer and model for the target-tree build
2218 t_manufacturer
="ingenic_jz47xx"
2219 t_model
="onda_vx767"
2224 modelname
="ondavx747p"
2225 target
="-DONDA_VX747P"
2228 tool
="$rootdir/tools/scramble -add=747p"
2229 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2230 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2231 output
="rockbox.vx747p"
2232 appextra
="recorder:gui"
2235 toolset
=$genericbitmaptools
2236 boottool
="$rootdir/tools/scramble -ccpmp"
2237 bootoutput
="ccpmp.bin"
2238 # architecture, manufacturer and model for the target-tree build
2240 t_manufacturer
="ingenic_jz47xx"
2241 t_model
="onda_vx747"
2246 modelname
="ondavx777"
2247 target
="-DONDA_VX777"
2250 tool
="$rootdir/tools/scramble -add=x777"
2251 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2252 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2253 output
="rockbox.vx777"
2254 appextra
="recorder:gui"
2257 toolset
=$genericbitmaptools
2258 boottool
="$rootdir/tools/scramble -ccpmp"
2259 bootoutput
="ccpmp.bin"
2260 # architecture, manufacturer and model for the target-tree build
2262 t_manufacturer
="ingenic_jz47xx"
2263 t_model
="onda_vx747"
2268 modelname
="lyre_proto1"
2269 target
="-DLYRE_PROTO1"
2273 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2274 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2275 output
="rockbox.lyre"
2276 appextra
="recorder:gui"
2279 toolset
=$scramblebitmaptools
2281 bootoutput
="bootloader-proto1.lyre"
2282 # architecture, manufacturer and model for the target-tree build
2284 t_manufacturer
="at91sam"
2285 t_model
="lyre_proto1"
2290 modelname
="mini2440"
2294 tool
="$rootdir/tools/scramble -add=m244"
2295 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2296 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2297 output
="rockbox.mini2440"
2298 appextra
="recorder:gui"
2301 toolset
=$scramblebitmaptools
2303 bootoutput
="bootloader-mini2440.lyre"
2304 # architecture, manufacturer and model for the target-tree build
2306 t_manufacturer
="s3c2440"
2313 target
="-DSAMSUNG_YH820"
2316 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2317 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2318 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2319 output
="rockbox.mi4"
2320 appextra
="recorder:gui"
2323 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2324 bootoutput
="FW_YH820.mi4"
2325 # toolset is the tools within the tools directory that we build for
2326 # this particular target.
2327 toolset
=$scramblebitmaptools
2328 # architecture, manufacturer and model for the target-tree build
2330 t_manufacturer
="samsung"
2337 target
="-DSAMSUNG_YH920"
2340 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2341 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2342 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2343 output
="rockbox.mi4"
2344 appextra
="recorder:gui"
2347 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2348 bootoutput
="PP5020.mi4"
2349 # toolset is the tools within the tools directory that we build for
2350 # this particular target.
2351 toolset
=$scramblebitmaptools
2352 # architecture, manufacturer and model for the target-tree build
2354 t_manufacturer
="samsung"
2361 target
="-DSAMSUNG_YH925"
2364 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2365 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2366 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2367 output
="rockbox.mi4"
2368 appextra
="recorder:gui"
2371 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2372 bootoutput
="FW_YH925.mi4"
2373 # toolset is the tools within the tools directory that we build for
2374 # this particular target.
2375 toolset
=$scramblebitmaptools
2376 # architecture, manufacturer and model for the target-tree build
2378 t_manufacturer
="samsung"
2385 target
="-DSAMSUNG_YPS3"
2389 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2390 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2391 output
="rockbox.yps3"
2392 appextra
="recorder:gui"
2395 toolset
=$genericbitmaptools
2397 bootoutput
="rockboot.ebn"
2398 # architecture, manufacturer and model for the target-tree build
2400 t_manufacturer
="s5l8700"
2406 echo "Please select a supported target platform!"
2412 echo "Platform set to $modelname"
2416 ############################################################################
2417 # Amount of memory, for those that can differ. They have $memory unset at
2421 if [ -z "$memory" ]; then
2424 if [ "$ARG_RAM" ]; then
2427 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2440 if [ "$ARG_RAM" ]; then
2443 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2456 echo "Memory size selected: $memory MB"
2457 [ "$ARG_TYPE" ] ||
echo ""
2461 ##################################################################
2462 # Figure out build "type"
2465 # the ifp7x0 is the only platform that supports building a gdb stub like
2469 gdbstub
="(G)DB stub, "
2472 gdbstub
="(I)nstaller, "
2475 gdbstub
="(E)raser, "
2480 if [ "$ARG_TYPE" ]; then
2483 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2489 appsdir
='\$(ROOTDIR)/bootloader'
2491 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2493 echo "e200R-installer build selected"
2496 appsdir
='\$(ROOTDIR)/bootloader'
2498 echo "C2(4)0 or C2(5)0"
2502 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2503 echo "c240 eraser build selected"
2506 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2507 echo "c240 eraser build selected"
2511 echo "c200 eraser build selected"
2514 if test $t_manufacturer = "archos"; then
2515 # Archos SH-based players do this somewhat differently for
2517 appsdir
='\$(ROOTDIR)/flash/bootbox'
2520 appsdir
='\$(ROOTDIR)/bootloader'
2523 if test -n "$boottool"; then
2526 if test -n "$bootoutput"; then
2530 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2532 echo "Bootloader build selected"
2537 extradefines
="-DSIMULATOR"
2540 echo "Simulator build selected"
2543 echo "Advanced build selected"
2544 whichadvanced
$btype
2547 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2548 appsdir
='\$(ROOTDIR)/gdb'
2557 echo "GDB stub build selected"
2562 echo "Manual build selected"
2570 appsdir
='\$(ROOTDIR)/tools/checkwps';
2571 output
='checkwps.'${modelname};
2573 echo "CheckWPS build selected"
2581 appsdir
='\$(ROOTDIR)/tools/database';
2582 output
='database.'${modelname};
2584 echo "Database tool build selected"
2587 if [ "$modelname" = "e200r" ]; then
2588 echo "Do not use the e200R target for regular builds. Use e200 instead."
2592 btype
="N" # set it explicitly since RET only gets here as well
2593 echo "Normal build selected"
2597 # to be able running "make manual" from non-manual configuration
2600 manualdev
="recorderv2fm"
2603 manualdev
="recorderv2fm"
2609 manualdev
="ipodmini"
2612 manualdev
=$modelname
2616 if [ -z "$debug" ]; then
2617 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2620 echo "Using source code root directory: $rootdir"
2622 # this was once possible to change at build-time, but no more:
2627 if [ "yes" = "$simulator" ]; then
2628 # setup compiler and things for simulator
2631 if [ -d "simdisk" ]; then
2632 echo "Subdirectory 'simdisk' already present"
2635 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2639 # Now, figure out version number of the (gcc) compiler we are about to use
2640 gccver
=`$CC -dumpversion`;
2642 # figure out the binutil version too and display it, mostly for the build
2643 # system etc to be able to see it easier
2644 if [ $uname = "Darwin" ]; then
2645 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2647 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2650 if [ -z "$gccver" ]; then
2651 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2652 echo "[WARNING] this may cause your build to fail since we cannot do the"
2653 echo "[WARNING] checks we want now."
2656 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2659 num1
=`echo $gccver | cut -d . -f1`
2660 num2
=`echo $gccver | cut -d . -f2`
2661 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2668 echo "Using $CC $gccver ($gccnum)"
2670 if test "$gccnum" -ge "400"; then
2671 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2672 # so we ignore that warnings for now
2674 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2677 if test "$gccnum" -ge "401"; then
2678 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2679 # will break strict-aliasing rules"
2681 GCCOPTS
="$GCCOPTS -fno-strict-aliasing"
2684 if test "$gccnum" -ge "402"; then
2685 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2686 # and later would throw it for several valid cases
2687 GCCOPTS
="$GCCOPTS -Wno-override-init"
2695 # cross-compile for win32
2698 # Verify that the cross-compiler is of a recommended version!
2699 if test "$gccver" != "$gccchoice"; then
2700 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2701 echo "WARNING: version $gccchoice!"
2702 echo "WARNING: This may cause your build to fail since it may be a version"
2703 echo "WARNING: that isn't functional or known to not be the best choice."
2704 echo "WARNING: If you suffer from build problems, you know that this is"
2705 echo "WARNING: a likely source for them..."
2713 echo "Using $LD $ldver"
2715 # check the compiler for SH platforms
2716 if test "$CC" = "sh-elf-gcc"; then
2717 if test "$gccnum" -lt "400"; then
2718 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2719 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2721 # figure out patch status
2722 gccpatch
=`$CC --version`;
2724 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2725 echo "gcc $gccver is rockbox patched"
2726 # then convert -O to -Os to get smaller binaries!
2727 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2729 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2730 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2735 if test "$CC" = "m68k-elf-gcc"; then
2736 # convert -O to -Os to get smaller binaries!
2737 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2740 if [ "$ARG_CCACHE" = "1" ]; then
2741 echo "Enable ccache for building"
2743 elif [ "$ARG_CCACHE" != "0" ]; then
2744 ccache
=`findtool ccache`
2745 if test -n "$ccache"; then
2746 echo "Found and uses ccache ($ccache)"
2750 # figure out the full path to the various commands if possible
2751 HOSTCC
=`findtool gcc --lit`
2752 HOSTAR
=`findtool ar --lit`
2753 CC
=`findtool ${CC} --lit`
2754 LD
=`findtool ${AR} --lit`
2755 AR
=`findtool ${AR} --lit`
2756 AS
=`findtool ${AS} --lit`
2757 OC
=`findtool ${OC} --lit`
2758 WINDRES
=`findtool ${WINDRES} --lit`
2759 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2760 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2761 RANLIB
=`findtool ${RANLIB} --lit`
2763 if test -n "$ccache"; then
2767 if test "X$endian" = "Xbig"; then
2768 defendian
="ROCKBOX_BIG_ENDIAN"
2770 defendian
="ROCKBOX_LITTLE_ENDIAN"
2773 if [ "$ARG_RBDIR" ]; then
2775 echo "Using alternate rockbox dir: ${rbdir}"
2779 -e "s,@ENDIAN@,${defendian},g" \
2780 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2781 -e "s,@config_rtc@,$config_rtc,g" \
2782 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2783 -e "s,@RBDIR@,${rbdir},g" \
2784 -e "s,@have_backlight@,$have_backlight,g" \
2785 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2786 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2788 /* This header was made by configure */
2789 #ifndef __BUILD_AUTOCONF_H
2790 #define __BUILD_AUTOCONF_H
2792 /* Define endianess for the target or simulator platform */
2795 /* Define this if you build rockbox to support the logf logging and display */
2796 #undef ROCKBOX_HAS_LOGF
2798 /* optional define for a backlight modded Ondio */
2801 /* optional define for FM radio mod for iAudio M5 */
2804 /* optional define for ATA poweroff on Player */
2807 /* optional defines for RTC mod for h1x0 */
2811 /* root of Rockbox */
2812 #define ROCKBOX_DIR "/@RBDIR@"
2814 #endif /* __BUILD_AUTOCONF_H */
2817 if test -n "$t_cpu"; then
2818 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2819 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2820 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2824 if test "$simulator" = "yes"; then
2825 # add simul make stuff on the #SIMUL# line
2826 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2827 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2829 # delete the lines that match
2830 simmagic1
='/@SIMUL1@/D'
2831 simmagic2
='/@SIMUL2@/D'
2834 if test "$swcodec" = "yes"; then
2835 voicetoolset
="rbspeexenc voicefont wavtrim"
2837 voicetoolset
="voicefont wavtrim"
2840 if test "$apps" = "apps"; then
2841 # only when we build "real" apps we build the .lng files
2845 #### Fix the cmdline ###
2846 if test -n "$ccache"; then
2850 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
2854 -e "s,@ROOTDIR@,${rootdir},g" \
2855 -e "s,@DEBUG@,${debug},g" \
2856 -e "s,@MEMORY@,${memory},g" \
2857 -e "s,@TARGET_ID@,${target_id},g" \
2858 -e "s,@TARGET@,${target},g" \
2859 -e "s,@CPU@,${t_cpu},g" \
2860 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2861 -e "s,@MODELNAME@,${modelname},g" \
2862 -e "s,@LANGUAGE@,${language},g" \
2863 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2864 -e "s,@PWD@,${pwd},g" \
2865 -e "s,@HOSTCC@,${HOSTCC},g" \
2866 -e "s,@HOSTAR@,${HOSTAR},g" \
2867 -e "s,@CC@,${CC},g" \
2868 -e "s,@LD@,${LD},g" \
2869 -e "s,@AR@,${AR},g" \
2870 -e "s,@AS@,${AS},g" \
2871 -e "s,@OC@,${OC},g" \
2872 -e "s,@WINDRES@,${WINDRES},g" \
2873 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2874 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2875 -e "s,@RANLIB@,${RANLIB},g" \
2876 -e "s,@TOOL@,${tool},g" \
2877 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2878 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2879 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2880 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2881 -e "s,@OUTPUT@,${output},g" \
2882 -e "s,@APPEXTRA@,${appextra},g" \
2883 -e "s,@ARCHOSROM@,${archosrom},g" \
2884 -e "s,@FLASHFILE@,${flash},g" \
2885 -e "s,@PLUGINS@,${plugins},g" \
2886 -e "s,@CODECS@,${swcodec},g" \
2887 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2888 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2889 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2890 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2891 -e "s!@LDOPTS@!${LDOPTS}!g" \
2892 -e "s,@LOADADDRESS@,${loadaddress},g" \
2893 -e "s,@EXTRADEF@,${extradefines},g" \
2894 -e "s,@APPSDIR@,${appsdir},g" \
2895 -e "s,@FIRMDIR@,${firmdir},g" \
2896 -e "s,@TOOLSDIR@,${toolsdir},g" \
2897 -e "s,@APPS@,${apps},g" \
2898 -e "s,@SIMVER@,${simver},g" \
2899 -e "s,@GCCVER@,${gccver},g" \
2900 -e "s,@GCCNUM@,${gccnum},g" \
2901 -e "s,@UNAME@,${uname},g" \
2902 -e "s,@ENDIAN@,${defendian},g" \
2903 -e "s,@TOOLSET@,${toolset},g" \
2906 -e "s,@MANUALDEV@,${manualdev},g" \
2907 -e "s,@ENCODER@,${ENC_CMD},g" \
2908 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2909 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2910 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2911 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2912 -e "s,@LANGS@,${buildlangs},g" \
2913 -e "s,@USE_ELF@,${USE_ELF},g" \
2914 -e "s,@RBDIR@,${rbdir},g" \
2915 -e "s,@PREFIX@,$PREFIX,g" \
2916 -e "s,@CMDLINE@,$cmdline,g" \
2918 ## Automatically generated. http://www.rockbox.org/
2920 export ROOTDIR=@ROOTDIR@
2921 export FIRMDIR=@FIRMDIR@
2922 export APPSDIR=@APPSDIR@
2923 export TOOLSDIR=@TOOLSDIR@
2924 export DOCSDIR=\$(ROOTDIR)/docs
2925 export MANUALDIR=\${ROOTDIR}/manual
2926 export DEBUG=@DEBUG@
2927 export MODELNAME=@MODELNAME@
2928 export ARCHOSROM=@ARCHOSROM@
2929 export FLASHFILE=@FLASHFILE@
2930 export TARGET_ID=@TARGET_ID@
2931 export TARGET=@TARGET@
2933 export MANUFACTURER=@MANUFACTURER@
2935 export BUILDDIR=@PWD@
2936 export LANGUAGE=@LANGUAGE@
2937 export VOICELANGUAGE=@VOICELANGUAGE@
2938 export MEMORYSIZE=@MEMORY@
2939 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2940 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2941 export MKFIRMWARE=@TOOL@
2942 export BMP2RB_MONO=@BMP2RB_MONO@
2943 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2944 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2945 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2946 export BINARY=@OUTPUT@
2947 export APPEXTRA=@APPEXTRA@
2948 export ENABLEDPLUGINS=@PLUGINS@
2949 export SOFTWARECODECS=@CODECS@
2950 export EXTRA_DEFINES=@EXTRADEF@
2951 export HOSTCC=@HOSTCC@
2952 export HOSTAR=@HOSTAR@
2958 export WINDRES=@WINDRES@
2959 export DLLTOOL=@DLLTOOL@
2960 export DLLWRAP=@DLLWRAP@
2961 export RANLIB=@RANLIB@
2962 export PREFIX=@PREFIX@
2963 export PROFILE_OPTS=@PROFILE_OPTS@
2964 export SIMVER=@SIMVER@
2965 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2966 export GCCOPTS=@GCCOPTS@
2967 export TARGET_INC=@TARGET_INC@
2968 export LOADADDRESS=@LOADADDRESS@
2969 export SHARED_FLAG=@SHARED_FLAG@
2970 export LDOPTS=@LDOPTS@
2971 export GCCVER=@GCCVER@
2972 export GCCNUM=@GCCNUM@
2973 export UNAME=@UNAME@
2974 export MANUALDEV=@MANUALDEV@
2975 export TTS_OPTS=@TTS_OPTS@
2976 export TTS_ENGINE=@TTS_ENGINE@
2977 export ENC_OPTS=@ENC_OPTS@
2978 export ENCODER=@ENCODER@
2979 export USE_ELF=@USE_ELF@
2980 export RBDIR=@RBDIR@
2982 CONFIGURE_OPTIONS=@CMDLINE@
2984 include \$(TOOLSDIR)/root.make
2988 echo "Created Makefile"