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
42 # naive approach to selecting a mingw cross-compiler on linux/*nix
43 echo "Enabling win32 crosscompiling"
45 sdl
=`findtool sdl-config`
48 prefixtools i586-mingw32msvc-
49 if [ $1 = "sdl" -a -n "$sdl" ]; then
50 sdl_cflags
="`sdl-config --cflags`"
51 sdl_libs
="`sdl-config --libs`"
53 # add cross-compiler option(s)
54 GCCOPTS
="$GCCOPTS $sdl_cflags"
55 LDOPTS
="-mconsole $sdl_libs"
57 output
="rockboxui.exe" # use this as output binary name
59 endian
="little" # windows is little endian
62 # scan the $PATH for the given command
69 # echo "checks for $file in $path" >&2
70 if test -f "$path/$file"; then
75 # check whether caller wants literal return value if not found
76 if [ "$2" = "--lit" ]; then
83 # default tool setup for native building
87 GCCOPTS
='-W -Wall -g -fno-builtin'
90 output
="rockboxui" # use this as default output binary name
91 sdl
=`findtool sdl-config`
95 if [ $1 = "sdl" ]; then
96 if [ -z "$sdl" ]; then
97 echo "configure didn't find sdl-config, which indicates that you"
98 echo "don't have SDL (properly) installed. Please correct and"
99 echo "re-run configure!"
102 # generic sdl-config checker
103 sdl_cflags
=`sdl-config --cflags`
104 sdl_libs
=`sdl-config --libs`
108 # default share option, override below if needed
109 SHARED_FLAG
="-shared"
113 echo "Cygwin host detected"
116 GCCOPTS
="$GCCOPTS $sdl_cflags"
117 LDOPTS
="-mconsole $sdl_libs"
119 output
="rockboxui.exe" # use this as output binary name
123 echo "MinGW host detected"
126 GCCOPTS
="$GCCOPTS $sdl_cflags"
127 LDOPTS
="-mconsole $sdl_libs"
129 output
="rockboxui.exe" # use this as output binary name
133 echo "Linux host detected"
134 GCCOPTS
="$GCCOPTS $sdl_cflags"
136 # cannot crosscompile without SDL installed
137 if [ -n "$sdl" ]; then
138 if [ "0" != `sdl-config --libs |grep -c mwindows` ]; then
139 # Enable crosscompiling if sdl-config is from Windows SDL
140 # overrides GCCOPTS and LDOPTS
147 echo "FreeBSD host detected"
149 GCCOPTS
="$GCCOPTS $sdl_cflags"
154 echo "Darwin host detected"
156 GCCOPTS
="$GCCOPTS $sdl_cflags"
158 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
162 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
167 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
169 if test "X$crosscompile" != "Xyes"; then
170 if [ "`uname -m`" = "x86_64" ] ||
[ "`uname -m`" = "amd64" ]; then
171 # fPIC is needed to make shared objects link
172 # setting visibility to hidden is necessary to avoid strange crashes
173 # due to symbol clashing
174 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
178 cat >$tmpdir/conftest-
$id.c
<<EOF
180 int main(int argc, char **argv)
183 char *varp = (char *)&var;
191 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
193 if test `$tmpdir/conftest-$id 2>/dev/null` -gt "1"; then
201 if [ $1 = "sdl" ]; then
202 echo "Simulator environment deemed $endian endian"
203 elif [ $1 = "checkwps" ]; then
204 echo "CheckWPS environment deemed $endian endian"
207 # use wildcard here to make it work even if it was named *.exe like
209 rm -f $tmpdir/conftest-
$id*
214 # functions for setting up cross-compiler names and options
215 # also set endianess and what the exact recommended gcc version is
216 # the gcc version should most likely match what versions we build with
221 GCCOPTS
="$CCOPTS -m1"
222 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
228 prefixtools calmrisc16-unknown-elf-
229 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
230 GCCOPTIMIZE
="-fomit-frame-pointer"
235 prefixtools m68k-elf-
236 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
237 GCCOPTIMIZE
="-fomit-frame-pointer"
244 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
245 if test "X$1" != "Xshort"; then
246 GCCOPTS
="$GCCOPTS -mlong-calls"
248 GCCOPTIMIZE
="-fomit-frame-pointer"
255 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
256 if test "$modelname" != "gigabeatf" -a "$t_manufacturer" != "as3525"; then
257 GCCOPTS
="$GCCOPTS -mlong-calls"
259 GCCOPTIMIZE
="-fomit-frame-pointer"
266 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t -mlong-calls"
267 GCCOPTIMIZE
="-fomit-frame-pointer"
274 GCCOPTS
="$CCOPTS -mcpu=arm940t -mlong-calls"
275 GCCOPTIMIZE
="-fomit-frame-pointer"
282 GCCOPTS
="$CCOPTS -mcpu=arm9e -mlong-calls"
283 GCCOPTIMIZE
="-fomit-frame-pointer"
290 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s -mlong-calls"
291 GCCOPTIMIZE
="-fomit-frame-pointer"
298 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
299 if test "$modelname" != "gigabeats"; then
300 GCCOPTS
="$GCCOPTS -mlong-calls"
302 GCCOPTIMIZE
="-fomit-frame-pointer"
309 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s -mlong-calls"
310 GCCOPTIMIZE
="-fomit-frame-pointer"
316 prefixtools mipsel-elf-
317 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
318 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
319 GCCOPTIMIZE
="-fomit-frame-pointer"
325 atype
=`echo "$1" | cut -c 2-`
326 ##################################################################
327 # Prompt for specific developer options
329 if [ "$atype" ]; then
334 echo "Enter your developer options (press enter when done)"
335 printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice"
336 if [ "$memory" = "2" ]; then
339 if [ "$modelname" = "player" ]; then
340 printf ", Use (A)TA poweroff"
342 if [ "$t_model" = "ondio" ]; then
343 printf ", (B)acklight MOD"
345 if [ "$modelname" = "m5" ]; then
346 printf ", (F)M radio MOD"
348 if [ "$modelname" = "h120" ]; then
355 while [ $cont = "1" ]; do
357 if [ "$interact" ]; then
360 option
=`echo "$atype" | cut -c 1`
365 if [ "yes" = "$profile" ]; then
366 echo "Debug is incompatible with profiling"
368 echo "DEBUG build enabled"
373 echo "logf() support enabled"
377 echo "Simulator build enabled"
381 if [ "yes" = "$use_debug" ]; then
382 echo "Profiling is incompatible with debug"
384 echo "Profiling support is enabled"
389 echo "Voice build selected"
393 if [ "$memory" = "2" ]; then
395 echo "Memory size selected: 8MB"
399 if [ "$modelname" = "player" ]; then
400 have_ata_poweroff
="#define HAVE_ATA_POWEROFF"
401 echo "ATA poweroff enabled"
405 if [ "$t_model" = "ondio" ]; then
406 have_backlight
="#define HAVE_BACKLIGHT"
407 echo "Backlight functions enabled"
411 if [ "$modelname" = "m5" ]; then
412 have_fmradio_in
="#define HAVE_FMRADIO_IN"
413 echo "FM radio functions enabled"
417 if [ "$modelname" = "h120" ]; then
418 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
419 have_rtc_alarm
="#define HAVE_RTC_ALARM"
420 echo "RTC functions enabled (DS1339/DS3231)"
424 if [ "$interact" ]; then
427 echo "[ERROR] Option $option unsupported"
431 if [ ! "$interact" ]; then
432 atype
=`echo "$atype" | cut -c 2-`
433 [ "$atype" ] || cont
=0
438 if [ "yes" = "$voice" ]; then
439 # Ask about languages to build
441 voicelanguage
=`whichlang`
442 echo "Voice language set to $voicelanguage"
444 # Configure encoder and TTS engine for each language
445 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
446 voiceconfig
"$thislang"
449 if [ "yes" = "$use_debug" ]; then
451 GCCOPTS
="$GCCOPTS -g -DDEBUG"
453 if [ "yes" = "$logf" ]; then
454 use_logf
="#define ROCKBOX_HAS_LOGF 1"
456 if [ "yes" = "$simulator" ]; then
458 extradefines
="$extradefines -DSIMULATOR"
462 if [ "yes" = "$profile" ]; then
463 extradefines
="$extradefines -DRB_PROFILE"
464 PROFILE_OPTS
="-finstrument-functions"
468 # Configure voice settings
471 if [ ! "$ARG_TTS" ]; then
472 echo "Building $thislang voice for $modelname. Select options"
476 if [ -n "`findtool flite`" ]; then
480 DEFAULT_TTS_OPTS
=$FLITE_OPTS
481 DEFAULT_NOISEFLOOR
="500"
484 if [ -n "`findtool espeak`" ]; then
488 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
489 DEFAULT_NOISEFLOOR
="500"
492 if [ -n "`findtool festival`" ]; then
493 FESTIVAL
="(F)estival "
496 FESTIVAL_OPTS
="--language italian"
499 FESTIVAL_OPTS
="--language spanish"
502 FESTIVAL_OPTS
="--language finnish"
505 FESTIVAL_OPTS
="--language czech"
511 DEFAULT_TTS
="festival"
512 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
513 DEFAULT_NOISEFLOOR
="500"
516 if [ -n "`findtool swift`" ]; then
520 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
521 DEFAULT_NOISEFLOOR
="500"
524 # Allow SAPI if Windows is in use
525 if [ -n "`findtool winver`" ]; then
529 DEFAULT_TTS_OPTS
=$SAPI_OPTS
530 DEFAULT_NOISEFLOOR
="500"
534 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
535 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
539 if [ "$ARG_TTS" ]; then
542 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
545 advopts
="$advopts --tts=$option"
549 NOISEFLOOR
="500" # TODO: check this value
555 TTS_OPTS
=$ESPEAK_OPTS
558 TTS_ENGINE
="festival"
560 TTS_OPTS
=$FESTIVAL_OPTS
573 TTS_ENGINE
=$DEFAULT_TTS
574 TTS_OPTS
=$DEFAULT_TTS_OPTS
575 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
577 echo "Using $TTS_ENGINE for TTS"
579 # Select which voice to use for Festival
580 if [ "$TTS_ENGINE" = "festival" ]; then
581 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
582 for voice
in $voicelist; do
583 TTS_FESTIVAL_VOICE
="$voice" # Default choice
586 if [ "$ARG_VOICE" ]; then
590 for voice
in $voicelist; do
591 printf "%3d. %s\n" "$i" "$voice"
594 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
598 for voice
in $voicelist; do
599 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
600 TTS_FESTIVAL_VOICE
="$voice"
604 advopts
="$advopts --voice=$CHOICE"
605 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
606 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
609 # Allow the user to input manual commandline options
610 if [ "$ARG_TTSOPTS" ]; then
611 USER_TTS_OPTS
=$ARG_TTSOPTS
613 printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
614 USER_TTS_OPTS
=`input`
617 advopts
="$advopts --ttsopts='$USER_TTS_OPTS'"
618 if [ -n "$USER_TTS_OPTS" ]; then
619 TTS_OPTS
="$USER_TTS_OPTS"
621 echo "$TTS_ENGINE options set to $TTS_OPTS"
623 if [ "$swcodec" = "yes" ]; then
626 ENC_OPTS
="-q 4 -c 10"
628 if [ -n "`findtool lame`" ]; then
631 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
633 echo "You need LAME in the system path to build voice files for"
634 echo "HWCODEC targets."
639 echo "Using $ENCODER for encoding voice clips"
641 # Allow the user to input manual commandline options
642 if [ "$ARG_ENCOPTS" ]; then
643 USER_ENC_OPTS
=$ARG_ENCOPTS
645 printf "Enter $ENCODER options (enter for defaults \"$ENC_OPTS\"): "
646 USER_ENC_OPTS
=`input`
648 advopts
="$advopts --encopts='$USER_ENC_OPTS'"
649 if [ -n "$USER_ENC_OPTS" ]; then
650 ENC_OPTS
=$USER_ENC_OPTS
652 echo "$ENCODER options set to $ENC_OPTS"
655 if [ -n "`findtool cygpath`" ]; then
656 TEMPDIR
=`cygpath . -a -w`
661 # figure out which languages that are around
662 for file in $rootdir/apps
/lang
/*.lang
; do
663 clean
=`basename $file .lang`
664 langs
="$langs $clean"
667 if [ "$ARG_LANG" ]; then
670 echo "Select a number for the language to use (default is english)"
671 # FIXME The multiple-language feature is currently broken
672 # echo "You may enter a comma-separated list of languages to build"
675 for one
in $langs; do
681 advopts
="$advopts --language=$pick"
686 # Allow the user to pass a comma-separated list of langauges
687 for thispick
in `echo $pick | sed 's/,/ /g'`; do
689 for one
in $langs; do
690 # Accept both the language number and name
691 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
692 if [ "$output" = "" ]; then
701 if [ -z "$output" ]; then
709 echo "Rockbox configure script."
710 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
711 echo "Do *NOT* run this within the tools directory!"
714 Usage: configure [OPTION]...
716 --target=TARGET Sets the target, TARGET can be either the target ID or
717 corresponding string. Run without this option to see all
720 --ram=RAM Sets the RAM for certain targets. Even though any number
721 is accepted, not every number is correct. The default
722 value will be applied, if you entered a wrong number
723 (which depends on the target). Watch the output. Run
724 without this option if you are not sure which the right
727 --type=TYPE Sets the build type. Shortcuts are also valid.
728 Run without this option to see all available types.
729 Multiple values are allowed and managed in the input
730 order. So --type=b stands for Bootloader build, while
731 --type=ab stands for "Backlight MOD" build.
733 --language=LANG Set the language used for voice generation (used only if
736 --tts=ENGINE Set the TTS engine used for voice generation (used only
739 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
742 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
744 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
746 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
747 This is useful for having multiple alternate builds on
748 your device that you can load with ROLO. However as the
749 bootloader looks for .rockbox you won't be able to boot
752 --ccache Enable ccache use (done by default these days)
753 --no-ccache Disable ccache use
754 --help Shows this message (must not be used with other options)
774 --ccache) ARG_CCACHE
=1;;
775 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
776 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
777 --no-ccache) ARG_CCACHE
=0;;
778 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
779 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
780 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
781 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
782 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
783 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
784 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
786 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
793 if [ "$TMPDIR" != "" ]; then
798 echo Using temporary directory
$tmpdir
800 if test -r "configure"; then
801 # this is a check for a configure script in the current directory, it there
802 # is one, try to figure out if it is this one!
804 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
805 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
806 echo "It will only cause you pain and grief. Instead do this:"
809 echo " mkdir build-dir"
811 echo " ../tools/configure"
813 echo "Much happiness will arise from this. Enjoy"
818 # get our current directory
821 if { echo $pwd |
grep " "; } then
822 echo "You're running this script in a path that contains space. The build"
823 echo "system is unfortunately not clever enough to deal with this. Please"
824 echo "run the script from a different path, rename the path or fix the build"
829 if [ -z "$rootdir" ]; then
830 ##################################################################
831 # Figure out where the source code root is!
833 rootdir
=`dirname $0`/..
/
835 #####################################################################
836 # Convert the possibly relative directory name to an absolute version
842 # cd back to the build dir
847 appsdir
='\$(ROOTDIR)/apps'
848 firmdir
='\$(ROOTDIR)/firmware'
849 toolsdir
='\$(ROOTDIR)/tools'
852 ##################################################################
853 # Figure out target platform
856 if [ "$ARG_TARGET" ]; then
859 echo "Enter target platform:"
861 ==Archos== ==iriver== ==Apple iPod==
862 0) Player/Studio 10) H120/H140 20) Color/Photo
863 1) Recorder 11) H320/H340 21) Nano
864 2) FM Recorder 12) iHP-100/110/115 22) Video
865 3) Recorder v2 13) iFP-790 23) 3G
866 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
867 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
869 ==Toshiba== 27) 1G, 2G
870 ==Cowon/iAudio== 40) Gigabeat F 28) Nano 2G
871 30) X5/X5V/X5L 41) Gigabeat S
872 31) M5/M5L ==SanDisk==
873 32) 7 ==Olympus= 50) Sansa e200
874 33) D2 70) M:Robe 500 51) Sansa e200R
875 34) M3/M3L 71) M:Robe 100 52) Sansa c200
877 ==Creative== ==Philips== 54) Sansa c100
878 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
879 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
880 92) Zen Vision HDD1830 57) Sansa m200v4
882 ==Onda== ==Meizu== 59) Sansa c200v2
883 120) VX747 110) M6SL 60) Sansa Clipv2
884 121) VX767 111) M6SP 61) Sansa View
888 ==Samsung== ==Tatung==
889 140) YH-820 150) Elio TPJ-1022 ==Lyre project==
890 141) YH-920 130) Lyre proto 1
898 # Set of tools built for all target platforms:
899 toolset
="rdf2binary convbdf codepages"
901 # Toolsets for some target families:
902 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
903 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
904 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
905 ipodbitmaptools
="$toolset scramble bmp2rb"
906 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
907 tccbitmaptools
="$toolset scramble mktccboot bmp2rb"
908 # generic is used by IFP, Meizu and Onda
909 genericbitmaptools
="$toolset bmp2rb"
910 # scramble is used by all other targets
911 scramblebitmaptools
="$genericbitmaptools scramble"
914 # ---- For each target ----
917 # target_id: a unique number identifying this target, IS NOT the menu number.
918 # Just use the currently highest number+1 when you add a new
920 # modelname: short model name used all over to identify this target
921 # memory: number of megabytes of RAM this target has. If the amount can
922 # be selected by the size prompt, let memory be unset here
923 # target: -Ddefine passed to the build commands to make the correct
924 # config-*.h file get included etc
925 # tool: the tool that takes a plain binary and converts that into a
926 # working "firmware" file for your target
927 # output: the final output file name
928 # boottool: the tool that takes a plain binary and generates a bootloader
929 # file for your target (or blank to use $tool)
930 # bootoutput:the final output file name for the bootloader (or blank to use
932 # appextra: passed to the APPEXTRA variable in the Makefiles.
933 # TODO: add proper explanation
934 # archosrom: used only for Archos targets that build a special flashable .ucl
936 # flash: name of output for flashing, for targets where there's a special
937 # file output for this.
938 # plugins: set to 'yes' to build the plugins. Early development builds can
939 # set this to no in the early stages to have an easier life for a
941 # swcodec: set 'yes' on swcodec targets
942 # toolset: lists what particular tools in the tools/ directory that this
943 # target needs to have built prior to building Rockbox
946 # *cc: sets up gcc and compiler options for your target builds. Note
947 # that if you select a simulator build, the compiler selection is
948 # overridden later in the script.
955 target
="-DARCHOS_PLAYER"
957 tool
="$rootdir/tools/scramble"
959 appextra
="player:gui"
960 archosrom
="$pwd/rombox.ucl"
961 flash
="$pwd/rockbox.ucl"
965 # toolset is the tools within the tools directory that we build for
966 # this particular target.
967 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
969 # Note: the convbdf is present in the toolset just because: 1) the
970 # firmware/Makefile assumes it is present always, and 2) we will need it when we
971 # build the player simulator
974 t_manufacturer
="archos"
981 target
="-DARCHOS_RECORDER"
983 tool
="$rootdir/tools/scramble"
984 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
985 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
987 appextra
="recorder:gui"
988 #archosrom="$pwd/rombox.ucl"
989 flash
="$pwd/rockbox.ucl"
992 # toolset is the tools within the tools directory that we build for
993 # this particular target.
994 toolset
=$archosbitmaptools
996 t_manufacturer
="archos"
1002 modelname
="fmrecorder"
1003 target
="-DARCHOS_FMRECORDER"
1005 tool
="$rootdir/tools/scramble -fm"
1006 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1007 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1009 appextra
="recorder:gui"
1010 #archosrom="$pwd/rombox.ucl"
1011 flash
="$pwd/rockbox.ucl"
1014 # toolset is the tools within the tools directory that we build for
1015 # this particular target.
1016 toolset
=$archosbitmaptools
1018 t_manufacturer
="archos"
1024 modelname
="recorderv2"
1025 target
="-DARCHOS_RECORDERV2"
1027 tool
="$rootdir/tools/scramble -v2"
1028 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1029 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1031 appextra
="recorder:gui"
1032 #archosrom="$pwd/rombox.ucl"
1033 flash
="$pwd/rockbox.ucl"
1036 # toolset is the tools within the tools directory that we build for
1037 # this particular target.
1038 toolset
=$archosbitmaptools
1040 t_manufacturer
="archos"
1047 target
="-DARCHOS_ONDIOSP"
1049 tool
="$rootdir/tools/scramble -osp"
1050 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1051 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1053 appextra
="recorder:gui"
1054 archosrom
="$pwd/rombox.ucl"
1055 flash
="$pwd/rockbox.ucl"
1058 # toolset is the tools within the tools directory that we build for
1059 # this particular target.
1060 toolset
=$archosbitmaptools
1062 t_manufacturer
="archos"
1069 target
="-DARCHOS_ONDIOFM"
1071 tool
="$rootdir/tools/scramble -ofm"
1072 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1073 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1075 appextra
="recorder:gui"
1076 #archosrom="$pwd/rombox.ucl"
1077 flash
="$pwd/rockbox.ucl"
1080 toolset
=$archosbitmaptools
1082 t_manufacturer
="archos"
1089 target
="-DARCHOS_AV300"
1092 tool
="$rootdir/tools/scramble -mm=C"
1093 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1094 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1096 appextra
="recorder:gui"
1099 # toolset is the tools within the tools directory that we build for
1100 # this particular target.
1101 toolset
="$toolset scramble descramble bmp2rb"
1102 # architecture, manufacturer and model for the target-tree build
1104 t_manufacturer
="archos"
1111 target
="-DIRIVER_H120"
1114 tool
="$rootdir/tools/scramble -add=h120"
1115 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1116 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1117 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1118 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1119 output
="rockbox.iriver"
1120 appextra
="recorder:gui"
1121 flash
="$pwd/rombox.iriver"
1124 # toolset is the tools within the tools directory that we build for
1125 # this particular target.
1126 toolset
=$iriverbitmaptools
1128 t_manufacturer
="iriver"
1135 target
="-DIRIVER_H300"
1138 tool
="$rootdir/tools/scramble -add=h300"
1139 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1140 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1141 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1142 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1143 output
="rockbox.iriver"
1144 appextra
="recorder:gui"
1147 # toolset is the tools within the tools directory that we build for
1148 # this particular target.
1149 toolset
=$iriverbitmaptools
1151 t_manufacturer
="iriver"
1158 target
="-DIRIVER_H100"
1161 tool
="$rootdir/tools/scramble -add=h100"
1162 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1163 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1164 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1165 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1166 output
="rockbox.iriver"
1167 appextra
="recorder:gui"
1168 flash
="$pwd/rombox.iriver"
1171 # toolset is the tools within the tools directory that we build for
1172 # this particular target.
1173 toolset
=$iriverbitmaptools
1175 t_manufacturer
="iriver"
1182 target
="-DIRIVER_IFP7XX"
1186 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1187 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1188 output
="rockbox.wma"
1189 appextra
="recorder:gui"
1192 # toolset is the tools within the tools directory that we build for
1193 # this particular target.
1194 toolset
=$genericbitmaptools
1196 t_manufacturer
="pnx0101"
1197 t_model
="iriver-ifp7xx"
1203 target
="-DIRIVER_H10"
1206 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1207 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1208 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1209 output
="rockbox.mi4"
1210 appextra
="recorder:gui"
1213 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1214 bootoutput
="H10_20GC.mi4"
1215 # toolset is the tools within the tools directory that we build for
1216 # this particular target.
1217 toolset
=$scramblebitmaptools
1218 # architecture, manufacturer and model for the target-tree build
1220 t_manufacturer
="iriver"
1227 target
="-DIRIVER_H10_5GB"
1230 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1231 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1232 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1233 output
="rockbox.mi4"
1234 appextra
="recorder:gui"
1237 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1238 bootoutput
="H10.mi4"
1239 # toolset is the tools within the tools directory that we build for
1240 # this particular target.
1241 toolset
=$scramblebitmaptools
1242 # architecture, manufacturer and model for the target-tree build
1244 t_manufacturer
="iriver"
1250 modelname
="ipodcolor"
1251 target
="-DIPOD_COLOR"
1254 tool
="$rootdir/tools/scramble -add=ipco"
1255 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1256 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1257 output
="rockbox.ipod"
1258 appextra
="recorder:gui"
1261 bootoutput
="bootloader-$modelname.ipod"
1262 # toolset is the tools within the tools directory that we build for
1263 # this particular target.
1264 toolset
=$ipodbitmaptools
1265 # architecture, manufacturer and model for the target-tree build
1267 t_manufacturer
="ipod"
1273 modelname
="ipodnano"
1274 target
="-DIPOD_NANO"
1277 tool
="$rootdir/tools/scramble -add=nano"
1278 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1279 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1280 output
="rockbox.ipod"
1281 appextra
="recorder:gui"
1284 bootoutput
="bootloader-$modelname.ipod"
1285 # toolset is the tools within the tools directory that we build for
1286 # this particular target.
1287 toolset
=$ipodbitmaptools
1288 # architecture, manufacturer and model for the target-tree build
1290 t_manufacturer
="ipod"
1296 modelname
="ipodvideo"
1297 target
="-DIPOD_VIDEO"
1299 tool
="$rootdir/tools/scramble -add=ipvd"
1300 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1301 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1302 output
="rockbox.ipod"
1303 appextra
="recorder:gui"
1306 bootoutput
="bootloader-$modelname.ipod"
1307 # toolset is the tools within the tools directory that we build for
1308 # this particular target.
1309 toolset
=$ipodbitmaptools
1310 # architecture, manufacturer and model for the target-tree build
1312 t_manufacturer
="ipod"
1322 tool
="$rootdir/tools/scramble -add=ip3g"
1323 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1324 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1325 output
="rockbox.ipod"
1326 appextra
="recorder:gui"
1329 bootoutput
="bootloader-$modelname.ipod"
1330 # toolset is the tools within the tools directory that we build for
1331 # this particular target.
1332 toolset
=$ipodbitmaptools
1333 # architecture, manufacturer and model for the target-tree build
1335 t_manufacturer
="ipod"
1345 tool
="$rootdir/tools/scramble -add=ip4g"
1346 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1347 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1348 output
="rockbox.ipod"
1349 appextra
="recorder:gui"
1352 bootoutput
="bootloader-$modelname.ipod"
1353 # toolset is the tools within the tools directory that we build for
1354 # this particular target.
1355 toolset
=$ipodbitmaptools
1356 # architecture, manufacturer and model for the target-tree build
1358 t_manufacturer
="ipod"
1364 modelname
="ipodmini"
1365 target
="-DIPOD_MINI"
1368 tool
="$rootdir/tools/scramble -add=mini"
1369 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1370 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1371 output
="rockbox.ipod"
1372 appextra
="recorder:gui"
1375 bootoutput
="bootloader-$modelname.ipod"
1376 # toolset is the tools within the tools directory that we build for
1377 # this particular target.
1378 toolset
=$ipodbitmaptools
1379 # architecture, manufacturer and model for the target-tree build
1381 t_manufacturer
="ipod"
1387 modelname
="ipodmini2g"
1388 target
="-DIPOD_MINI2G"
1391 tool
="$rootdir/tools/scramble -add=mn2g"
1392 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1393 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1394 output
="rockbox.ipod"
1395 appextra
="recorder:gui"
1398 bootoutput
="bootloader-$modelname.ipod"
1399 # toolset is the tools within the tools directory that we build for
1400 # this particular target.
1401 toolset
=$ipodbitmaptools
1402 # architecture, manufacturer and model for the target-tree build
1404 t_manufacturer
="ipod"
1410 modelname
="ipod1g2g"
1411 target
="-DIPOD_1G2G"
1414 tool
="$rootdir/tools/scramble -add=1g2g"
1415 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1416 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1417 output
="rockbox.ipod"
1418 appextra
="recorder:gui"
1421 bootoutput
="bootloader-$modelname.ipod"
1422 # toolset is the tools within the tools directory that we build for
1423 # this particular target.
1424 toolset
=$ipodbitmaptools
1425 # architecture, manufacturer and model for the target-tree build
1427 t_manufacturer
="ipod"
1433 modelname
="ipodnano2g"
1434 target
="-DIPOD_NANO2G"
1437 tool
="$rootdir/tools/scramble -add=nn2g"
1438 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1439 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1440 output
="rockbox.ipod"
1441 appextra
="recorder:gui"
1444 bootoutput
="bootloader-$modelname.ipod"
1445 # toolset is the tools within the tools directory that we build for
1446 # this particular target.
1447 toolset
=$ipodbitmaptools
1448 # architecture, manufacturer and model for the target-tree build
1450 t_manufacturer
="s5l8700"
1451 t_model
="ipodnano2g"
1457 target
="-DIAUDIO_X5"
1460 tool
="$rootdir/tools/scramble -add=iax5"
1461 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1462 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1463 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1464 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1465 output
="rockbox.iaudio"
1466 appextra
="recorder:gui"
1469 # toolset is the tools within the tools directory that we build for
1470 # this particular target.
1471 toolset
="$iaudiobitmaptools"
1472 # architecture, manufacturer and model for the target-tree build
1474 t_manufacturer
="iaudio"
1481 target
="-DIAUDIO_M5"
1484 tool
="$rootdir/tools/scramble -add=iam5"
1485 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1486 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1487 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1488 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1489 output
="rockbox.iaudio"
1490 appextra
="recorder:gui"
1493 # toolset is the tools within the tools directory that we build for
1494 # this particular target.
1495 toolset
="$iaudiobitmaptools"
1496 # architecture, manufacturer and model for the target-tree build
1498 t_manufacturer
="iaudio"
1508 tool
="$rootdir/tools/scramble -add=i7"
1509 boottool
="$rootdir/tools/scramble -tcc=crc"
1510 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1511 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1512 output
="rockbox.iaudio"
1513 appextra
="recorder:gui"
1516 bootoutput
="I7_FW.BIN"
1517 # toolset is the tools within the tools directory that we build for
1518 # this particular target.
1519 toolset
="$tccbitmaptools"
1520 # architecture, manufacturer and model for the target-tree build
1522 t_manufacturer
="tcc77x"
1532 tool
="$rootdir/tools/scramble -add=d2"
1533 boottool
="$rootdir/tools/scramble -tcc=crc"
1534 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1535 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1537 appextra
="recorder:gui"
1540 toolset
="$tccbitmaptools"
1541 # architecture, manufacturer and model for the target-tree build
1543 t_manufacturer
="tcc780x"
1550 target
="-DIAUDIO_M3"
1553 tool
="$rootdir/tools/scramble -add=iam3"
1554 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1555 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1556 output
="rockbox.iaudio"
1557 appextra
="recorder:gui"
1560 # toolset is the tools within the tools directory that we build for
1561 # this particular target.
1562 toolset
="$iaudiobitmaptools"
1563 # architecture, manufacturer and model for the target-tree build
1565 t_manufacturer
="iaudio"
1571 modelname
="gigabeatf"
1572 target
="-DGIGABEAT_F"
1575 tool
="$rootdir/tools/scramble -add=giga"
1576 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1577 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1578 output
="rockbox.gigabeat"
1579 appextra
="recorder:gui"
1582 toolset
=$gigabeatbitmaptools
1583 boottool
="$rootdir/tools/scramble -gigabeat"
1584 bootoutput
="FWIMG01.DAT"
1585 # architecture, manufacturer and model for the target-tree build
1587 t_manufacturer
="s3c2440"
1588 t_model
="gigabeat-fx"
1593 modelname
="gigabeats"
1594 target
="-DGIGABEAT_S"
1597 tool
="$rootdir/tools/scramble -add=gigs"
1598 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1599 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1600 output
="rockbox.gigabeat"
1601 appextra
="recorder:gui"
1604 toolset
="$gigabeatbitmaptools mknkboot"
1605 boottool
="$rootdir/tools/scramble -gigabeats"
1607 # architecture, manufacturer and model for the target-tree build
1609 t_manufacturer
="imx31"
1610 t_model
="gigabeat-s"
1615 modelname
="mrobe500"
1616 target
="-DMROBE_500"
1619 tool
="$rootdir/tools/scramble -add=m500"
1620 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1621 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1622 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1623 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1624 output
="rockbox.mrobe500"
1625 appextra
="recorder:gui"
1628 toolset
=$gigabeatbitmaptools
1630 bootoutput
="rockbox.mrboot"
1631 # architecture, manufacturer and model for the target-tree build
1633 t_manufacturer
="tms320dm320"
1639 modelname
="mrobe100"
1640 target
="-DMROBE_100"
1643 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1644 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1645 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1646 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1647 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1648 output
="rockbox.mi4"
1649 appextra
="recorder:gui"
1652 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1653 bootoutput
="pp5020.mi4"
1654 # toolset is the tools within the tools directory that we build for
1655 # this particular target.
1656 toolset
=$scramblebitmaptools
1657 # architecture, manufacturer and model for the target-tree build
1659 t_manufacturer
="olympus"
1665 modelname
="logikdax"
1666 target
="-DLOGIK_DAX"
1669 tool
="$rootdir/tools/scramble -add=ldax"
1670 boottool
="$rootdir/tools/scramble -tcc=crc"
1671 bootoutput
="player.rom"
1672 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1673 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1674 output
="rockbox.logik"
1675 appextra
="recorder:gui"
1678 # toolset is the tools within the tools directory that we build for
1679 # this particular target.
1680 toolset
=$tccbitmaptools
1681 # architecture, manufacturer and model for the target-tree build
1683 t_manufacturer
="tcc77x"
1689 modelname
="creativezvm30gb"
1690 target
="-DCREATIVE_ZVM"
1693 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1694 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1695 tool
="$rootdir/tools/scramble -creative=zvm"
1697 output
="rockbox.zvm"
1698 appextra
="recorder:gui"
1701 toolset
=$ipodbitmaptools
1702 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1703 bootoutput
="rockbox.zvmboot"
1704 # architecture, manufacturer and model for the target-tree build
1706 t_manufacturer
="tms320dm320"
1707 t_model
="creative-zvm"
1712 modelname
="creativezvm60gb"
1713 target
="-DCREATIVE_ZVM60GB"
1716 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1717 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1718 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1720 output
="rockbox.zvm60"
1721 appextra
="recorder:gui"
1724 toolset
=$ipodbitmaptools
1725 boottool
="$rootdir/tools/scramble -creative=zvm60"
1726 bootoutput
="rockbox.zvm60boot"
1727 # architecture, manufacturer and model for the target-tree build
1729 t_manufacturer
="tms320dm320"
1730 t_model
="creative-zvm"
1733 92|creativezenvision
)
1735 modelname
="creativezenvision"
1736 target
="-DCREATIVE_ZV"
1739 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1740 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1741 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1744 appextra
="recorder:gui"
1747 toolset
=$ipodbitmaptools
1748 boottool
="$rootdir/tools/scramble -creative=zenvision"
1749 bootoutput
="rockbox.zvboot"
1750 # architecture, manufacturer and model for the target-tree build
1752 t_manufacturer
="tms320dm320"
1753 t_model
="creative-zvm"
1759 target
="-DSANSA_E200"
1760 memory
=32 # supposedly
1762 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1763 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1764 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1765 output
="rockbox.mi4"
1766 appextra
="recorder:gui"
1769 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1770 bootoutput
="PP5022.mi4"
1771 # toolset is the tools within the tools directory that we build for
1772 # this particular target.
1773 toolset
=$scramblebitmaptools
1774 # architecture, manufacturer and model for the target-tree build
1776 t_manufacturer
="sandisk"
1777 t_model
="sansa-e200"
1781 # the e200R model is pretty much identical to the e200, it only has a
1782 # different option to the scramble tool when building a bootloader and
1783 # makes the bootloader output file name in all lower case.
1786 target
="-DSANSA_E200"
1787 memory
=32 # supposedly
1789 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1790 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1791 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1792 output
="rockbox.mi4"
1793 appextra
="recorder:gui"
1796 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1797 bootoutput
="pp5022.mi4"
1798 # toolset is the tools within the tools directory that we build for
1799 # this particular target.
1800 toolset
=$scramblebitmaptools
1801 # architecture, manufacturer and model for the target-tree build
1803 t_manufacturer
="sandisk"
1804 t_model
="sansa-e200"
1810 target
="-DSANSA_C200"
1811 memory
=32 # supposedly
1813 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1814 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1815 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1816 output
="rockbox.mi4"
1817 appextra
="recorder:gui"
1820 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1821 bootoutput
="firmware.mi4"
1822 # toolset is the tools within the tools directory that we build for
1823 # this particular target.
1824 toolset
=$scramblebitmaptools
1825 # architecture, manufacturer and model for the target-tree build
1827 t_manufacturer
="sandisk"
1828 t_model
="sansa-c200"
1834 target
="-DSANSA_M200"
1837 tool
="$rootdir/tools/scramble -add=m200"
1838 boottool
="$rootdir/tools/scramble -tcc=crc"
1839 bootoutput
="player.rom"
1840 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1841 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1842 output
="rockbox.m200"
1843 appextra
="recorder:gui"
1846 # toolset is the tools within the tools directory that we build for
1847 # this particular target.
1848 toolset
=$tccbitmaptools
1849 # architecture, manufacturer and model for the target-tree build
1851 t_manufacturer
="tcc77x"
1858 target
="-DSANSA_C100"
1861 tool
="$rootdir/tools/scramble -add=c100"
1862 boottool
="$rootdir/tools/scramble -tcc=crc"
1863 bootoutput
="player.rom"
1864 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1865 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1866 output
="rockbox.c100"
1867 appextra
="recorder:gui"
1870 # toolset is the tools within the tools directory that we build for
1871 # this particular target.
1872 toolset
=$tccbitmaptools
1873 # architecture, manufacturer and model for the target-tree build
1875 t_manufacturer
="tcc77x"
1882 target
="-DSANSA_CLIP"
1884 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1885 bmp2rb_native
="$bmp2rb_mono"
1886 tool
="$rootdir/tools/scramble -add=clip"
1887 output
="rockbox.sansa"
1888 bootoutput
="bootloader-clip.sansa"
1889 appextra
="recorder:gui"
1892 toolset
=$scramblebitmaptools
1894 t_manufacturer
="as3525"
1895 t_model
="sansa-clip"
1903 target
="-DSANSA_E200V2"
1905 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1906 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1907 tool
="$rootdir/tools/scramble -add=e2v2"
1908 output
="rockbox.sansa"
1909 bootoutput
="bootloader-e200v2.sansa"
1910 appextra
="recorder:gui"
1913 toolset
=$scramblebitmaptools
1915 t_manufacturer
="as3525"
1916 t_model
="sansa-e200v2"
1924 target
="-DSANSA_M200V4"
1926 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1927 bmp2rb_native
="$bmp2rb_mono"
1928 tool
="$rootdir/tools/scramble -add=m2v4"
1929 output
="rockbox.sansa"
1930 bootoutput
="bootloader-m200v4.sansa"
1931 appextra
="recorder:gui"
1934 toolset
=$scramblebitmaptools
1936 t_manufacturer
="as3525"
1937 t_model
="sansa-m200v4"
1945 target
="-DSANSA_FUZE"
1947 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1948 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1949 tool
="$rootdir/tools/scramble -add=fuze"
1950 output
="rockbox.sansa"
1951 bootoutput
="bootloader-fuze.sansa"
1952 appextra
="recorder:gui"
1955 toolset
=$scramblebitmaptools
1957 t_manufacturer
="as3525"
1958 t_model
="sansa-fuze"
1966 target
="-DSANSA_C200V2"
1967 memory
=2 # as per OF diagnosis mode
1968 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1969 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1970 tool
="$rootdir/tools/scramble -add=c2v2"
1971 output
="rockbox.sansa"
1972 bootoutput
="bootloader-c200v2.sansa"
1973 appextra
="recorder:gui"
1976 # toolset is the tools within the tools directory that we build for
1977 # this particular target.
1978 toolset
=$scramblebitmaptools
1979 # architecture, manufacturer and model for the target-tree build
1981 t_manufacturer
="as3525"
1982 t_model
="sansa-c200v2"
1987 echo "Sansa Clipv2 is not yet supported !"
1991 target
="-DSANSA_CLIPV2"
1994 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1995 bmp2rb_native
="$bmp2rb_mono"
1996 tool
="$rootdir/tools/scramble -add=clv2"
1997 output
="rockbox.sansa"
1998 bootoutput
="bootloader-clipv2.sansa"
1999 appextra
="recorder:gui"
2002 toolset
=$scramblebitmaptools
2004 t_manufacturer
="as3525"
2005 t_model
="sansa-clipv2"
2009 echo "Sansa View is not yet supported!"
2013 target
="-DSANSA_VIEW"
2016 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2017 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2018 output
="rockbox.mi4"
2022 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2023 bootoutput
="firmware.mi4"
2024 # toolset is the tools within the tools directory that we build for
2025 # this particular target.
2026 toolset
=$scramblebitmaptools
2028 t_manufacturer
="sandisk"
2029 t_model
="sansa-view"
2035 target
="-DELIO_TPJ1022"
2038 tool
="$rootdir/tools/scramble -add tpj2"
2039 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2040 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2041 output
="rockbox.elio"
2042 appextra
="recorder:gui"
2045 boottool
="$rootdir/tools/scramble -mi4v2"
2046 bootoutput
="pp5020.mi4"
2047 # toolset is the tools within the tools directory that we build for
2048 # this particular target.
2049 toolset
=$scramblebitmaptools
2050 # architecture, manufacturer and model for the target-tree build
2052 t_manufacturer
="tatung"
2059 target
="-DPHILIPS_SA9200"
2060 memory
=32 # supposedly
2062 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2063 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2064 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2065 output
="rockbox.mi4"
2066 appextra
="recorder:gui"
2069 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2070 bootoutput
="FWImage.ebn"
2071 # toolset is the tools within the tools directory that we build for
2072 # this particular target.
2073 toolset
=$scramblebitmaptools
2074 # architecture, manufacturer and model for the target-tree build
2076 t_manufacturer
="philips"
2083 target
="-DPHILIPS_HDD1630"
2084 memory
=32 # supposedly
2086 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2087 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2088 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2089 output
="rockbox.mi4"
2090 appextra
="recorder:gui"
2093 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2094 bootoutput
="FWImage.ebn"
2095 # toolset is the tools within the tools directory that we build for
2096 # this particular target.
2097 toolset
=$scramblebitmaptools
2098 # architecture, manufacturer and model for the target-tree build
2100 t_manufacturer
="philips"
2106 modelname
="meizum6sl"
2107 target
="-DMEIZU_M6SL"
2111 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2112 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2113 output
="rockbox.meizu"
2114 appextra
="recorder:gui"
2117 toolset
=$genericbitmaptools
2119 bootoutput
="rockboot.ebn"
2120 # architecture, manufacturer and model for the target-tree build
2122 t_manufacturer
="s5l8700"
2123 t_model
="meizu-m6sl"
2128 modelname
="meizum6sp"
2129 target
="-DMEIZU_M6SP"
2133 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2134 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2135 output
="rockbox.meizu"
2136 appextra
="recorder:gui"
2139 toolset
=$genericbitmaptools
2141 bootoutput
="rockboot.ebn"
2142 # architecture, manufacturer and model for the target-tree build
2144 t_manufacturer
="s5l8700"
2145 t_model
="meizu-m6sp"
2155 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2156 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2157 output
="rockbox.meizu"
2158 appextra
="recorder:gui"
2161 toolset
=$genericbitmaptools
2163 bootoutput
="rockboot.ebn"
2164 # architecture, manufacturer and model for the target-tree build
2166 t_manufacturer
="s5l8700"
2172 modelname
="ondavx747"
2173 target
="-DONDA_VX747"
2176 tool
="$rootdir/tools/scramble -add=x747"
2177 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2178 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2179 output
="rockbox.vx747"
2180 appextra
="recorder:gui"
2183 toolset
=$genericbitmaptools
2184 boottool
="$rootdir/tools/scramble -ccpmp"
2185 bootoutput
="ccpmp.bin"
2186 # architecture, manufacturer and model for the target-tree build
2188 t_manufacturer
="ingenic_jz47xx"
2189 t_model
="onda_vx747"
2194 modelname
="ondavx767"
2195 target
="-DONDA_VX767"
2199 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2200 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2201 output
="rockbox.vx767"
2202 appextra
="recorder:gui"
2205 toolset
=$genericbitmaptools
2206 boottool
="$rootdir/tools/scramble -ccpmp"
2207 bootoutput
="ccpmp.bin"
2208 # architecture, manufacturer and model for the target-tree build
2210 t_manufacturer
="ingenic_jz47xx"
2211 t_model
="onda_vx767"
2216 modelname
="ondavx747p"
2217 target
="-DONDA_VX747P"
2220 tool
="$rootdir/tools/scramble -add=747p"
2221 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2222 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2223 output
="rockbox.vx747p"
2224 appextra
="recorder:gui"
2227 toolset
=$genericbitmaptools
2228 boottool
="$rootdir/tools/scramble -ccpmp"
2229 bootoutput
="ccpmp.bin"
2230 # architecture, manufacturer and model for the target-tree build
2232 t_manufacturer
="ingenic_jz47xx"
2233 t_model
="onda_vx747"
2238 modelname
="ondavx777"
2239 target
="-DONDA_VX777"
2242 tool
="$rootdir/tools/scramble -add=x777"
2243 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2244 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2245 output
="rockbox.vx777"
2246 appextra
="recorder:gui"
2249 toolset
=$genericbitmaptools
2250 boottool
="$rootdir/tools/scramble -ccpmp"
2251 bootoutput
="ccpmp.bin"
2252 # architecture, manufacturer and model for the target-tree build
2254 t_manufacturer
="ingenic_jz47xx"
2255 t_model
="onda_vx747"
2260 modelname
="lyre_proto1"
2261 target
="-DLYRE_PROTO1"
2265 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2266 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2267 output
="rockbox.lyre"
2268 appextra
="recorder:gui"
2271 toolset
=$scramblebitmaptools
2273 bootoutput
="bootloader-proto1.lyre"
2274 # architecture, manufacturer and model for the target-tree build
2276 t_manufacturer
="at91sam"
2277 t_model
="lyre_proto1"
2283 target
="-DSAMSUNG_YH820"
2286 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2287 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2288 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2289 output
="rockbox.mi4"
2290 appextra
="recorder:gui"
2293 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2294 bootoutput
="FW_YH820.mi4"
2295 # toolset is the tools within the tools directory that we build for
2296 # this particular target.
2297 toolset
=$scramblebitmaptools
2298 # architecture, manufacturer and model for the target-tree build
2300 t_manufacturer
="samsung"
2307 target
="-DSAMSUNG_YH920"
2310 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2311 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2312 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2313 output
="rockbox.mi4"
2314 appextra
="recorder:gui"
2317 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2318 bootoutput
="PP5020.mi4"
2319 # toolset is the tools within the tools directory that we build for
2320 # this particular target.
2321 toolset
=$scramblebitmaptools
2322 # architecture, manufacturer and model for the target-tree build
2324 t_manufacturer
="samsung"
2331 target
="-DSAMSUNG_YH925"
2334 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2335 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2336 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2337 output
="rockbox.mi4"
2338 appextra
="recorder:gui"
2341 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2342 bootoutput
="FW_YH925.mi4"
2343 # toolset is the tools within the tools directory that we build for
2344 # this particular target.
2345 toolset
=$scramblebitmaptools
2346 # architecture, manufacturer and model for the target-tree build
2348 t_manufacturer
="samsung"
2355 target
="-DSAMSUNG_YPS3"
2359 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2360 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2361 output
="rockbox.yps3"
2362 appextra
="recorder:gui"
2365 toolset
=$genericbitmaptools
2367 bootoutput
="rockboot.ebn"
2368 # architecture, manufacturer and model for the target-tree build
2370 t_manufacturer
="s5l8700"
2376 echo "Please select a supported target platform!"
2382 echo "Platform set to $modelname"
2386 ############################################################################
2387 # Amount of memory, for those that can differ. They have $memory unset at
2391 if [ -z "$memory" ]; then
2394 if [ "$ARG_RAM" ]; then
2397 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2410 if [ "$ARG_RAM" ]; then
2413 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2426 echo "Memory size selected: $memory MB"
2427 [ "$ARG_TYPE" ] ||
echo ""
2431 ##################################################################
2432 # Figure out build "type"
2435 # the ifp7x0 is the only platform that supports building a gdb stub like
2439 gdbstub
="(G)DB stub, "
2442 gdbstub
="(I)nstaller, "
2445 gdbstub
="(E)raser, "
2450 if [ "$ARG_TYPE" ]; then
2453 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2459 appsdir
='\$(ROOTDIR)/bootloader'
2461 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2463 echo "e200R-installer build selected"
2466 appsdir
='\$(ROOTDIR)/bootloader'
2468 echo "C2(4)0 or C2(5)0"
2472 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2473 echo "c240 eraser build selected"
2476 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2477 echo "c240 eraser build selected"
2481 echo "c200 eraser build selected"
2484 if test $t_manufacturer = "archos"; then
2485 # Archos SH-based players do this somewhat differently for
2487 appsdir
='\$(ROOTDIR)/flash/bootbox'
2490 appsdir
='\$(ROOTDIR)/bootloader'
2493 if test -n "$boottool"; then
2496 if test -n "$bootoutput"; then
2500 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2502 echo "Bootloader build selected"
2507 extradefines
="-DSIMULATOR"
2510 echo "Simulator build selected"
2513 echo "Advanced build selected"
2514 whichadvanced
$btype
2517 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2518 appsdir
='\$(ROOTDIR)/gdb'
2527 echo "GDB stub build selected"
2532 echo "Manual build selected"
2540 appsdir
='\$(ROOTDIR)/tools/checkwps';
2541 output
='checkwps.'${modelname};
2543 echo "CheckWPS build selected"
2551 appsdir
='\$(ROOTDIR)/tools/database';
2552 output
='database.'${modelname};
2554 echo "Database tool build selected"
2557 if [ "$modelname" = "e200r" ]; then
2558 echo "Do not use the e200R target for regular builds. Use e200 instead."
2562 btype
="N" # set it explicitly since RET only gets here as well
2563 echo "Normal build selected"
2567 # to be able running "make manual" from non-manual configuration
2570 manualdev
="recorderv2fm"
2573 manualdev
="recorderv2fm"
2579 manualdev
="ipodmini"
2582 manualdev
=$modelname
2586 if [ -z "$debug" ]; then
2587 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2590 echo "Using source code root directory: $rootdir"
2592 # this was once possible to change at build-time, but no more:
2597 if [ "yes" = "$simulator" ]; then
2598 # setup compiler and things for simulator
2601 if [ -d "simdisk" ]; then
2602 echo "Subdirectory 'simdisk' already present"
2605 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2609 # Now, figure out version number of the (gcc) compiler we are about to use
2610 gccver
=`$CC -dumpversion`;
2612 # figure out the binutil version too and display it, mostly for the build
2613 # system etc to be able to see it easier
2614 if [ $uname = "Darwin" ]; then
2615 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2617 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2620 if [ -z "$gccver" ]; then
2621 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2622 echo "[WARNING] this may cause your build to fail since we cannot do the"
2623 echo "[WARNING] checks we want now."
2626 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2629 num1
=`echo $gccver | cut -d . -f1`
2630 num2
=`echo $gccver | cut -d . -f2`
2631 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2638 echo "Using $CC $gccver ($gccnum)"
2640 if test "$gccnum" -ge "400"; then
2641 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2642 # so we ignore that warnings for now
2644 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2647 if test "$gccnum" -ge "401"; then
2648 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2649 # will break strict-aliasing rules"
2651 GCCOPTS
="$GCCOPTS -fno-strict-aliasing"
2654 if test "$gccnum" -ge "402"; then
2655 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2656 # and later would throw it for several valid cases
2657 GCCOPTS
="$GCCOPTS -Wno-override-init"
2665 # cross-compile for win32
2668 # Verify that the cross-compiler is of a recommended version!
2669 if test "$gccver" != "$gccchoice"; then
2670 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2671 echo "WARNING: version $gccchoice!"
2672 echo "WARNING: This may cause your build to fail since it may be a version"
2673 echo "WARNING: that isn't functional or known to not be the best choice."
2674 echo "WARNING: If you suffer from build problems, you know that this is"
2675 echo "WARNING: a likely source for them..."
2683 echo "Using $LD $ldver"
2685 # check the compiler for SH platforms
2686 if test "$CC" = "sh-elf-gcc"; then
2687 if test "$gccnum" -lt "400"; then
2688 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2689 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2691 # figure out patch status
2692 gccpatch
=`$CC --version`;
2694 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2695 echo "gcc $gccver is rockbox patched"
2696 # then convert -O to -Os to get smaller binaries!
2697 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2699 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2700 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2705 if test "$CC" = "m68k-elf-gcc"; then
2706 # convert -O to -Os to get smaller binaries!
2707 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2710 if [ "$ARG_CCACHE" = "1" ]; then
2711 echo "Enable ccache for building"
2713 elif [ "$ARG_CCACHE" != "0" ]; then
2714 ccache
=`findtool ccache`
2715 if test -n "$ccache"; then
2716 echo "Found and uses ccache ($ccache)"
2720 # figure out the full path to the various commands if possible
2721 HOSTCC
=`findtool gcc --lit`
2722 HOSTAR
=`findtool ar --lit`
2723 CC
=`findtool ${CC} --lit`
2724 LD
=`findtool ${AR} --lit`
2725 AR
=`findtool ${AR} --lit`
2726 AS
=`findtool ${AS} --lit`
2727 OC
=`findtool ${OC} --lit`
2728 WINDRES
=`findtool ${WINDRES} --lit`
2729 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2730 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2731 RANLIB
=`findtool ${RANLIB} --lit`
2733 if test -n "$ccache"; then
2737 if test "X$endian" = "Xbig"; then
2738 defendian
="ROCKBOX_BIG_ENDIAN"
2740 defendian
="ROCKBOX_LITTLE_ENDIAN"
2743 if [ "$ARG_RBDIR" ]; then
2745 echo "Using alternate rockbox dir: ${rbdir}"
2749 -e "s,@ENDIAN@,${defendian},g" \
2750 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2751 -e "s,@config_rtc@,$config_rtc,g" \
2752 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2753 -e "s,@RBDIR@,${rbdir},g" \
2754 -e "s,@have_backlight@,$have_backlight,g" \
2755 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2756 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2758 /* This header was made by configure */
2759 #ifndef __BUILD_AUTOCONF_H
2760 #define __BUILD_AUTOCONF_H
2762 /* Define endianess for the target or simulator platform */
2765 /* Define this if you build rockbox to support the logf logging and display */
2766 #undef ROCKBOX_HAS_LOGF
2768 /* optional define for a backlight modded Ondio */
2771 /* optional define for FM radio mod for iAudio M5 */
2774 /* optional define for ATA poweroff on Player */
2777 /* optional defines for RTC mod for h1x0 */
2781 /* root of Rockbox */
2782 #define ROCKBOX_DIR "/@RBDIR@"
2784 #endif /* __BUILD_AUTOCONF_H */
2787 if test -n "$t_cpu"; then
2788 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2789 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2790 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2794 if test "$simulator" = "yes"; then
2795 # add simul make stuff on the #SIMUL# line
2796 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2797 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2799 # delete the lines that match
2800 simmagic1
='/@SIMUL1@/D'
2801 simmagic2
='/@SIMUL2@/D'
2804 if test "$swcodec" = "yes"; then
2805 voicetoolset
="rbspeexenc voicefont wavtrim"
2807 voicetoolset
="voicefont wavtrim"
2810 if test "$apps" = "apps"; then
2811 # only when we build "real" apps we build the .lng files
2815 #### Fix the cmdline ###
2816 if test -n "$ccache"; then
2820 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
2824 -e "s,@ROOTDIR@,${rootdir},g" \
2825 -e "s,@DEBUG@,${debug},g" \
2826 -e "s,@MEMORY@,${memory},g" \
2827 -e "s,@TARGET_ID@,${target_id},g" \
2828 -e "s,@TARGET@,${target},g" \
2829 -e "s,@CPU@,${t_cpu},g" \
2830 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2831 -e "s,@MODELNAME@,${modelname},g" \
2832 -e "s,@LANGUAGE@,${language},g" \
2833 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2834 -e "s,@PWD@,${pwd},g" \
2835 -e "s,@HOSTCC@,${HOSTCC},g" \
2836 -e "s,@HOSTAR@,${HOSTAR},g" \
2837 -e "s,@CC@,${CC},g" \
2838 -e "s,@LD@,${LD},g" \
2839 -e "s,@AR@,${AR},g" \
2840 -e "s,@AS@,${AS},g" \
2841 -e "s,@OC@,${OC},g" \
2842 -e "s,@WINDRES@,${WINDRES},g" \
2843 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2844 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2845 -e "s,@RANLIB@,${RANLIB},g" \
2846 -e "s,@TOOL@,${tool},g" \
2847 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2848 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2849 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2850 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2851 -e "s,@OUTPUT@,${output},g" \
2852 -e "s,@APPEXTRA@,${appextra},g" \
2853 -e "s,@ARCHOSROM@,${archosrom},g" \
2854 -e "s,@FLASHFILE@,${flash},g" \
2855 -e "s,@PLUGINS@,${plugins},g" \
2856 -e "s,@CODECS@,${swcodec},g" \
2857 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2858 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2859 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2860 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2861 -e "s!@LDOPTS@!${LDOPTS}!g" \
2862 -e "s,@LOADADDRESS@,${loadaddress},g" \
2863 -e "s,@EXTRADEF@,${extradefines},g" \
2864 -e "s,@APPSDIR@,${appsdir},g" \
2865 -e "s,@FIRMDIR@,${firmdir},g" \
2866 -e "s,@TOOLSDIR@,${toolsdir},g" \
2867 -e "s,@APPS@,${apps},g" \
2868 -e "s,@SIMVER@,${simver},g" \
2869 -e "s,@GCCVER@,${gccver},g" \
2870 -e "s,@GCCNUM@,${gccnum},g" \
2871 -e "s,@UNAME@,${uname},g" \
2872 -e "s,@ENDIAN@,${defendian},g" \
2873 -e "s,@TOOLSET@,${toolset},g" \
2876 -e "s,@MANUALDEV@,${manualdev},g" \
2877 -e "s,@ENCODER@,${ENC_CMD},g" \
2878 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2879 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2880 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2881 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2882 -e "s,@LANGS@,${buildlangs},g" \
2883 -e "s,@USE_ELF@,${USE_ELF},g" \
2884 -e "s,@RBDIR@,${rbdir},g" \
2885 -e "s,@PREFIX@,$PREFIX,g" \
2886 -e "s,@CMDLINE@,$cmdline,g" \
2888 ## Automatically generated. http://www.rockbox.org/
2890 export ROOTDIR=@ROOTDIR@
2891 export FIRMDIR=@FIRMDIR@
2892 export APPSDIR=@APPSDIR@
2893 export TOOLSDIR=@TOOLSDIR@
2894 export DOCSDIR=\$(ROOTDIR)/docs
2895 export MANUALDIR=\${ROOTDIR}/manual
2896 export DEBUG=@DEBUG@
2897 export MODELNAME=@MODELNAME@
2898 export ARCHOSROM=@ARCHOSROM@
2899 export FLASHFILE=@FLASHFILE@
2900 export TARGET_ID=@TARGET_ID@
2901 export TARGET=@TARGET@
2903 export MANUFACTURER=@MANUFACTURER@
2905 export BUILDDIR=@PWD@
2906 export LANGUAGE=@LANGUAGE@
2907 export VOICELANGUAGE=@VOICELANGUAGE@
2908 export MEMORYSIZE=@MEMORY@
2909 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2910 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2911 export MKFIRMWARE=@TOOL@
2912 export BMP2RB_MONO=@BMP2RB_MONO@
2913 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2914 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2915 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2916 export BINARY=@OUTPUT@
2917 export APPEXTRA=@APPEXTRA@
2918 export ENABLEDPLUGINS=@PLUGINS@
2919 export SOFTWARECODECS=@CODECS@
2920 export EXTRA_DEFINES=@EXTRADEF@
2921 export HOSTCC=@HOSTCC@
2922 export HOSTAR=@HOSTAR@
2928 export WINDRES=@WINDRES@
2929 export DLLTOOL=@DLLTOOL@
2930 export DLLWRAP=@DLLWRAP@
2931 export RANLIB=@RANLIB@
2932 export PREFIX=@PREFIX@
2933 export PROFILE_OPTS=@PROFILE_OPTS@
2934 export SIMVER=@SIMVER@
2935 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2936 export GCCOPTS=@GCCOPTS@
2937 export TARGET_INC=@TARGET_INC@
2938 export LOADADDRESS=@LOADADDRESS@
2939 export SHARED_FLAG=@SHARED_FLAG@
2940 export LDOPTS=@LDOPTS@
2941 export GCCVER=@GCCVER@
2942 export GCCNUM=@GCCNUM@
2943 export UNAME=@UNAME@
2944 export MANUALDEV=@MANUALDEV@
2945 export TTS_OPTS=@TTS_OPTS@
2946 export TTS_ENGINE=@TTS_ENGINE@
2947 export ENC_OPTS=@ENC_OPTS@
2948 export ENCODER=@ENCODER@
2949 export USE_ELF=@USE_ELF@
2950 export RBDIR=@RBDIR@
2952 CONFIGURE_OPTIONS=@CMDLINE@
2954 include \$(TOOLSDIR)/root.make
2958 echo "Created Makefile"