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'
89 output
="rockboxui" # use this as default output binary name
90 sdl
=`findtool sdl-config`
94 if [ $1 = "sdl" ]; then
95 if [ -z "$sdl" ]; then
96 echo "configure didn't find sdl-config, which indicates that you"
97 echo "don't have SDL (properly) installed. Please correct and"
98 echo "re-run configure!"
101 # generic sdl-config checker
102 sdl_cflags
=`sdl-config --cflags`
103 sdl_libs
=`sdl-config --libs`
107 # default share option, override below if needed
108 SHARED_FLAG
="-shared"
112 echo "Cygwin host detected"
115 GCCOPTS
="$GCCOPTS $sdl_cflags"
116 LDOPTS
="-mconsole $sdl_libs"
118 output
="rockboxui.exe" # use this as output binary name
122 echo "MinGW host detected"
125 GCCOPTS
="$GCCOPTS $sdl_cflags"
126 LDOPTS
="-mconsole $sdl_libs"
128 output
="rockboxui.exe" # use this as output binary name
132 echo "Linux host detected"
133 GCCOPTS
="$GCCOPTS $sdl_cflags"
135 # cannot crosscompile without SDL installed
136 if [ -n "$sdl" ]; then
137 if [ "0" != `sdl-config --libs |grep -c mwindows` ]; then
138 # Enable crosscompiling if sdl-config is from Windows SDL
139 # overrides GCCOPTS and LDOPTS
146 echo "FreeBSD host detected"
148 GCCOPTS
="$GCCOPTS $sdl_cflags"
153 echo "Darwin host detected"
155 GCCOPTS
="$GCCOPTS $sdl_cflags"
157 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
161 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
166 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
168 if test "X$crosscompile" != "Xyes"; then
169 if [ "`uname -m`" = "x86_64" ] ||
[ "`uname -m`" = "amd64" ]; then
170 # fPIC is needed to make shared objects link
171 # setting visibility to hidden is necessary to avoid strange crashes
172 # due to symbol clashing
173 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
177 cat >$tmpdir/conftest-
$id.c
<<EOF
179 int main(int argc, char **argv)
182 char *varp = (char *)&var;
190 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
192 if test `$tmpdir/conftest-$id 2>/dev/null` -gt "1"; then
200 if [ $1 = "sdl" ]; then
201 echo "Simulator environment deemed $endian endian"
202 elif [ $1 = "checkwps" ]; then
203 echo "CheckWPS environment deemed $endian endian"
206 # use wildcard here to make it work even if it was named *.exe like
208 rm -f $tmpdir/conftest-
$id*
213 # functions for setting up cross-compiler names and options
214 # also set endianess and what the exact recommended gcc version is
215 # the gcc version should most likely match what versions we build with
220 GCCOPTS
="$CCOPTS -m1"
221 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
227 prefixtools calmrisc16-unknown-elf-
228 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
229 GCCOPTIMIZE
="-fomit-frame-pointer"
234 prefixtools m68k-elf-
235 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
236 GCCOPTIMIZE
="-fomit-frame-pointer"
243 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
244 if test "X$1" != "Xshort"; then
245 GCCOPTS
="$GCCOPTS -mlong-calls"
247 GCCOPTIMIZE
="-fomit-frame-pointer"
254 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
255 if test "$modelname" != "gigabeatf" -a "$t_manufacturer" != "as3525"; then
256 GCCOPTS
="$GCCOPTS -mlong-calls"
258 GCCOPTIMIZE
="-fomit-frame-pointer"
265 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t -mlong-calls"
266 GCCOPTIMIZE
="-fomit-frame-pointer"
273 GCCOPTS
="$CCOPTS -mcpu=arm940t -mlong-calls"
274 GCCOPTIMIZE
="-fomit-frame-pointer"
281 GCCOPTS
="$CCOPTS -mcpu=arm9e -mlong-calls"
282 GCCOPTIMIZE
="-fomit-frame-pointer"
289 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s -mlong-calls"
290 GCCOPTIMIZE
="-fomit-frame-pointer"
297 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
298 if test "$modelname" != "gigabeats"; then
299 GCCOPTS
="$GCCOPTS -mlong-calls"
301 GCCOPTIMIZE
="-fomit-frame-pointer"
308 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s -mlong-calls"
309 GCCOPTIMIZE
="-fomit-frame-pointer"
315 prefixtools mipsel-elf-
316 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
317 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
318 GCCOPTIMIZE
="-fomit-frame-pointer"
324 atype
=`echo "$1" | cut -c 2-`
325 ##################################################################
326 # Prompt for specific developer options
328 if [ "$atype" ]; then
333 echo "Enter your developer options (press enter when done)"
334 printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice"
335 if [ "$memory" = "2" ]; then
338 if [ "$modelname" = "player" ]; then
339 printf ", Use (A)TA poweroff"
341 if [ "$t_model" = "ondio" ]; then
342 printf ", (B)acklight MOD"
344 if [ "$modelname" = "m5" ]; then
345 printf ", (F)M radio MOD"
347 if [ "$modelname" = "h120" ]; then
354 while [ $cont = "1" ]; do
356 if [ "$interact" ]; then
359 option
=`echo "$atype" | cut -c 1`
364 if [ "yes" = "$profile" ]; then
365 echo "Debug is incompatible with profiling"
367 echo "DEBUG build enabled"
372 echo "logf() support enabled"
376 echo "Simulator build enabled"
380 if [ "yes" = "$use_debug" ]; then
381 echo "Profiling is incompatible with debug"
383 echo "Profiling support is enabled"
388 echo "Voice build selected"
392 if [ "$memory" = "2" ]; then
394 echo "Memory size selected: 8MB"
398 if [ "$modelname" = "player" ]; then
399 have_ata_poweroff
="#define HAVE_ATA_POWEROFF"
400 echo "ATA poweroff enabled"
404 if [ "$t_model" = "ondio" ]; then
405 have_backlight
="#define HAVE_BACKLIGHT"
406 echo "Backlight functions enabled"
410 if [ "$modelname" = "m5" ]; then
411 have_fmradio_in
="#define HAVE_FMRADIO_IN"
412 echo "FM radio functions enabled"
416 if [ "$modelname" = "h120" ]; then
417 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
418 have_rtc_alarm
="#define HAVE_RTC_ALARM"
419 echo "RTC functions enabled (DS1339/DS3231)"
423 if [ "$interact" ]; then
426 echo "[ERROR] Option $option unsupported"
430 if [ ! "$interact" ]; then
431 atype
=`echo "$atype" | cut -c 2-`
432 [ "$atype" ] || cont
=0
437 if [ "yes" = "$voice" ]; then
438 # Ask about languages to build
440 voicelanguage
=`whichlang`
441 echo "Voice language set to $voicelanguage"
443 # Configure encoder and TTS engine for each language
444 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
445 voiceconfig
"$thislang"
448 if [ "yes" = "$use_debug" ]; then
450 GCCOPTS
="$GCCOPTS -g -DDEBUG"
452 if [ "yes" = "$logf" ]; then
453 use_logf
="#define ROCKBOX_HAS_LOGF 1"
455 if [ "yes" = "$simulator" ]; then
457 extradefines
="$extradefines -DSIMULATOR"
461 if [ "yes" = "$profile" ]; then
462 extradefines
="$extradefines -DRB_PROFILE"
463 PROFILE_OPTS
="-finstrument-functions"
467 # Configure voice settings
470 if [ ! "$ARG_TTS" ]; then
471 echo "Building $thislang voice for $modelname. Select options"
475 if [ -n "`findtool flite`" ]; then
479 DEFAULT_TTS_OPTS
=$FLITE_OPTS
480 DEFAULT_NOISEFLOOR
="500"
483 if [ -n "`findtool espeak`" ]; then
487 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
488 DEFAULT_NOISEFLOOR
="500"
491 if [ -n "`findtool festival`" ]; then
492 FESTIVAL
="(F)estival "
495 FESTIVAL_OPTS
="--language italian"
498 FESTIVAL_OPTS
="--language spanish"
501 FESTIVAL_OPTS
="--language finnish"
504 FESTIVAL_OPTS
="--language czech"
510 DEFAULT_TTS
="festival"
511 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
512 DEFAULT_NOISEFLOOR
="500"
515 if [ -n "`findtool swift`" ]; then
519 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
520 DEFAULT_NOISEFLOOR
="500"
523 # Allow SAPI if Windows is in use
524 if [ -n "`findtool winver`" ]; then
528 DEFAULT_TTS_OPTS
=$SAPI_OPTS
529 DEFAULT_NOISEFLOOR
="500"
533 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
534 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
538 if [ "$ARG_TTS" ]; then
541 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
544 advopts
="$advopts --tts=$option"
548 NOISEFLOOR
="500" # TODO: check this value
554 TTS_OPTS
=$ESPEAK_OPTS
557 TTS_ENGINE
="festival"
559 TTS_OPTS
=$FESTIVAL_OPTS
572 TTS_ENGINE
=$DEFAULT_TTS
573 TTS_OPTS
=$DEFAULT_TTS_OPTS
574 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
576 echo "Using $TTS_ENGINE for TTS"
578 # Select which voice to use for Festival
579 if [ "$TTS_ENGINE" = "festival" ]; then
580 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
581 for voice
in $voicelist; do
582 TTS_FESTIVAL_VOICE
="$voice" # Default choice
585 if [ "$ARG_VOICE" ]; then
589 for voice
in $voicelist; do
590 printf "%3d. %s\n" "$i" "$voice"
593 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
597 for voice
in $voicelist; do
598 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
599 TTS_FESTIVAL_VOICE
="$voice"
603 advopts
="$advopts --voice=$CHOICE"
604 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
605 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
608 # Allow the user to input manual commandline options
609 if [ "$ARG_TTSOPTS" ]; then
610 USER_TTS_OPTS
=$ARG_TTSOPTS
612 printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
613 USER_TTS_OPTS
=`input`
616 advopts
="$advopts --ttsopts='$USER_TTS_OPTS'"
617 if [ -n "$USER_TTS_OPTS" ]; then
618 TTS_OPTS
="$USER_TTS_OPTS"
620 echo "$TTS_ENGINE options set to $TTS_OPTS"
622 if [ "$swcodec" = "yes" ]; then
625 ENC_OPTS
="-q 4 -c 10"
627 if [ -n "`findtool lame`" ]; then
630 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
632 echo "You need LAME in the system path to build voice files for"
633 echo "HWCODEC targets."
638 echo "Using $ENCODER for encoding voice clips"
640 # Allow the user to input manual commandline options
641 if [ "$ARG_ENCOPTS" ]; then
642 USER_ENC_OPTS
=$ARG_ENCOPTS
644 printf "Enter $ENCODER options (enter for defaults \"$ENC_OPTS\"): "
645 USER_ENC_OPTS
=`input`
647 advopts
="$advopts --encopts='$USER_ENC_OPTS'"
648 if [ -n "$USER_ENC_OPTS" ]; then
649 ENC_OPTS
=$USER_ENC_OPTS
651 echo "$ENCODER options set to $ENC_OPTS"
654 if [ -n "`findtool cygpath`" ]; then
655 TEMPDIR
=`cygpath . -a -w`
660 # figure out which languages that are around
661 for file in $rootdir/apps
/lang
/*.lang
; do
662 clean
=`basename $file .lang`
663 langs
="$langs $clean"
666 if [ "$ARG_LANG" ]; then
669 echo "Select a number for the language to use (default is english)"
670 # FIXME The multiple-language feature is currently broken
671 # echo "You may enter a comma-separated list of languages to build"
674 for one
in $langs; do
680 advopts
="$advopts --language=$pick"
685 # Allow the user to pass a comma-separated list of langauges
686 for thispick
in `echo $pick | sed 's/,/ /g'`; do
688 for one
in $langs; do
689 # Accept both the language number and name
690 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
691 if [ "$output" = "" ]; then
700 if [ -z "$output" ]; then
708 echo "Rockbox configure script."
709 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
710 echo "Do *NOT* run this within the tools directory!"
713 Usage: configure [OPTION]...
715 --target=TARGET Sets the target, TARGET can be either the target ID or
716 corresponding string. Run without this option to see all
719 --ram=RAM Sets the RAM for certain targets. Even though any number
720 is accepted, not every number is correct. The default
721 value will be applied, if you entered a wrong number
722 (which depends on the target). Watch the output. Run
723 without this option if you are not sure which the right
726 --type=TYPE Sets the build type. Shortcuts are also valid.
727 Run without this option to see all available types.
728 Multiple values are allowed and managed in the input
729 order. So --type=b stands for Bootloader build, while
730 --type=ab stands for "Backlight MOD" build.
732 --language=LANG Set the language used for voice generation (used only if
735 --tts=ENGINE Set the TTS engine used for voice generation (used only
738 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
741 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
743 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
745 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
746 This is useful for having multiple alternate builds on
747 your device that you can load with ROLO. However as the
748 bootloader looks for .rockbox you won't be able to boot
751 --ccache Enable ccache use (done by default these days)
752 --no-ccache Disable ccache use
753 --help Shows this message (must not be used with other options)
773 --ccache) ARG_CCACHE
=1;;
774 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
775 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
776 --no-ccache) ARG_CCACHE
=0;;
777 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
778 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
779 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
780 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
781 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
782 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
783 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
785 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
792 if [ "$TMPDIR" != "" ]; then
797 echo Using temporary directory
$tmpdir
799 if test -r "configure"; then
800 # this is a check for a configure script in the current directory, it there
801 # is one, try to figure out if it is this one!
803 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
804 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
805 echo "It will only cause you pain and grief. Instead do this:"
808 echo " mkdir build-dir"
810 echo " ../tools/configure"
812 echo "Much happiness will arise from this. Enjoy"
817 # get our current directory
820 if { echo $pwd |
grep " "; } then
821 echo "You're running this script in a path that contains space. The build"
822 echo "system is unfortunately not clever enough to deal with this. Please"
823 echo "run the script from a different path, rename the path or fix the build"
828 if [ -z "$rootdir" ]; then
829 ##################################################################
830 # Figure out where the source code root is!
832 rootdir
=`dirname $0`/..
/
834 #####################################################################
835 # Convert the possibly relative directory name to an absolute version
841 # cd back to the build dir
846 appsdir
='\$(ROOTDIR)/apps'
847 firmdir
='\$(ROOTDIR)/firmware'
848 toolsdir
='\$(ROOTDIR)/tools'
851 ##################################################################
852 # Figure out target platform
855 if [ "$ARG_TARGET" ]; then
858 echo "Enter target platform:"
860 ==Archos== ==iriver== ==Apple iPod==
861 0) Player/Studio 10) H120/H140 20) Color/Photo
862 1) Recorder 11) H320/H340 21) Nano
863 2) FM Recorder 12) iHP-100/110/115 22) Video
864 3) Recorder v2 13) iFP-790 23) 3G
865 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
866 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
868 ==Toshiba== 27) 1G, 2G
869 ==Cowon/iAudio== 40) Gigabeat F 28) Nano 2G
870 30) X5/X5V/X5L 41) Gigabeat S
871 31) M5/M5L ==SanDisk==
872 32) 7 ==Olympus= 50) Sansa e200
873 33) D2 70) M:Robe 500 51) Sansa e200R
874 34) M3/M3L 71) M:Robe 100 52) Sansa c200
876 ==Creative== ==Philips== 54) Sansa c100
877 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
878 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
879 92) Zen Vision HDD1830 57) Sansa m200v4
881 ==Onda== ==Meizu== 59) Sansa c200v2
882 120) VX747 110) M6SL 60) Sansa Clipv2
883 121) VX767 111) M6SP 61) Sansa View
887 ==Samsung== ==Tatung==
888 140) YH-820 150) Elio TPJ-1022 ==Lyre project==
889 141) YH-920 130) Lyre proto 1
897 # Set of tools built for all target platforms:
898 toolset
="rdf2binary convbdf codepages"
900 # Toolsets for some target families:
901 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
902 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
903 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
904 ipodbitmaptools
="$toolset scramble bmp2rb"
905 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
906 tccbitmaptools
="$toolset scramble mktccboot bmp2rb"
907 # generic is used by IFP, Meizu and Onda
908 genericbitmaptools
="$toolset bmp2rb"
909 # scramble is used by all other targets
910 scramblebitmaptools
="$genericbitmaptools scramble"
913 # ---- For each target ----
916 # target_id: a unique number identifying this target, IS NOT the menu number.
917 # Just use the currently highest number+1 when you add a new
919 # modelname: short model name used all over to identify this target
920 # memory: number of megabytes of RAM this target has. If the amount can
921 # be selected by the size prompt, let memory be unset here
922 # target: -Ddefine passed to the build commands to make the correct
923 # config-*.h file get included etc
924 # tool: the tool that takes a plain binary and converts that into a
925 # working "firmware" file for your target
926 # output: the final output file name
927 # boottool: the tool that takes a plain binary and generates a bootloader
928 # file for your target (or blank to use $tool)
929 # bootoutput:the final output file name for the bootloader (or blank to use
931 # appextra: passed to the APPEXTRA variable in the Makefiles.
932 # TODO: add proper explanation
933 # archosrom: used only for Archos targets that build a special flashable .ucl
935 # flash: name of output for flashing, for targets where there's a special
936 # file output for this.
937 # plugins: set to 'yes' to build the plugins. Early development builds can
938 # set this to no in the early stages to have an easier life for a
940 # swcodec: set 'yes' on swcodec targets
941 # toolset: lists what particular tools in the tools/ directory that this
942 # target needs to have built prior to building Rockbox
945 # *cc: sets up gcc and compiler options for your target builds. Note
946 # that if you select a simulator build, the compiler selection is
947 # overridden later in the script.
954 target
="-DARCHOS_PLAYER"
956 tool
="$rootdir/tools/scramble"
958 appextra
="player:gui"
959 archosrom
="$pwd/rombox.ucl"
960 flash
="$pwd/rockbox.ucl"
964 # toolset is the tools within the tools directory that we build for
965 # this particular target.
966 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
968 # Note: the convbdf is present in the toolset just because: 1) the
969 # firmware/Makefile assumes it is present always, and 2) we will need it when we
970 # build the player simulator
973 t_manufacturer
="archos"
980 target
="-DARCHOS_RECORDER"
982 tool
="$rootdir/tools/scramble"
983 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
984 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
986 appextra
="recorder:gui"
987 #archosrom="$pwd/rombox.ucl"
988 flash
="$pwd/rockbox.ucl"
991 # toolset is the tools within the tools directory that we build for
992 # this particular target.
993 toolset
=$archosbitmaptools
995 t_manufacturer
="archos"
1001 modelname
="fmrecorder"
1002 target
="-DARCHOS_FMRECORDER"
1004 tool
="$rootdir/tools/scramble -fm"
1005 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1006 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1008 appextra
="recorder:gui"
1009 #archosrom="$pwd/rombox.ucl"
1010 flash
="$pwd/rockbox.ucl"
1013 # toolset is the tools within the tools directory that we build for
1014 # this particular target.
1015 toolset
=$archosbitmaptools
1017 t_manufacturer
="archos"
1023 modelname
="recorderv2"
1024 target
="-DARCHOS_RECORDERV2"
1026 tool
="$rootdir/tools/scramble -v2"
1027 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1028 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1030 appextra
="recorder:gui"
1031 #archosrom="$pwd/rombox.ucl"
1032 flash
="$pwd/rockbox.ucl"
1035 # toolset is the tools within the tools directory that we build for
1036 # this particular target.
1037 toolset
=$archosbitmaptools
1039 t_manufacturer
="archos"
1046 target
="-DARCHOS_ONDIOSP"
1048 tool
="$rootdir/tools/scramble -osp"
1049 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1050 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1052 appextra
="recorder:gui"
1053 archosrom
="$pwd/rombox.ucl"
1054 flash
="$pwd/rockbox.ucl"
1057 # toolset is the tools within the tools directory that we build for
1058 # this particular target.
1059 toolset
=$archosbitmaptools
1061 t_manufacturer
="archos"
1068 target
="-DARCHOS_ONDIOFM"
1070 tool
="$rootdir/tools/scramble -ofm"
1071 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1072 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1074 appextra
="recorder:gui"
1075 #archosrom="$pwd/rombox.ucl"
1076 flash
="$pwd/rockbox.ucl"
1079 toolset
=$archosbitmaptools
1081 t_manufacturer
="archos"
1088 target
="-DARCHOS_AV300"
1091 tool
="$rootdir/tools/scramble -mm=C"
1092 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1093 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1095 appextra
="recorder:gui"
1098 # toolset is the tools within the tools directory that we build for
1099 # this particular target.
1100 toolset
="$toolset scramble descramble bmp2rb"
1101 # architecture, manufacturer and model for the target-tree build
1103 t_manufacturer
="archos"
1110 target
="-DIRIVER_H120"
1113 tool
="$rootdir/tools/scramble -add=h120"
1114 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1115 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1116 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1117 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1118 output
="rockbox.iriver"
1119 appextra
="recorder:gui"
1120 flash
="$pwd/rombox.iriver"
1123 # toolset is the tools within the tools directory that we build for
1124 # this particular target.
1125 toolset
=$iriverbitmaptools
1127 t_manufacturer
="iriver"
1134 target
="-DIRIVER_H300"
1137 tool
="$rootdir/tools/scramble -add=h300"
1138 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1139 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1140 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1141 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1142 output
="rockbox.iriver"
1143 appextra
="recorder:gui"
1146 # toolset is the tools within the tools directory that we build for
1147 # this particular target.
1148 toolset
=$iriverbitmaptools
1150 t_manufacturer
="iriver"
1157 target
="-DIRIVER_H100"
1160 tool
="$rootdir/tools/scramble -add=h100"
1161 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1162 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1163 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1164 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1165 output
="rockbox.iriver"
1166 appextra
="recorder:gui"
1167 flash
="$pwd/rombox.iriver"
1170 # toolset is the tools within the tools directory that we build for
1171 # this particular target.
1172 toolset
=$iriverbitmaptools
1174 t_manufacturer
="iriver"
1181 target
="-DIRIVER_IFP7XX"
1185 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1186 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1187 output
="rockbox.wma"
1188 appextra
="recorder:gui"
1191 # toolset is the tools within the tools directory that we build for
1192 # this particular target.
1193 toolset
=$genericbitmaptools
1195 t_manufacturer
="pnx0101"
1196 t_model
="iriver-ifp7xx"
1202 target
="-DIRIVER_H10"
1205 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1206 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1207 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1208 output
="rockbox.mi4"
1209 appextra
="recorder:gui"
1212 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1213 bootoutput
="H10_20GC.mi4"
1214 # toolset is the tools within the tools directory that we build for
1215 # this particular target.
1216 toolset
=$scramblebitmaptools
1217 # architecture, manufacturer and model for the target-tree build
1219 t_manufacturer
="iriver"
1226 target
="-DIRIVER_H10_5GB"
1229 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1230 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1231 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1232 output
="rockbox.mi4"
1233 appextra
="recorder:gui"
1236 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1237 bootoutput
="H10.mi4"
1238 # toolset is the tools within the tools directory that we build for
1239 # this particular target.
1240 toolset
=$scramblebitmaptools
1241 # architecture, manufacturer and model for the target-tree build
1243 t_manufacturer
="iriver"
1249 modelname
="ipodcolor"
1250 target
="-DIPOD_COLOR"
1253 tool
="$rootdir/tools/scramble -add=ipco"
1254 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1255 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1256 output
="rockbox.ipod"
1257 appextra
="recorder:gui"
1260 bootoutput
="bootloader-$modelname.ipod"
1261 # toolset is the tools within the tools directory that we build for
1262 # this particular target.
1263 toolset
=$ipodbitmaptools
1264 # architecture, manufacturer and model for the target-tree build
1266 t_manufacturer
="ipod"
1272 modelname
="ipodnano"
1273 target
="-DIPOD_NANO"
1276 tool
="$rootdir/tools/scramble -add=nano"
1277 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1278 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1279 output
="rockbox.ipod"
1280 appextra
="recorder:gui"
1283 bootoutput
="bootloader-$modelname.ipod"
1284 # toolset is the tools within the tools directory that we build for
1285 # this particular target.
1286 toolset
=$ipodbitmaptools
1287 # architecture, manufacturer and model for the target-tree build
1289 t_manufacturer
="ipod"
1295 modelname
="ipodvideo"
1296 target
="-DIPOD_VIDEO"
1298 tool
="$rootdir/tools/scramble -add=ipvd"
1299 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1300 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1301 output
="rockbox.ipod"
1302 appextra
="recorder:gui"
1305 bootoutput
="bootloader-$modelname.ipod"
1306 # toolset is the tools within the tools directory that we build for
1307 # this particular target.
1308 toolset
=$ipodbitmaptools
1309 # architecture, manufacturer and model for the target-tree build
1311 t_manufacturer
="ipod"
1321 tool
="$rootdir/tools/scramble -add=ip3g"
1322 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1323 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1324 output
="rockbox.ipod"
1325 appextra
="recorder:gui"
1328 bootoutput
="bootloader-$modelname.ipod"
1329 # toolset is the tools within the tools directory that we build for
1330 # this particular target.
1331 toolset
=$ipodbitmaptools
1332 # architecture, manufacturer and model for the target-tree build
1334 t_manufacturer
="ipod"
1344 tool
="$rootdir/tools/scramble -add=ip4g"
1345 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1346 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1347 output
="rockbox.ipod"
1348 appextra
="recorder:gui"
1351 bootoutput
="bootloader-$modelname.ipod"
1352 # toolset is the tools within the tools directory that we build for
1353 # this particular target.
1354 toolset
=$ipodbitmaptools
1355 # architecture, manufacturer and model for the target-tree build
1357 t_manufacturer
="ipod"
1363 modelname
="ipodmini"
1364 target
="-DIPOD_MINI"
1367 tool
="$rootdir/tools/scramble -add=mini"
1368 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1369 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1370 output
="rockbox.ipod"
1371 appextra
="recorder:gui"
1374 bootoutput
="bootloader-$modelname.ipod"
1375 # toolset is the tools within the tools directory that we build for
1376 # this particular target.
1377 toolset
=$ipodbitmaptools
1378 # architecture, manufacturer and model for the target-tree build
1380 t_manufacturer
="ipod"
1386 modelname
="ipodmini2g"
1387 target
="-DIPOD_MINI2G"
1390 tool
="$rootdir/tools/scramble -add=mn2g"
1391 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1392 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1393 output
="rockbox.ipod"
1394 appextra
="recorder:gui"
1397 bootoutput
="bootloader-$modelname.ipod"
1398 # toolset is the tools within the tools directory that we build for
1399 # this particular target.
1400 toolset
=$ipodbitmaptools
1401 # architecture, manufacturer and model for the target-tree build
1403 t_manufacturer
="ipod"
1409 modelname
="ipod1g2g"
1410 target
="-DIPOD_1G2G"
1413 tool
="$rootdir/tools/scramble -add=1g2g"
1414 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1415 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1416 output
="rockbox.ipod"
1417 appextra
="recorder:gui"
1420 bootoutput
="bootloader-$modelname.ipod"
1421 # toolset is the tools within the tools directory that we build for
1422 # this particular target.
1423 toolset
=$ipodbitmaptools
1424 # architecture, manufacturer and model for the target-tree build
1426 t_manufacturer
="ipod"
1432 modelname
="ipodnano2g"
1433 target
="-DIPOD_NANO2G"
1436 tool
="$rootdir/tools/scramble -add=nn2g"
1437 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1438 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1439 output
="rockbox.ipod"
1440 appextra
="recorder:gui"
1444 bootoutput
="bootloader-$modelname.bin"
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 4"
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, $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"
2546 if [ "$modelname" = "e200r" ]; then
2547 echo "Do not use the e200R target for regular builds. Use e200 instead."
2551 btype
="N" # set it explicitly since RET only gets here as well
2552 echo "Normal build selected"
2556 # to be able running "make manual" from non-manual configuration
2559 manualdev
="recorderv2fm"
2562 manualdev
="recorderv2fm"
2568 manualdev
="ipodmini"
2571 manualdev
=$modelname
2575 if [ -z "$debug" ]; then
2576 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2579 echo "Using source code root directory: $rootdir"
2581 # this was once possible to change at build-time, but no more:
2586 if [ "yes" = "$simulator" ]; then
2587 # setup compiler and things for simulator
2590 if [ -d "simdisk" ]; then
2591 echo "Subdirectory 'simdisk' already present"
2594 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2598 # Now, figure out version number of the (gcc) compiler we are about to use
2599 gccver
=`$CC -dumpversion`;
2601 # figure out the binutil version too and display it, mostly for the build
2602 # system etc to be able to see it easier
2603 if [ $uname = "Darwin" ]; then
2604 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2606 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2609 if [ -z "$gccver" ]; then
2610 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2611 echo "[WARNING] this may cause your build to fail since we cannot do the"
2612 echo "[WARNING] checks we want now."
2615 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2618 num1
=`echo $gccver | cut -d . -f1`
2619 num2
=`echo $gccver | cut -d . -f2`
2620 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2627 echo "Using $CC $gccver ($gccnum)"
2629 if test "$gccnum" -ge "400"; then
2630 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2631 # so we ignore that warnings for now
2633 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2636 if test "$gccnum" -ge "401"; then
2637 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2638 # will break strict-aliasing rules"
2640 GCCOPTS
="$GCCOPTS -fno-strict-aliasing"
2643 if test "$gccnum" -ge "402"; then
2644 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2645 # and later would throw it for several valid cases
2646 GCCOPTS
="$GCCOPTS -Wno-override-init"
2654 # cross-compile for win32
2657 # Verify that the cross-compiler is of a recommended version!
2658 if test "$gccver" != "$gccchoice"; then
2659 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2660 echo "WARNING: version $gccchoice!"
2661 echo "WARNING: This may cause your build to fail since it may be a version"
2662 echo "WARNING: that isn't functional or known to not be the best choice."
2663 echo "WARNING: If you suffer from build problems, you know that this is"
2664 echo "WARNING: a likely source for them..."
2672 echo "Using $LD $ldver"
2674 # check the compiler for SH platforms
2675 if test "$CC" = "sh-elf-gcc"; then
2676 if test "$gccnum" -lt "400"; then
2677 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2678 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2680 # figure out patch status
2681 gccpatch
=`$CC --version`;
2683 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2684 echo "gcc $gccver is rockbox patched"
2685 # then convert -O to -Os to get smaller binaries!
2686 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2688 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2689 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2694 if test "$CC" = "m68k-elf-gcc"; then
2695 # convert -O to -Os to get smaller binaries!
2696 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2699 if [ "$ARG_CCACHE" = "1" ]; then
2700 echo "Enable ccache for building"
2702 elif [ "$ARG_CCACHE" != "0" ]; then
2703 ccache
=`findtool ccache`
2704 if test -n "$ccache"; then
2705 echo "Found and uses ccache ($ccache)"
2709 # figure out the full path to the various commands if possible
2710 HOSTCC
=`findtool gcc --lit`
2711 HOSTAR
=`findtool ar --lit`
2712 CC
=`findtool ${CC} --lit`
2713 LD
=`findtool ${AR} --lit`
2714 AR
=`findtool ${AR} --lit`
2715 AS
=`findtool ${AS} --lit`
2716 OC
=`findtool ${OC} --lit`
2717 WINDRES
=`findtool ${WINDRES} --lit`
2718 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2719 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2720 RANLIB
=`findtool ${RANLIB} --lit`
2722 if test -n "$ccache"; then
2726 if test "X$endian" = "Xbig"; then
2727 defendian
="ROCKBOX_BIG_ENDIAN"
2729 defendian
="ROCKBOX_LITTLE_ENDIAN"
2732 if [ "$ARG_RBDIR" ]; then
2734 echo "Using alternate rockbox dir: ${rbdir}"
2738 -e "s,@ENDIAN@,${defendian},g" \
2739 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2740 -e "s,@config_rtc@,$config_rtc,g" \
2741 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2742 -e "s,@RBDIR@,${rbdir},g" \
2743 -e "s,@have_backlight@,$have_backlight,g" \
2744 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2745 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2747 /* This header was made by configure */
2748 #ifndef __BUILD_AUTOCONF_H
2749 #define __BUILD_AUTOCONF_H
2751 /* Define endianess for the target or simulator platform */
2754 /* Define this if you build rockbox to support the logf logging and display */
2755 #undef ROCKBOX_HAS_LOGF
2757 /* optional define for a backlight modded Ondio */
2760 /* optional define for FM radio mod for iAudio M5 */
2763 /* optional define for ATA poweroff on Player */
2766 /* optional defines for RTC mod for h1x0 */
2770 /* root of Rockbox */
2771 #define ROCKBOX_DIR "/@RBDIR@"
2773 #endif /* __BUILD_AUTOCONF_H */
2776 if test -n "$t_cpu"; then
2777 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2778 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2779 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2783 if test "$simulator" = "yes"; then
2784 # add simul make stuff on the #SIMUL# line
2785 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2786 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2788 # delete the lines that match
2789 simmagic1
='/@SIMUL1@/D'
2790 simmagic2
='/@SIMUL2@/D'
2793 if test "$swcodec" = "yes"; then
2794 voicetoolset
="rbspeexenc voicefont wavtrim"
2796 voicetoolset
="voicefont wavtrim"
2799 if test "$apps" = "apps"; then
2800 # only when we build "real" apps we build the .lng files
2804 #### Fix the cmdline ###
2805 if test -n "$ccache"; then
2809 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
2813 -e "s,@ROOTDIR@,${rootdir},g" \
2814 -e "s,@DEBUG@,${debug},g" \
2815 -e "s,@MEMORY@,${memory},g" \
2816 -e "s,@TARGET_ID@,${target_id},g" \
2817 -e "s,@TARGET@,${target},g" \
2818 -e "s,@CPU@,${t_cpu},g" \
2819 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2820 -e "s,@MODELNAME@,${modelname},g" \
2821 -e "s,@LANGUAGE@,${language},g" \
2822 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2823 -e "s,@PWD@,${pwd},g" \
2824 -e "s,@HOSTCC@,${HOSTCC},g" \
2825 -e "s,@HOSTAR@,${HOSTAR},g" \
2826 -e "s,@CC@,${CC},g" \
2827 -e "s,@LD@,${LD},g" \
2828 -e "s,@AR@,${AR},g" \
2829 -e "s,@AS@,${AS},g" \
2830 -e "s,@OC@,${OC},g" \
2831 -e "s,@WINDRES@,${WINDRES},g" \
2832 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2833 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2834 -e "s,@RANLIB@,${RANLIB},g" \
2835 -e "s,@TOOL@,${tool},g" \
2836 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2837 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2838 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2839 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2840 -e "s,@OUTPUT@,${output},g" \
2841 -e "s,@APPEXTRA@,${appextra},g" \
2842 -e "s,@ARCHOSROM@,${archosrom},g" \
2843 -e "s,@FLASHFILE@,${flash},g" \
2844 -e "s,@PLUGINS@,${plugins},g" \
2845 -e "s,@CODECS@,${swcodec},g" \
2846 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2847 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2848 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2849 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2850 -e "s!@LDOPTS@!${LDOPTS}!g" \
2851 -e "s,@LOADADDRESS@,${loadaddress},g" \
2852 -e "s,@EXTRADEF@,${extradefines},g" \
2853 -e "s,@APPSDIR@,${appsdir},g" \
2854 -e "s,@FIRMDIR@,${firmdir},g" \
2855 -e "s,@TOOLSDIR@,${toolsdir},g" \
2856 -e "s,@APPS@,${apps},g" \
2857 -e "s,@SIMVER@,${simver},g" \
2858 -e "s,@GCCVER@,${gccver},g" \
2859 -e "s,@GCCNUM@,${gccnum},g" \
2860 -e "s,@UNAME@,${uname},g" \
2861 -e "s,@ENDIAN@,${defendian},g" \
2862 -e "s,@TOOLSET@,${toolset},g" \
2865 -e "s,@MANUALDEV@,${manualdev},g" \
2866 -e "s,@ENCODER@,${ENC_CMD},g" \
2867 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2868 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2869 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2870 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2871 -e "s,@LANGS@,${buildlangs},g" \
2872 -e "s,@USE_ELF@,${USE_ELF},g" \
2873 -e "s,@RBDIR@,${rbdir},g" \
2874 -e "s,@PREFIX@,$PREFIX,g" \
2875 -e "s,@CMDLINE@,$cmdline,g" \
2877 ## Automatically generated. http://www.rockbox.org/
2879 export ROOTDIR=@ROOTDIR@
2880 export FIRMDIR=@FIRMDIR@
2881 export APPSDIR=@APPSDIR@
2882 export TOOLSDIR=@TOOLSDIR@
2883 export DOCSDIR=\$(ROOTDIR)/docs
2884 export MANUALDIR=\${ROOTDIR}/manual
2885 export DEBUG=@DEBUG@
2886 export MODELNAME=@MODELNAME@
2887 export ARCHOSROM=@ARCHOSROM@
2888 export FLASHFILE=@FLASHFILE@
2889 export TARGET_ID=@TARGET_ID@
2890 export TARGET=@TARGET@
2892 export MANUFACTURER=@MANUFACTURER@
2894 export BUILDDIR=@PWD@
2895 export LANGUAGE=@LANGUAGE@
2896 export VOICELANGUAGE=@VOICELANGUAGE@
2897 export MEMORYSIZE=@MEMORY@
2898 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2899 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2900 export MKFIRMWARE=@TOOL@
2901 export BMP2RB_MONO=@BMP2RB_MONO@
2902 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2903 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2904 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2905 export BINARY=@OUTPUT@
2906 export APPEXTRA=@APPEXTRA@
2907 export ENABLEDPLUGINS=@PLUGINS@
2908 export SOFTWARECODECS=@CODECS@
2909 export EXTRA_DEFINES=@EXTRADEF@
2910 export HOSTCC=@HOSTCC@
2911 export HOSTAR=@HOSTAR@
2917 export WINDRES=@WINDRES@
2918 export DLLTOOL=@DLLTOOL@
2919 export DLLWRAP=@DLLWRAP@
2920 export RANLIB=@RANLIB@
2921 export PREFIX=@PREFIX@
2922 export PROFILE_OPTS=@PROFILE_OPTS@
2923 export SIMVER=@SIMVER@
2924 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2925 export GCCOPTS=@GCCOPTS@
2926 export TARGET_INC=@TARGET_INC@
2927 export LOADADDRESS=@LOADADDRESS@
2928 export SHARED_FLAG=@SHARED_FLAG@
2929 export LDOPTS=@LDOPTS@
2930 export GCCVER=@GCCVER@
2931 export GCCNUM=@GCCNUM@
2932 export UNAME=@UNAME@
2933 export MANUALDEV=@MANUALDEV@
2934 export TTS_OPTS=@TTS_OPTS@
2935 export TTS_ENGINE=@TTS_ENGINE@
2936 export ENC_OPTS=@ENC_OPTS@
2937 export ENCODER=@ENCODER@
2938 export USE_ELF=@USE_ELF@
2939 export RBDIR=@RBDIR@
2941 CONFIGURE_OPTIONS=@CMDLINE@
2943 include \$(TOOLSDIR)/root.make
2947 echo "Created Makefile"