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 mktccboot 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"
1540 boottool
="$rootdir/tools/scramble -tcc=crc"
1541 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1542 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1544 appextra
="recorder:gui"
1547 toolset
="$tccbitmaptools"
1548 # architecture, manufacturer and model for the target-tree build
1550 t_manufacturer
="tcc780x"
1557 target
="-DIAUDIO_M3"
1560 tool
="$rootdir/tools/scramble -add=iam3"
1561 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1562 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1563 output
="rockbox.iaudio"
1564 appextra
="recorder:gui"
1567 # toolset is the tools within the tools directory that we build for
1568 # this particular target.
1569 toolset
="$iaudiobitmaptools"
1570 # architecture, manufacturer and model for the target-tree build
1572 t_manufacturer
="iaudio"
1578 modelname
="gigabeatf"
1579 target
="-DGIGABEAT_F"
1582 tool
="$rootdir/tools/scramble -add=giga"
1583 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1584 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1585 output
="rockbox.gigabeat"
1586 appextra
="recorder:gui"
1589 toolset
=$gigabeatbitmaptools
1590 boottool
="$rootdir/tools/scramble -gigabeat"
1591 bootoutput
="FWIMG01.DAT"
1592 # architecture, manufacturer and model for the target-tree build
1594 t_manufacturer
="s3c2440"
1595 t_model
="gigabeat-fx"
1600 modelname
="gigabeats"
1601 target
="-DGIGABEAT_S"
1604 tool
="$rootdir/tools/scramble -add=gigs"
1605 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1606 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1607 output
="rockbox.gigabeat"
1608 appextra
="recorder:gui"
1611 toolset
="$gigabeatbitmaptools"
1612 boottool
="$rootdir/tools/scramble -gigabeats"
1614 # architecture, manufacturer and model for the target-tree build
1616 t_manufacturer
="imx31"
1617 t_model
="gigabeat-s"
1622 modelname
="mrobe500"
1623 target
="-DMROBE_500"
1626 tool
="$rootdir/tools/scramble -add=m500"
1627 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1628 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1629 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1630 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1631 output
="rockbox.mrobe500"
1632 appextra
="recorder:gui"
1635 toolset
=$gigabeatbitmaptools
1637 bootoutput
="rockbox.mrboot"
1638 # architecture, manufacturer and model for the target-tree build
1640 t_manufacturer
="tms320dm320"
1646 modelname
="mrobe100"
1647 target
="-DMROBE_100"
1650 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1651 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1652 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1653 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1654 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1655 output
="rockbox.mi4"
1656 appextra
="recorder:gui"
1659 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1660 bootoutput
="pp5020.mi4"
1661 # toolset is the tools within the tools directory that we build for
1662 # this particular target.
1663 toolset
=$scramblebitmaptools
1664 # architecture, manufacturer and model for the target-tree build
1666 t_manufacturer
="olympus"
1672 modelname
="logikdax"
1673 target
="-DLOGIK_DAX"
1676 tool
="$rootdir/tools/scramble -add=ldax"
1677 boottool
="$rootdir/tools/scramble -tcc=crc"
1678 bootoutput
="player.rom"
1679 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1680 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1681 output
="rockbox.logik"
1682 appextra
="recorder:gui"
1685 # toolset is the tools within the tools directory that we build for
1686 # this particular target.
1687 toolset
=$tccbitmaptools
1688 # architecture, manufacturer and model for the target-tree build
1690 t_manufacturer
="tcc77x"
1696 modelname
="creativezvm30gb"
1697 target
="-DCREATIVE_ZVM"
1700 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1701 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1702 tool
="$rootdir/tools/scramble -creative=zvm"
1704 output
="rockbox.zvm"
1705 appextra
="recorder:gui"
1708 toolset
=$ipodbitmaptools
1709 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1710 bootoutput
="rockbox.zvmboot"
1711 # architecture, manufacturer and model for the target-tree build
1713 t_manufacturer
="tms320dm320"
1714 t_model
="creative-zvm"
1719 modelname
="creativezvm60gb"
1720 target
="-DCREATIVE_ZVM60GB"
1723 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1724 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1725 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1727 output
="rockbox.zvm60"
1728 appextra
="recorder:gui"
1731 toolset
=$ipodbitmaptools
1732 boottool
="$rootdir/tools/scramble -creative=zvm60"
1733 bootoutput
="rockbox.zvm60boot"
1734 # architecture, manufacturer and model for the target-tree build
1736 t_manufacturer
="tms320dm320"
1737 t_model
="creative-zvm"
1740 92|creativezenvision
)
1742 modelname
="creativezenvision"
1743 target
="-DCREATIVE_ZV"
1746 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1747 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1748 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1751 appextra
="recorder:gui"
1754 toolset
=$ipodbitmaptools
1755 boottool
="$rootdir/tools/scramble -creative=zenvision"
1756 bootoutput
="rockbox.zvboot"
1757 # architecture, manufacturer and model for the target-tree build
1759 t_manufacturer
="tms320dm320"
1760 t_model
="creative-zvm"
1766 target
="-DSANSA_E200"
1767 memory
=32 # supposedly
1769 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1770 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1771 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1772 output
="rockbox.mi4"
1773 appextra
="recorder:gui"
1776 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1777 bootoutput
="PP5022.mi4"
1778 # toolset is the tools within the tools directory that we build for
1779 # this particular target.
1780 toolset
=$scramblebitmaptools
1781 # architecture, manufacturer and model for the target-tree build
1783 t_manufacturer
="sandisk"
1784 t_model
="sansa-e200"
1788 # the e200R model is pretty much identical to the e200, it only has a
1789 # different option to the scramble tool when building a bootloader and
1790 # makes the bootloader output file name in all lower case.
1793 target
="-DSANSA_E200"
1794 memory
=32 # supposedly
1796 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1797 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1798 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1799 output
="rockbox.mi4"
1800 appextra
="recorder:gui"
1803 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1804 bootoutput
="pp5022.mi4"
1805 # toolset is the tools within the tools directory that we build for
1806 # this particular target.
1807 toolset
=$scramblebitmaptools
1808 # architecture, manufacturer and model for the target-tree build
1810 t_manufacturer
="sandisk"
1811 t_model
="sansa-e200"
1817 target
="-DSANSA_C200"
1818 memory
=32 # supposedly
1820 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1821 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1822 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1823 output
="rockbox.mi4"
1824 appextra
="recorder:gui"
1827 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1828 bootoutput
="firmware.mi4"
1829 # toolset is the tools within the tools directory that we build for
1830 # this particular target.
1831 toolset
=$scramblebitmaptools
1832 # architecture, manufacturer and model for the target-tree build
1834 t_manufacturer
="sandisk"
1835 t_model
="sansa-c200"
1841 target
="-DSANSA_M200"
1844 tool
="$rootdir/tools/scramble -add=m200"
1845 boottool
="$rootdir/tools/scramble -tcc=crc"
1846 bootoutput
="player.rom"
1847 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1848 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1849 output
="rockbox.m200"
1850 appextra
="recorder:gui"
1853 # toolset is the tools within the tools directory that we build for
1854 # this particular target.
1855 toolset
=$tccbitmaptools
1856 # architecture, manufacturer and model for the target-tree build
1858 t_manufacturer
="tcc77x"
1865 target
="-DSANSA_C100"
1868 tool
="$rootdir/tools/scramble -add=c100"
1869 boottool
="$rootdir/tools/scramble -tcc=crc"
1870 bootoutput
="player.rom"
1871 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1872 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1873 output
="rockbox.c100"
1874 appextra
="recorder:gui"
1877 # toolset is the tools within the tools directory that we build for
1878 # this particular target.
1879 toolset
=$tccbitmaptools
1880 # architecture, manufacturer and model for the target-tree build
1882 t_manufacturer
="tcc77x"
1889 target
="-DSANSA_CLIP"
1891 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1892 bmp2rb_native
="$bmp2rb_mono"
1893 tool
="$rootdir/tools/scramble -add=clip"
1894 output
="rockbox.sansa"
1895 bootoutput
="bootloader-clip.sansa"
1896 appextra
="recorder:gui"
1899 toolset
=$scramblebitmaptools
1901 t_manufacturer
="as3525"
1902 t_model
="sansa-clip"
1910 target
="-DSANSA_E200V2"
1912 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1913 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1914 tool
="$rootdir/tools/scramble -add=e2v2"
1915 output
="rockbox.sansa"
1916 bootoutput
="bootloader-e200v2.sansa"
1917 appextra
="recorder:gui"
1920 toolset
=$scramblebitmaptools
1922 t_manufacturer
="as3525"
1923 t_model
="sansa-e200v2"
1931 target
="-DSANSA_M200V4"
1933 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1934 bmp2rb_native
="$bmp2rb_mono"
1935 tool
="$rootdir/tools/scramble -add=m2v4"
1936 output
="rockbox.sansa"
1937 bootoutput
="bootloader-m200v4.sansa"
1938 appextra
="recorder:gui"
1941 toolset
=$scramblebitmaptools
1943 t_manufacturer
="as3525"
1944 t_model
="sansa-m200v4"
1952 target
="-DSANSA_FUZE"
1954 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1955 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1956 tool
="$rootdir/tools/scramble -add=fuze"
1957 output
="rockbox.sansa"
1958 bootoutput
="bootloader-fuze.sansa"
1959 appextra
="recorder:gui"
1962 toolset
=$scramblebitmaptools
1964 t_manufacturer
="as3525"
1965 t_model
="sansa-fuze"
1973 target
="-DSANSA_C200V2"
1974 memory
=2 # as per OF diagnosis mode
1975 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1976 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1977 tool
="$rootdir/tools/scramble -add=c2v2"
1978 output
="rockbox.sansa"
1979 bootoutput
="bootloader-c200v2.sansa"
1980 appextra
="recorder:gui"
1983 # toolset is the tools within the tools directory that we build for
1984 # this particular target.
1985 toolset
=$scramblebitmaptools
1986 # architecture, manufacturer and model for the target-tree build
1988 t_manufacturer
="as3525"
1989 t_model
="sansa-c200v2"
1994 echo "Sansa Clipv2 is not yet supported !"
1998 target
="-DSANSA_CLIPV2"
2001 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2002 bmp2rb_native
="$bmp2rb_mono"
2003 tool
="$rootdir/tools/scramble -add=clv2"
2004 output
="rockbox.sansa"
2005 bootoutput
="bootloader-clipv2.sansa"
2006 appextra
="recorder:gui"
2009 toolset
=$scramblebitmaptools
2011 t_manufacturer
="as3525"
2012 t_model
="sansa-clipv2"
2016 echo "Sansa View is not yet supported!"
2020 target
="-DSANSA_VIEW"
2023 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2024 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2025 output
="rockbox.mi4"
2029 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2030 bootoutput
="firmware.mi4"
2031 # toolset is the tools within the tools directory that we build for
2032 # this particular target.
2033 toolset
=$scramblebitmaptools
2035 t_manufacturer
="sandisk"
2036 t_model
="sansa-view"
2042 target
="-DELIO_TPJ1022"
2045 tool
="$rootdir/tools/scramble -add tpj2"
2046 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2047 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2048 output
="rockbox.elio"
2049 appextra
="recorder:gui"
2052 boottool
="$rootdir/tools/scramble -mi4v2"
2053 bootoutput
="pp5020.mi4"
2054 # toolset is the tools within the tools directory that we build for
2055 # this particular target.
2056 toolset
=$scramblebitmaptools
2057 # architecture, manufacturer and model for the target-tree build
2059 t_manufacturer
="tatung"
2066 target
="-DPHILIPS_SA9200"
2067 memory
=32 # supposedly
2069 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2070 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2071 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2072 output
="rockbox.mi4"
2073 appextra
="recorder:gui"
2076 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2077 bootoutput
="FWImage.ebn"
2078 # toolset is the tools within the tools directory that we build for
2079 # this particular target.
2080 toolset
=$scramblebitmaptools
2081 # architecture, manufacturer and model for the target-tree build
2083 t_manufacturer
="philips"
2090 target
="-DPHILIPS_HDD1630"
2091 memory
=32 # supposedly
2093 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2094 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2095 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2096 output
="rockbox.mi4"
2097 appextra
="recorder:gui"
2100 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2101 bootoutput
="FWImage.ebn"
2102 # toolset is the tools within the tools directory that we build for
2103 # this particular target.
2104 toolset
=$scramblebitmaptools
2105 # architecture, manufacturer and model for the target-tree build
2107 t_manufacturer
="philips"
2113 modelname
="meizum6sl"
2114 target
="-DMEIZU_M6SL"
2118 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2119 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2120 output
="rockbox.meizu"
2121 appextra
="recorder:gui"
2124 toolset
=$genericbitmaptools
2126 bootoutput
="rockboot.ebn"
2127 # architecture, manufacturer and model for the target-tree build
2129 t_manufacturer
="s5l8700"
2130 t_model
="meizu-m6sl"
2135 modelname
="meizum6sp"
2136 target
="-DMEIZU_M6SP"
2140 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2141 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2142 output
="rockbox.meizu"
2143 appextra
="recorder:gui"
2146 toolset
=$genericbitmaptools
2148 bootoutput
="rockboot.ebn"
2149 # architecture, manufacturer and model for the target-tree build
2151 t_manufacturer
="s5l8700"
2152 t_model
="meizu-m6sp"
2162 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2163 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2164 output
="rockbox.meizu"
2165 appextra
="recorder:gui"
2168 toolset
=$genericbitmaptools
2170 bootoutput
="rockboot.ebn"
2171 # architecture, manufacturer and model for the target-tree build
2173 t_manufacturer
="s5l8700"
2179 modelname
="ondavx747"
2180 target
="-DONDA_VX747"
2183 tool
="$rootdir/tools/scramble -add=x747"
2184 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2185 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2186 output
="rockbox.vx747"
2187 appextra
="recorder:gui"
2190 toolset
=$genericbitmaptools
2191 boottool
="$rootdir/tools/scramble -ccpmp"
2192 bootoutput
="ccpmp.bin"
2193 # architecture, manufacturer and model for the target-tree build
2195 t_manufacturer
="ingenic_jz47xx"
2196 t_model
="onda_vx747"
2201 modelname
="ondavx767"
2202 target
="-DONDA_VX767"
2206 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2207 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2208 output
="rockbox.vx767"
2209 appextra
="recorder:gui"
2212 toolset
=$genericbitmaptools
2213 boottool
="$rootdir/tools/scramble -ccpmp"
2214 bootoutput
="ccpmp.bin"
2215 # architecture, manufacturer and model for the target-tree build
2217 t_manufacturer
="ingenic_jz47xx"
2218 t_model
="onda_vx767"
2223 modelname
="ondavx747p"
2224 target
="-DONDA_VX747P"
2227 tool
="$rootdir/tools/scramble -add=747p"
2228 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2229 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2230 output
="rockbox.vx747p"
2231 appextra
="recorder:gui"
2234 toolset
=$genericbitmaptools
2235 boottool
="$rootdir/tools/scramble -ccpmp"
2236 bootoutput
="ccpmp.bin"
2237 # architecture, manufacturer and model for the target-tree build
2239 t_manufacturer
="ingenic_jz47xx"
2240 t_model
="onda_vx747"
2245 modelname
="ondavx777"
2246 target
="-DONDA_VX777"
2249 tool
="$rootdir/tools/scramble -add=x777"
2250 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2251 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2252 output
="rockbox.vx777"
2253 appextra
="recorder:gui"
2256 toolset
=$genericbitmaptools
2257 boottool
="$rootdir/tools/scramble -ccpmp"
2258 bootoutput
="ccpmp.bin"
2259 # architecture, manufacturer and model for the target-tree build
2261 t_manufacturer
="ingenic_jz47xx"
2262 t_model
="onda_vx747"
2267 modelname
="lyre_proto1"
2268 target
="-DLYRE_PROTO1"
2272 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2273 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2274 output
="rockbox.lyre"
2275 appextra
="recorder:gui"
2278 toolset
=$scramblebitmaptools
2280 bootoutput
="bootloader-proto1.lyre"
2281 # architecture, manufacturer and model for the target-tree build
2283 t_manufacturer
="at91sam"
2284 t_model
="lyre_proto1"
2289 modelname
="mini2440"
2293 tool
="$rootdir/tools/scramble -add=m244"
2294 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2295 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2296 output
="rockbox.mini2440"
2297 appextra
="recorder:gui"
2300 toolset
=$scramblebitmaptools
2302 bootoutput
="bootloader-mini2440.lyre"
2303 # architecture, manufacturer and model for the target-tree build
2305 t_manufacturer
="s3c2440"
2312 target
="-DSAMSUNG_YH820"
2315 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2316 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2317 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2318 output
="rockbox.mi4"
2319 appextra
="recorder:gui"
2322 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2323 bootoutput
="FW_YH820.mi4"
2324 # toolset is the tools within the tools directory that we build for
2325 # this particular target.
2326 toolset
=$scramblebitmaptools
2327 # architecture, manufacturer and model for the target-tree build
2329 t_manufacturer
="samsung"
2336 target
="-DSAMSUNG_YH920"
2339 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2340 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2341 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2342 output
="rockbox.mi4"
2343 appextra
="recorder:gui"
2346 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2347 bootoutput
="PP5020.mi4"
2348 # toolset is the tools within the tools directory that we build for
2349 # this particular target.
2350 toolset
=$scramblebitmaptools
2351 # architecture, manufacturer and model for the target-tree build
2353 t_manufacturer
="samsung"
2360 target
="-DSAMSUNG_YH925"
2363 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2364 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2365 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2366 output
="rockbox.mi4"
2367 appextra
="recorder:gui"
2370 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2371 bootoutput
="FW_YH925.mi4"
2372 # toolset is the tools within the tools directory that we build for
2373 # this particular target.
2374 toolset
=$scramblebitmaptools
2375 # architecture, manufacturer and model for the target-tree build
2377 t_manufacturer
="samsung"
2384 target
="-DSAMSUNG_YPS3"
2388 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2389 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2390 output
="rockbox.yps3"
2391 appextra
="recorder:gui"
2394 toolset
=$genericbitmaptools
2396 bootoutput
="rockboot.ebn"
2397 # architecture, manufacturer and model for the target-tree build
2399 t_manufacturer
="s5l8700"
2405 echo "Please select a supported target platform!"
2411 echo "Platform set to $modelname"
2415 ############################################################################
2416 # Amount of memory, for those that can differ. They have $memory unset at
2420 if [ -z "$memory" ]; then
2423 if [ "$ARG_RAM" ]; then
2426 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2439 if [ "$ARG_RAM" ]; then
2442 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2455 echo "Memory size selected: $memory MB"
2456 [ "$ARG_TYPE" ] ||
echo ""
2460 ##################################################################
2461 # Figure out build "type"
2464 # the ifp7x0 is the only platform that supports building a gdb stub like
2468 gdbstub
="(G)DB stub, "
2471 gdbstub
="(I)nstaller, "
2474 gdbstub
="(E)raser, "
2479 if [ "$ARG_TYPE" ]; then
2482 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2488 appsdir
='\$(ROOTDIR)/bootloader'
2490 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2492 echo "e200R-installer build selected"
2495 appsdir
='\$(ROOTDIR)/bootloader'
2497 echo "C2(4)0 or C2(5)0"
2501 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2502 echo "c240 eraser build selected"
2505 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2506 echo "c240 eraser build selected"
2510 echo "c200 eraser build selected"
2513 if test $t_manufacturer = "archos"; then
2514 # Archos SH-based players do this somewhat differently for
2516 appsdir
='\$(ROOTDIR)/flash/bootbox'
2519 appsdir
='\$(ROOTDIR)/bootloader'
2522 if test -n "$boottool"; then
2525 if test -n "$bootoutput"; then
2529 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2531 echo "Bootloader build selected"
2536 extradefines
="-DSIMULATOR"
2539 echo "Simulator build selected"
2542 echo "Advanced build selected"
2543 whichadvanced
$btype
2546 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2547 appsdir
='\$(ROOTDIR)/gdb'
2556 echo "GDB stub build selected"
2561 echo "Manual build selected"
2569 appsdir
='\$(ROOTDIR)/tools/checkwps';
2570 output
='checkwps.'${modelname};
2572 echo "CheckWPS build selected"
2580 appsdir
='\$(ROOTDIR)/tools/database';
2581 output
='database.'${modelname};
2583 echo "Database tool build selected"
2586 if [ "$modelname" = "e200r" ]; then
2587 echo "Do not use the e200R target for regular builds. Use e200 instead."
2591 btype
="N" # set it explicitly since RET only gets here as well
2592 echo "Normal build selected"
2596 # to be able running "make manual" from non-manual configuration
2599 manualdev
="recorderv2fm"
2602 manualdev
="recorderv2fm"
2608 manualdev
="ipodmini"
2611 manualdev
=$modelname
2615 if [ -z "$debug" ]; then
2616 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2619 echo "Using source code root directory: $rootdir"
2621 # this was once possible to change at build-time, but no more:
2626 if [ "yes" = "$simulator" ]; then
2627 # setup compiler and things for simulator
2630 if [ -d "simdisk" ]; then
2631 echo "Subdirectory 'simdisk' already present"
2634 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2638 # Now, figure out version number of the (gcc) compiler we are about to use
2639 gccver
=`$CC -dumpversion`;
2641 # figure out the binutil version too and display it, mostly for the build
2642 # system etc to be able to see it easier
2643 if [ $uname = "Darwin" ]; then
2644 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2646 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2649 if [ -z "$gccver" ]; then
2650 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2651 echo "[WARNING] this may cause your build to fail since we cannot do the"
2652 echo "[WARNING] checks we want now."
2655 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2658 num1
=`echo $gccver | cut -d . -f1`
2659 num2
=`echo $gccver | cut -d . -f2`
2660 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2667 echo "Using $CC $gccver ($gccnum)"
2669 if test "$gccnum" -ge "400"; then
2670 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2671 # so we ignore that warnings for now
2673 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2676 if test "$gccnum" -ge "401"; then
2677 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2678 # will break strict-aliasing rules"
2680 GCCOPTS
="$GCCOPTS -fno-strict-aliasing"
2683 if test "$gccnum" -ge "402"; then
2684 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2685 # and later would throw it for several valid cases
2686 GCCOPTS
="$GCCOPTS -Wno-override-init"
2694 # cross-compile for win32
2697 # Verify that the cross-compiler is of a recommended version!
2698 if test "$gccver" != "$gccchoice"; then
2699 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2700 echo "WARNING: version $gccchoice!"
2701 echo "WARNING: This may cause your build to fail since it may be a version"
2702 echo "WARNING: that isn't functional or known to not be the best choice."
2703 echo "WARNING: If you suffer from build problems, you know that this is"
2704 echo "WARNING: a likely source for them..."
2712 echo "Using $LD $ldver"
2714 # check the compiler for SH platforms
2715 if test "$CC" = "sh-elf-gcc"; then
2716 if test "$gccnum" -lt "400"; then
2717 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2718 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2720 # figure out patch status
2721 gccpatch
=`$CC --version`;
2723 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2724 echo "gcc $gccver is rockbox patched"
2725 # then convert -O to -Os to get smaller binaries!
2726 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2728 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2729 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2734 if test "$CC" = "m68k-elf-gcc"; then
2735 # convert -O to -Os to get smaller binaries!
2736 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2739 if [ "$ARG_CCACHE" = "1" ]; then
2740 echo "Enable ccache for building"
2742 elif [ "$ARG_CCACHE" != "0" ]; then
2743 ccache
=`findtool ccache`
2744 if test -n "$ccache"; then
2745 echo "Found and uses ccache ($ccache)"
2749 # figure out the full path to the various commands if possible
2750 HOSTCC
=`findtool gcc --lit`
2751 HOSTAR
=`findtool ar --lit`
2752 CC
=`findtool ${CC} --lit`
2753 LD
=`findtool ${AR} --lit`
2754 AR
=`findtool ${AR} --lit`
2755 AS
=`findtool ${AS} --lit`
2756 OC
=`findtool ${OC} --lit`
2757 WINDRES
=`findtool ${WINDRES} --lit`
2758 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2759 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2760 RANLIB
=`findtool ${RANLIB} --lit`
2762 if test -n "$ccache"; then
2766 if test "X$endian" = "Xbig"; then
2767 defendian
="ROCKBOX_BIG_ENDIAN"
2769 defendian
="ROCKBOX_LITTLE_ENDIAN"
2772 if [ "$ARG_RBDIR" ]; then
2774 echo "Using alternate rockbox dir: ${rbdir}"
2778 -e "s,@ENDIAN@,${defendian},g" \
2779 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2780 -e "s,@config_rtc@,$config_rtc,g" \
2781 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2782 -e "s,@RBDIR@,${rbdir},g" \
2783 -e "s,@have_backlight@,$have_backlight,g" \
2784 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2785 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2787 /* This header was made by configure */
2788 #ifndef __BUILD_AUTOCONF_H
2789 #define __BUILD_AUTOCONF_H
2791 /* Define endianess for the target or simulator platform */
2794 /* Define this if you build rockbox to support the logf logging and display */
2795 #undef ROCKBOX_HAS_LOGF
2797 /* optional define for a backlight modded Ondio */
2800 /* optional define for FM radio mod for iAudio M5 */
2803 /* optional define for ATA poweroff on Player */
2806 /* optional defines for RTC mod for h1x0 */
2810 /* root of Rockbox */
2811 #define ROCKBOX_DIR "/@RBDIR@"
2813 #endif /* __BUILD_AUTOCONF_H */
2816 if test -n "$t_cpu"; then
2817 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2818 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2819 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2823 if test "$simulator" = "yes"; then
2824 # add simul make stuff on the #SIMUL# line
2825 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2826 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2828 # delete the lines that match
2829 simmagic1
='/@SIMUL1@/D'
2830 simmagic2
='/@SIMUL2@/D'
2833 if test "$swcodec" = "yes"; then
2834 voicetoolset
="rbspeexenc voicefont wavtrim"
2836 voicetoolset
="voicefont wavtrim"
2839 if test "$apps" = "apps"; then
2840 # only when we build "real" apps we build the .lng files
2844 #### Fix the cmdline ###
2845 if test -n "$ccache"; then
2849 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
2853 -e "s,@ROOTDIR@,${rootdir},g" \
2854 -e "s,@DEBUG@,${debug},g" \
2855 -e "s,@MEMORY@,${memory},g" \
2856 -e "s,@TARGET_ID@,${target_id},g" \
2857 -e "s,@TARGET@,${target},g" \
2858 -e "s,@CPU@,${t_cpu},g" \
2859 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2860 -e "s,@MODELNAME@,${modelname},g" \
2861 -e "s,@LANGUAGE@,${language},g" \
2862 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2863 -e "s,@PWD@,${pwd},g" \
2864 -e "s,@HOSTCC@,${HOSTCC},g" \
2865 -e "s,@HOSTAR@,${HOSTAR},g" \
2866 -e "s,@CC@,${CC},g" \
2867 -e "s,@LD@,${LD},g" \
2868 -e "s,@AR@,${AR},g" \
2869 -e "s,@AS@,${AS},g" \
2870 -e "s,@OC@,${OC},g" \
2871 -e "s,@WINDRES@,${WINDRES},g" \
2872 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2873 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2874 -e "s,@RANLIB@,${RANLIB},g" \
2875 -e "s,@TOOL@,${tool},g" \
2876 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2877 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2878 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2879 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2880 -e "s,@OUTPUT@,${output},g" \
2881 -e "s,@APPEXTRA@,${appextra},g" \
2882 -e "s,@ARCHOSROM@,${archosrom},g" \
2883 -e "s,@FLASHFILE@,${flash},g" \
2884 -e "s,@PLUGINS@,${plugins},g" \
2885 -e "s,@CODECS@,${swcodec},g" \
2886 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2887 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2888 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2889 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2890 -e "s!@LDOPTS@!${LDOPTS}!g" \
2891 -e "s,@LOADADDRESS@,${loadaddress},g" \
2892 -e "s,@EXTRADEF@,${extradefines},g" \
2893 -e "s,@APPSDIR@,${appsdir},g" \
2894 -e "s,@FIRMDIR@,${firmdir},g" \
2895 -e "s,@TOOLSDIR@,${toolsdir},g" \
2896 -e "s,@APPS@,${apps},g" \
2897 -e "s,@SIMVER@,${simver},g" \
2898 -e "s,@GCCVER@,${gccver},g" \
2899 -e "s,@GCCNUM@,${gccnum},g" \
2900 -e "s,@UNAME@,${uname},g" \
2901 -e "s,@ENDIAN@,${defendian},g" \
2902 -e "s,@TOOLSET@,${toolset},g" \
2905 -e "s,@MANUALDEV@,${manualdev},g" \
2906 -e "s,@ENCODER@,${ENC_CMD},g" \
2907 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2908 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2909 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2910 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2911 -e "s,@LANGS@,${buildlangs},g" \
2912 -e "s,@USE_ELF@,${USE_ELF},g" \
2913 -e "s,@RBDIR@,${rbdir},g" \
2914 -e "s,@PREFIX@,$PREFIX,g" \
2915 -e "s,@CMDLINE@,$cmdline,g" \
2917 ## Automatically generated. http://www.rockbox.org/
2919 export ROOTDIR=@ROOTDIR@
2920 export FIRMDIR=@FIRMDIR@
2921 export APPSDIR=@APPSDIR@
2922 export TOOLSDIR=@TOOLSDIR@
2923 export DOCSDIR=\$(ROOTDIR)/docs
2924 export MANUALDIR=\${ROOTDIR}/manual
2925 export DEBUG=@DEBUG@
2926 export MODELNAME=@MODELNAME@
2927 export ARCHOSROM=@ARCHOSROM@
2928 export FLASHFILE=@FLASHFILE@
2929 export TARGET_ID=@TARGET_ID@
2930 export TARGET=@TARGET@
2932 export MANUFACTURER=@MANUFACTURER@
2934 export BUILDDIR=@PWD@
2935 export LANGUAGE=@LANGUAGE@
2936 export VOICELANGUAGE=@VOICELANGUAGE@
2937 export MEMORYSIZE=@MEMORY@
2938 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2939 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2940 export MKFIRMWARE=@TOOL@
2941 export BMP2RB_MONO=@BMP2RB_MONO@
2942 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2943 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2944 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2945 export BINARY=@OUTPUT@
2946 export APPEXTRA=@APPEXTRA@
2947 export ENABLEDPLUGINS=@PLUGINS@
2948 export SOFTWARECODECS=@CODECS@
2949 export EXTRA_DEFINES=@EXTRADEF@
2950 export HOSTCC=@HOSTCC@
2951 export HOSTAR=@HOSTAR@
2957 export WINDRES=@WINDRES@
2958 export DLLTOOL=@DLLTOOL@
2959 export DLLWRAP=@DLLWRAP@
2960 export RANLIB=@RANLIB@
2961 export PREFIX=@PREFIX@
2962 export PROFILE_OPTS=@PROFILE_OPTS@
2963 export SIMVER=@SIMVER@
2964 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2965 export GCCOPTS=@GCCOPTS@
2966 export TARGET_INC=@TARGET_INC@
2967 export LOADADDRESS=@LOADADDRESS@
2968 export SHARED_FLAG=@SHARED_FLAG@
2969 export LDOPTS=@LDOPTS@
2970 export GCCVER=@GCCVER@
2971 export GCCNUM=@GCCNUM@
2972 export UNAME=@UNAME@
2973 export MANUALDEV=@MANUALDEV@
2974 export TTS_OPTS=@TTS_OPTS@
2975 export TTS_ENGINE=@TTS_ENGINE@
2976 export ENC_OPTS=@ENC_OPTS@
2977 export ENCODER=@ENCODER@
2978 export USE_ELF=@USE_ELF@
2979 export RBDIR=@RBDIR@
2981 CONFIGURE_OPTIONS=@CMDLINE@
2983 include \$(TOOLSDIR)/root.make
2987 echo "Created Makefile"