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 if [ "$ARG_ARM_EABI" = "1" ]; then
43 prefixtools arm-elf-eabi-
51 # scan the $PATH for the given command
58 # echo "checks for $file in $path" >&2
59 if test -f "$path/$file"; then
64 # check whether caller wants literal return value if not found
65 if [ "$2" = "--lit" ]; then
70 # scan the $PATH for sdl-config - if crosscompiling, require that it is
71 # a mingw32 sdl-config
78 #echo "checks for $file in $path" >&2
79 if test -f "$path/$file"; then
80 if [ "yes" = "${crosscompile}" ]; then
81 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
95 # default tool setup for native building
99 GCCOPTS
='-W -Wall -g -fno-builtin'
102 output
="rockboxui" # use this as default output binary name
107 if [ $1 = "sdl" ]; then
108 if [ -z "$sdl" ]; then
109 echo "configure didn't find sdl-config, which indicates that you"
110 echo "don't have SDL (properly) installed. Please correct and"
111 echo "re-run configure!"
114 # generic sdl-config checker
115 sdl_cflags
=`$sdl --cflags`
116 sdl_libs
=`$sdl --libs`
120 # default share option, override below if needed
121 SHARED_FLAG
="-shared"
125 echo "Cygwin host detected"
128 GCCOPTS
="$GCCOPTS $sdl_cflags"
129 LDOPTS
="-mconsole $sdl_libs"
131 output
="rockboxui.exe" # use this as output binary name
135 echo "MinGW host detected"
138 GCCOPTS
="$GCCOPTS $sdl_cflags"
139 LDOPTS
="-mconsole $sdl_libs"
141 output
="rockboxui.exe" # use this as output binary name
145 echo "Linux host detected"
146 GCCOPTS
="$GCCOPTS $sdl_cflags"
151 echo "FreeBSD host detected"
153 GCCOPTS
="$GCCOPTS $sdl_cflags"
158 echo "Darwin host detected"
160 GCCOPTS
="$GCCOPTS $sdl_cflags"
162 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
166 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
171 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
173 if test "X$crosscompile" != "Xyes"; then
174 if [ "`uname -m`" = "x86_64" ] ||
[ "`uname -m`" = "amd64" ]; then
175 # fPIC is needed to make shared objects link
176 # setting visibility to hidden is necessary to avoid strange crashes
177 # due to symbol clashing
178 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
182 cat >$tmpdir/conftest-
$id.c
<<EOF
184 int main(int argc, char **argv)
187 char *varp = (char *)&var;
195 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
197 if test `$tmpdir/conftest-$id 2>/dev/null` -gt "1"; then
205 if [ $1 = "sdl" ]; then
206 echo "Simulator environment deemed $endian endian"
207 elif [ $1 = "checkwps" ]; then
208 echo "CheckWPS environment deemed $endian endian"
211 # use wildcard here to make it work even if it was named *.exe like
213 rm -f $tmpdir/conftest-
$id*
215 # We are crosscompiling
216 # add cross-compiler option(s)
217 prefixtools i586-mingw32msvc-
218 LDOPTS
="-mconsole $sdl_libs"
219 output
="rockboxui.exe" # use this as output binary name
220 endian
="little" # windows is little endian
225 # functions for setting up cross-compiler names and options
226 # also set endianess and what the exact recommended gcc version is
227 # the gcc version should most likely match what versions we build with
232 GCCOPTS
="$CCOPTS -m1"
233 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
239 prefixtools calmrisc16-unknown-elf-
240 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
241 GCCOPTIMIZE
="-fomit-frame-pointer"
246 prefixtools m68k-elf-
247 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
248 GCCOPTIMIZE
="-fomit-frame-pointer"
255 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
256 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" != "1"; then
257 GCCOPTS
="$GCCOPTS -mlong-calls"
259 GCCOPTIMIZE
="-fomit-frame-pointer"
265 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
266 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" != "1"; then
267 GCCOPTS
="$GCCOPTS -mlong-calls"
269 GCCOPTIMIZE
="-fomit-frame-pointer"
275 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
276 if test "ARG_ARM_EABI" != "1"; then
277 GCCOPTS
="$GCCOPTS -mlong-calls"
279 GCCOPTIMIZE
="-fomit-frame-pointer"
285 GCCOPTS
="$CCOPTS -mcpu=arm940t"
286 if test "ARG_ARM_EABI" != "1"; then
287 GCCOPTS
="$GCCOPTS -mlong-calls"
289 GCCOPTIMIZE
="-fomit-frame-pointer"
295 GCCOPTS
="$CCOPTS -mcpu=arm9e"
296 if test "ARG_ARM_EABI" != "1"; then
297 GCCOPTS
="$GCCOPTS -mlong-calls"
299 GCCOPTIMIZE
="-fomit-frame-pointer"
305 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
306 if test "ARG_ARM_EABI" != "1"; then
307 GCCOPTS
="$GCCOPTS -mlong-calls"
309 GCCOPTIMIZE
="-fomit-frame-pointer"
315 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
316 if test "$modelname" != "gigabeats" -a "ARG_ARM_EABI" != "1"; then
317 GCCOPTS
="$GCCOPTS -mlong-calls"
319 GCCOPTIMIZE
="-fomit-frame-pointer"
325 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
326 if test "ARG_ARM_EABI" != "1"; then
327 GCCOPTS
="$GCCOPTS -mlong-calls"
329 GCCOPTIMIZE
="-fomit-frame-pointer"
334 prefixtools mipsel-elf-
335 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls"
336 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
337 GCCOPTIMIZE
="-fomit-frame-pointer"
343 atype
=`echo "$1" | cut -c 2-`
344 ##################################################################
345 # Prompt for specific developer options
347 if [ "$atype" ]; then
352 echo "Enter your developer options (press enter when done)"
353 printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile"
354 if [ "$memory" = "2" ]; then
357 if [ "$modelname" = "archosplayer" ]; then
358 printf ", Use (A)TA poweroff"
360 if [ "$t_model" = "ondio" ]; then
361 printf ", (B)acklight MOD"
363 if [ "$modelname" = "iaudiom5" ]; then
364 printf ", (F)M radio MOD"
366 if [ "$modelname" = "iriverh120" ]; then
373 while [ $cont = "1" ]; do
375 if [ "$interact" ]; then
378 option
=`echo "$atype" | cut -c 1`
383 if [ "yes" = "$profile" ]; then
384 echo "Debug is incompatible with profiling"
386 echo "DEBUG build enabled"
391 echo "logf() support enabled"
395 echo "Simulator build enabled"
399 if [ "yes" = "$use_debug" ]; then
400 echo "Profiling is incompatible with debug"
402 echo "Profiling support is enabled"
407 echo "Voice build selected"
411 if [ "$memory" = "2" ]; then
413 echo "Memory size selected: 8MB"
417 if [ "$modelname" = "archosplayer" ]; then
418 have_ata_poweroff
="#define HAVE_ATA_POWEROFF"
419 echo "ATA poweroff enabled"
423 if [ "$t_model" = "ondio" ]; then
424 have_backlight
="#define HAVE_BACKLIGHT"
425 echo "Backlight functions enabled"
429 if [ "$modelname" = "iaudiom5" ]; then
430 have_fmradio_in
="#define HAVE_FMRADIO_IN"
431 echo "FM radio functions enabled"
435 if [ "$modelname" = "iriverh120" ]; then
436 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
437 have_rtc_alarm
="#define HAVE_RTC_ALARM"
438 echo "RTC functions enabled (DS1339/DS3231)"
442 echo "Enabling Windows 32 cross-compiling"
446 if [ "$interact" ]; then
449 echo "[ERROR] Option $option unsupported"
453 if [ ! "$interact" ]; then
454 atype
=`echo "$atype" | cut -c 2-`
455 [ "$atype" ] || cont
=0
460 if [ "yes" = "$voice" ]; then
461 # Ask about languages to build
463 voicelanguage
=`whichlang`
464 echo "Voice language set to $voicelanguage"
466 # Configure encoder and TTS engine for each language
467 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
468 voiceconfig
"$thislang"
471 if [ "yes" = "$use_debug" ]; then
473 GCCOPTS
="$GCCOPTS -g -DDEBUG"
475 if [ "yes" = "$logf" ]; then
476 use_logf
="#define ROCKBOX_HAS_LOGF 1"
478 if [ "yes" = "$simulator" ]; then
480 extradefines
="$extradefines -DSIMULATOR"
484 if [ "yes" = "$profile" ]; then
485 extradefines
="$extradefines -DRB_PROFILE"
486 PROFILE_OPTS
="-finstrument-functions"
490 # Configure voice settings
493 if [ ! "$ARG_TTS" ]; then
494 echo "Building $thislang voice for $modelname. Select options"
498 if [ -n "`findtool flite`" ]; then
502 DEFAULT_TTS_OPTS
=$FLITE_OPTS
503 DEFAULT_NOISEFLOOR
="500"
506 if [ -n "`findtool espeak`" ]; then
510 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
511 DEFAULT_NOISEFLOOR
="500"
514 if [ -n "`findtool festival`" ]; then
515 FESTIVAL
="(F)estival "
518 FESTIVAL_OPTS
="--language italian"
521 FESTIVAL_OPTS
="--language spanish"
524 FESTIVAL_OPTS
="--language finnish"
527 FESTIVAL_OPTS
="--language czech"
533 DEFAULT_TTS
="festival"
534 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
535 DEFAULT_NOISEFLOOR
="500"
538 if [ -n "`findtool swift`" ]; then
542 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
543 DEFAULT_NOISEFLOOR
="500"
546 # Allow SAPI if Windows is in use
547 if [ -n "`findtool winver`" ]; then
551 DEFAULT_TTS_OPTS
=$SAPI_OPTS
552 DEFAULT_NOISEFLOOR
="500"
556 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
557 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
561 if [ "$ARG_TTS" ]; then
564 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
567 advopts
="$advopts --tts=$option"
571 NOISEFLOOR
="500" # TODO: check this value
577 TTS_OPTS
=$ESPEAK_OPTS
580 TTS_ENGINE
="festival"
582 TTS_OPTS
=$FESTIVAL_OPTS
595 TTS_ENGINE
=$DEFAULT_TTS
596 TTS_OPTS
=$DEFAULT_TTS_OPTS
597 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
599 echo "Using $TTS_ENGINE for TTS"
601 # Select which voice to use for Festival
602 if [ "$TTS_ENGINE" = "festival" ]; then
603 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
604 for voice
in $voicelist; do
605 TTS_FESTIVAL_VOICE
="$voice" # Default choice
608 if [ "$ARG_VOICE" ]; then
612 for voice
in $voicelist; do
613 printf "%3d. %s\n" "$i" "$voice"
616 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
620 for voice
in $voicelist; do
621 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
622 TTS_FESTIVAL_VOICE
="$voice"
626 advopts
="$advopts --voice=$CHOICE"
627 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
628 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
631 # Read custom tts options from command line
632 if [ "$ARG_TTSOPTS" ]; then
633 TTS_OPTS
="$ARG_TTS_OPTS"
634 advopts
="$advopts --ttsopts='$TTS_OPTS'"
635 echo "$TTS_ENGINE options set to $TTS_OPTS"
638 if [ "$swcodec" = "yes" ]; then
641 ENC_OPTS
="-q 4 -c 10"
643 if [ -n "`findtool lame`" ]; then
646 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
648 echo "You need LAME in the system path to build voice files for"
649 echo "HWCODEC targets."
654 echo "Using $ENCODER for encoding voice clips"
656 # Read custom encoder options from command line
657 if [ "$ARG_ENCOPTS" ]; then
658 ENC_OPTS
="$ARG_ENCOPTS"
659 advopts
="$advopts --encopts='$ENC_OPTS'"
660 echo "$ENCODER options set to $ENC_OPTS"
664 if [ -n "`findtool cygpath`" ]; then
665 TEMPDIR
=`cygpath . -a -w`
670 # figure out which languages that are around
671 for file in $rootdir/apps
/lang
/*.lang
; do
672 clean
=`basename $file .lang`
673 langs
="$langs $clean"
676 if [ "$ARG_LANG" ]; then
679 echo "Select a number for the language to use (default is english)"
680 # FIXME The multiple-language feature is currently broken
681 # echo "You may enter a comma-separated list of languages to build"
684 for one
in $langs; do
690 advopts
="$advopts --language=$pick"
695 # Allow the user to pass a comma-separated list of langauges
696 for thispick
in `echo $pick | sed 's/,/ /g'`; do
698 for one
in $langs; do
699 # Accept both the language number and name
700 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
701 if [ "$output" = "" ]; then
710 if [ -z "$output" ]; then
718 echo "Rockbox configure script."
719 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
720 echo "Do *NOT* run this within the tools directory!"
723 Usage: configure [OPTION]...
725 --target=TARGET Sets the target, TARGET can be either the target ID or
726 corresponding string. Run without this option to see all
729 --ram=RAM Sets the RAM for certain targets. Even though any number
730 is accepted, not every number is correct. The default
731 value will be applied, if you entered a wrong number
732 (which depends on the target). Watch the output. Run
733 without this option if you are not sure which the right
736 --type=TYPE Sets the build type. Shortcuts are also valid.
737 Run without this option to see all available types.
738 Multiple values are allowed and managed in the input
739 order. So --type=b stands for Bootloader build, while
740 --type=ab stands for "Backlight MOD" build.
742 --language=LANG Set the language used for voice generation (used only if
745 --tts=ENGINE Set the TTS engine used for voice generation (used only
748 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
751 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
753 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
755 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
756 This is useful for having multiple alternate builds on
757 your device that you can load with ROLO. However as the
758 bootloader looks for .rockbox you won't be able to boot
761 --ccache Enable ccache use (done by default these days)
762 --no-ccache Disable ccache use
764 --eabi Make configure prefer toolchains that are able to compile
765 for the new ARM standard abi EABI
766 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
767 --help Shows this message (must not be used with other options)
788 --ccache) ARG_CCACHE
=1;;
789 --no-ccache) ARG_CCACHE
=0;;
790 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
791 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
792 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
793 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
794 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
795 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
796 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
797 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
798 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
799 --eabi) ARG_ARM_EABI
=1;;
800 --no-eabi) ARG_ARM_EABI
=0;;
802 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
809 if [ "$TMPDIR" != "" ]; then
814 echo Using temporary directory
$tmpdir
816 if test -r "configure"; then
817 # this is a check for a configure script in the current directory, it there
818 # is one, try to figure out if it is this one!
820 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
821 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
822 echo "It will only cause you pain and grief. Instead do this:"
825 echo " mkdir build-dir"
827 echo " ../tools/configure"
829 echo "Much happiness will arise from this. Enjoy"
834 # get our current directory
837 if { echo $pwd |
grep " "; } then
838 echo "You're running this script in a path that contains space. The build"
839 echo "system is unfortunately not clever enough to deal with this. Please"
840 echo "run the script from a different path, rename the path or fix the build"
845 if [ -z "$rootdir" ]; then
846 ##################################################################
847 # Figure out where the source code root is!
849 rootdir
=`dirname $0`/..
/
851 #####################################################################
852 # Convert the possibly relative directory name to an absolute version
858 # cd back to the build dir
863 appsdir
='\$(ROOTDIR)/apps'
864 firmdir
='\$(ROOTDIR)/firmware'
865 toolsdir
='\$(ROOTDIR)/tools'
868 ##################################################################
869 # Figure out target platform
872 if [ "$ARG_TARGET" ]; then
875 echo "Enter target platform:"
877 ==Archos== ==iriver== ==Apple iPod==
878 0) Player/Studio 10) H120/H140 20) Color/Photo
879 1) Recorder 11) H320/H340 21) Nano 1G
880 2) FM Recorder 12) iHP-100/110/115 22) Video
881 3) Recorder v2 13) iFP-790 23) 3G
882 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
883 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
885 ==Toshiba== 27) 1G, 2G
886 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
887 30) X5/X5V/X5L 41) Gigabeat S
888 31) M5/M5L ==SanDisk==
889 32) 7 ==Olympus= 50) Sansa e200
890 33) D2 70) M:Robe 500 51) Sansa e200R
891 34) M3/M3L 71) M:Robe 100 52) Sansa c200
893 ==Creative== ==Philips== 54) Sansa c100
894 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
895 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
896 92) Zen Vision HDD1830 57) Sansa m200v4
898 ==Onda== ==Meizu== 59) Sansa c200v2
899 120) VX747 110) M6SL 60) Sansa Clipv2
900 121) VX767 111) M6SP 61) Sansa View
904 ==Samsung== ==Tatung==
905 140) YH-820 150) Elio TPJ-1022 ==Lyre project==
906 141) YH-920 130) Lyre proto 1
907 142) YH-925 131) Mini2440
914 # Set of tools built for all target platforms:
915 toolset
="rdf2binary convbdf codepages"
917 # Toolsets for some target families:
918 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
919 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
920 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
921 ipodbitmaptools
="$toolset scramble bmp2rb"
922 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
923 tccbitmaptools
="$toolset scramble bmp2rb"
924 # generic is used by IFP, Meizu and Onda
925 genericbitmaptools
="$toolset bmp2rb"
926 # scramble is used by all other targets
927 scramblebitmaptools
="$genericbitmaptools scramble"
930 # ---- For each target ----
933 # target_id: a unique number identifying this target, IS NOT the menu number.
934 # Just use the currently highest number+1 when you add a new
936 # modelname: short model name used all over to identify this target
937 # memory: number of megabytes of RAM this target has. If the amount can
938 # be selected by the size prompt, let memory be unset here
939 # target: -Ddefine passed to the build commands to make the correct
940 # config-*.h file get included etc
941 # tool: the tool that takes a plain binary and converts that into a
942 # working "firmware" file for your target
943 # output: the final output file name
944 # boottool: the tool that takes a plain binary and generates a bootloader
945 # file for your target (or blank to use $tool)
946 # bootoutput:the final output file name for the bootloader (or blank to use
948 # appextra: passed to the APPEXTRA variable in the Makefiles.
949 # TODO: add proper explanation
950 # archosrom: used only for Archos targets that build a special flashable .ucl
952 # flash: name of output for flashing, for targets where there's a special
953 # file output for this.
954 # plugins: set to 'yes' to build the plugins. Early development builds can
955 # set this to no in the early stages to have an easier life for a
957 # swcodec: set 'yes' on swcodec targets
958 # toolset: lists what particular tools in the tools/ directory that this
959 # target needs to have built prior to building Rockbox
962 # *cc: sets up gcc and compiler options for your target builds. Note
963 # that if you select a simulator build, the compiler selection is
964 # overridden later in the script.
970 modelname
="archosplayer"
971 target
="-DARCHOS_PLAYER"
973 tool
="$rootdir/tools/scramble"
975 appextra
="player:gui"
976 archosrom
="$pwd/rombox.ucl"
977 flash
="$pwd/rockbox.ucl"
981 # toolset is the tools within the tools directory that we build for
982 # this particular target.
983 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
985 # Note: the convbdf is present in the toolset just because: 1) the
986 # firmware/Makefile assumes it is present always, and 2) we will need it when we
987 # build the player simulator
990 t_manufacturer
="archos"
996 modelname
="archosrecorder"
997 target
="-DARCHOS_RECORDER"
999 tool
="$rootdir/tools/scramble"
1000 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1001 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1003 appextra
="recorder:gui"
1004 #archosrom="$pwd/rombox.ucl"
1005 flash
="$pwd/rockbox.ucl"
1008 # toolset is the tools within the tools directory that we build for
1009 # this particular target.
1010 toolset
=$archosbitmaptools
1012 t_manufacturer
="archos"
1018 modelname
="archosfmrecorder"
1019 target
="-DARCHOS_FMRECORDER"
1021 tool
="$rootdir/tools/scramble -fm"
1022 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1023 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1025 appextra
="recorder:gui"
1026 #archosrom="$pwd/rombox.ucl"
1027 flash
="$pwd/rockbox.ucl"
1030 # toolset is the tools within the tools directory that we build for
1031 # this particular target.
1032 toolset
=$archosbitmaptools
1034 t_manufacturer
="archos"
1040 modelname
="archosrecorderv2"
1041 target
="-DARCHOS_RECORDERV2"
1043 tool
="$rootdir/tools/scramble -v2"
1044 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1045 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1047 appextra
="recorder:gui"
1048 #archosrom="$pwd/rombox.ucl"
1049 flash
="$pwd/rockbox.ucl"
1052 # toolset is the tools within the tools directory that we build for
1053 # this particular target.
1054 toolset
=$archosbitmaptools
1056 t_manufacturer
="archos"
1062 modelname
="archosondiosp"
1063 target
="-DARCHOS_ONDIOSP"
1065 tool
="$rootdir/tools/scramble -osp"
1066 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1067 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1069 appextra
="recorder:gui"
1070 archosrom
="$pwd/rombox.ucl"
1071 flash
="$pwd/rockbox.ucl"
1074 # toolset is the tools within the tools directory that we build for
1075 # this particular target.
1076 toolset
=$archosbitmaptools
1078 t_manufacturer
="archos"
1084 modelname
="archosondiofm"
1085 target
="-DARCHOS_ONDIOFM"
1087 tool
="$rootdir/tools/scramble -ofm"
1088 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1089 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1091 appextra
="recorder:gui"
1092 #archosrom="$pwd/rombox.ucl"
1093 flash
="$pwd/rockbox.ucl"
1096 toolset
=$archosbitmaptools
1098 t_manufacturer
="archos"
1104 modelname
="archosav300"
1105 target
="-DARCHOS_AV300"
1108 tool
="$rootdir/tools/scramble -mm=C"
1109 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1110 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1112 appextra
="recorder:gui"
1115 # toolset is the tools within the tools directory that we build for
1116 # this particular target.
1117 toolset
="$toolset scramble descramble bmp2rb"
1118 # architecture, manufacturer and model for the target-tree build
1120 t_manufacturer
="archos"
1126 modelname
="iriverh120"
1127 target
="-DIRIVER_H120"
1130 tool
="$rootdir/tools/scramble -add=h120"
1131 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1132 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1133 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1134 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1135 output
="rockbox.iriver"
1136 bootoutput
="bootloader.iriver"
1137 appextra
="recorder:gui"
1138 flash
="$pwd/rombox.iriver"
1141 # toolset is the tools within the tools directory that we build for
1142 # this particular target.
1143 toolset
=$iriverbitmaptools
1145 t_manufacturer
="iriver"
1151 modelname
="iriverh300"
1152 target
="-DIRIVER_H300"
1155 tool
="$rootdir/tools/scramble -add=h300"
1156 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1157 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1158 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1159 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1160 output
="rockbox.iriver"
1161 appextra
="recorder:gui"
1164 # toolset is the tools within the tools directory that we build for
1165 # this particular target.
1166 toolset
=$iriverbitmaptools
1168 t_manufacturer
="iriver"
1174 modelname
="iriverh100"
1175 target
="-DIRIVER_H100"
1178 tool
="$rootdir/tools/scramble -add=h100"
1179 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1180 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1181 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1182 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1183 output
="rockbox.iriver"
1184 bootoutput
="bootloader.iriver"
1185 appextra
="recorder:gui"
1186 flash
="$pwd/rombox.iriver"
1189 # toolset is the tools within the tools directory that we build for
1190 # this particular target.
1191 toolset
=$iriverbitmaptools
1193 t_manufacturer
="iriver"
1199 modelname
="iriverifp7xx"
1200 target
="-DIRIVER_IFP7XX"
1204 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1205 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1206 output
="rockbox.wma"
1207 appextra
="recorder:gui"
1210 # toolset is the tools within the tools directory that we build for
1211 # this particular target.
1212 toolset
=$genericbitmaptools
1214 t_manufacturer
="pnx0101"
1215 t_model
="iriver-ifp7xx"
1220 modelname
="iriverh10"
1221 target
="-DIRIVER_H10"
1224 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1225 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1226 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1227 output
="rockbox.mi4"
1228 appextra
="recorder:gui"
1231 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1232 bootoutput
="H10_20GC.mi4"
1233 # toolset is the tools within the tools directory that we build for
1234 # this particular target.
1235 toolset
=$scramblebitmaptools
1236 # architecture, manufacturer and model for the target-tree build
1238 t_manufacturer
="iriver"
1244 modelname
="iriverh10_5gb"
1245 target
="-DIRIVER_H10_5GB"
1248 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1249 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1250 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1251 output
="rockbox.mi4"
1252 appextra
="recorder:gui"
1255 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1256 bootoutput
="H10.mi4"
1257 # toolset is the tools within the tools directory that we build for
1258 # this particular target.
1259 toolset
=$scramblebitmaptools
1260 # architecture, manufacturer and model for the target-tree build
1262 t_manufacturer
="iriver"
1268 modelname
="ipodcolor"
1269 target
="-DIPOD_COLOR"
1272 tool
="$rootdir/tools/scramble -add=ipco"
1273 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1274 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1275 output
="rockbox.ipod"
1276 appextra
="recorder:gui"
1279 bootoutput
="bootloader-$modelname.ipod"
1280 # toolset is the tools within the tools directory that we build for
1281 # this particular target.
1282 toolset
=$ipodbitmaptools
1283 # architecture, manufacturer and model for the target-tree build
1285 t_manufacturer
="ipod"
1291 modelname
="ipodnano1g"
1292 target
="-DIPOD_NANO"
1295 tool
="$rootdir/tools/scramble -add=nano"
1296 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1297 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1298 output
="rockbox.ipod"
1299 appextra
="recorder:gui"
1302 bootoutput
="bootloader-$modelname.ipod"
1303 # toolset is the tools within the tools directory that we build for
1304 # this particular target.
1305 toolset
=$ipodbitmaptools
1306 # architecture, manufacturer and model for the target-tree build
1308 t_manufacturer
="ipod"
1314 modelname
="ipodvideo"
1315 target
="-DIPOD_VIDEO"
1317 tool
="$rootdir/tools/scramble -add=ipvd"
1318 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1319 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1320 output
="rockbox.ipod"
1321 appextra
="recorder:gui"
1324 bootoutput
="bootloader-$modelname.ipod"
1325 # toolset is the tools within the tools directory that we build for
1326 # this particular target.
1327 toolset
=$ipodbitmaptools
1328 # architecture, manufacturer and model for the target-tree build
1330 t_manufacturer
="ipod"
1340 tool
="$rootdir/tools/scramble -add=ip3g"
1341 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1342 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1343 output
="rockbox.ipod"
1344 appextra
="recorder:gui"
1347 bootoutput
="bootloader-$modelname.ipod"
1348 # toolset is the tools within the tools directory that we build for
1349 # this particular target.
1350 toolset
=$ipodbitmaptools
1351 # architecture, manufacturer and model for the target-tree build
1353 t_manufacturer
="ipod"
1363 tool
="$rootdir/tools/scramble -add=ip4g"
1364 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1365 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1366 output
="rockbox.ipod"
1367 appextra
="recorder:gui"
1370 bootoutput
="bootloader-$modelname.ipod"
1371 # toolset is the tools within the tools directory that we build for
1372 # this particular target.
1373 toolset
=$ipodbitmaptools
1374 # architecture, manufacturer and model for the target-tree build
1376 t_manufacturer
="ipod"
1382 modelname
="ipodmini1g"
1383 target
="-DIPOD_MINI"
1386 tool
="$rootdir/tools/scramble -add=mini"
1387 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1388 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1389 output
="rockbox.ipod"
1390 appextra
="recorder:gui"
1393 bootoutput
="bootloader-$modelname.ipod"
1394 # toolset is the tools within the tools directory that we build for
1395 # this particular target.
1396 toolset
=$ipodbitmaptools
1397 # architecture, manufacturer and model for the target-tree build
1399 t_manufacturer
="ipod"
1405 modelname
="ipodmini2g"
1406 target
="-DIPOD_MINI2G"
1409 tool
="$rootdir/tools/scramble -add=mn2g"
1410 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1411 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1412 output
="rockbox.ipod"
1413 appextra
="recorder:gui"
1416 bootoutput
="bootloader-$modelname.ipod"
1417 # toolset is the tools within the tools directory that we build for
1418 # this particular target.
1419 toolset
=$ipodbitmaptools
1420 # architecture, manufacturer and model for the target-tree build
1422 t_manufacturer
="ipod"
1428 modelname
="ipod1g2g"
1429 target
="-DIPOD_1G2G"
1432 tool
="$rootdir/tools/scramble -add=1g2g"
1433 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1434 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1435 output
="rockbox.ipod"
1436 appextra
="recorder:gui"
1439 bootoutput
="bootloader-$modelname.ipod"
1440 # toolset is the tools within the tools directory that we build for
1441 # this particular target.
1442 toolset
=$ipodbitmaptools
1443 # architecture, manufacturer and model for the target-tree build
1445 t_manufacturer
="ipod"
1451 modelname
="ipodnano2g"
1452 target
="-DIPOD_NANO2G"
1455 tool
="$rootdir/tools/scramble -add=nn2g"
1456 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1457 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1458 output
="rockbox.ipod"
1459 appextra
="recorder:gui"
1462 bootoutput
="bootloader-$modelname.ipod"
1463 # toolset is the tools within the tools directory that we build for
1464 # this particular target.
1465 toolset
=$ipodbitmaptools
1466 # architecture, manufacturer and model for the target-tree build
1468 t_manufacturer
="s5l8700"
1469 t_model
="ipodnano2g"
1474 modelname
="iaudiox5"
1475 target
="-DIAUDIO_X5"
1478 tool
="$rootdir/tools/scramble -add=iax5"
1479 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1480 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1481 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1482 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1483 output
="rockbox.iaudio"
1484 appextra
="recorder:gui"
1487 # toolset is the tools within the tools directory that we build for
1488 # this particular target.
1489 toolset
="$iaudiobitmaptools"
1490 # architecture, manufacturer and model for the target-tree build
1492 t_manufacturer
="iaudio"
1498 modelname
="iaudiom5"
1499 target
="-DIAUDIO_M5"
1502 tool
="$rootdir/tools/scramble -add=iam5"
1503 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1504 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1505 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1506 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1507 output
="rockbox.iaudio"
1508 appextra
="recorder:gui"
1511 # toolset is the tools within the tools directory that we build for
1512 # this particular target.
1513 toolset
="$iaudiobitmaptools"
1514 # architecture, manufacturer and model for the target-tree build
1516 t_manufacturer
="iaudio"
1526 tool
="$rootdir/tools/scramble -add=i7"
1527 boottool
="$rootdir/tools/scramble -tcc=crc"
1528 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1529 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1530 output
="rockbox.iaudio"
1531 appextra
="recorder:gui"
1534 bootoutput
="I7_FW.BIN"
1535 # toolset is the tools within the tools directory that we build for
1536 # this particular target.
1537 toolset
="$tccbitmaptools"
1538 # architecture, manufacturer and model for the target-tree build
1540 t_manufacturer
="tcc77x"
1550 tool
="$rootdir/tools/scramble -add=d2"
1552 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1553 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1555 bootoutput
="bootloader-cowond2.bin"
1556 appextra
="recorder:gui"
1559 toolset
="$tccbitmaptools"
1560 # architecture, manufacturer and model for the target-tree build
1562 t_manufacturer
="tcc780x"
1568 modelname
="iaudiom3"
1569 target
="-DIAUDIO_M3"
1572 tool
="$rootdir/tools/scramble -add=iam3"
1573 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1574 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1575 output
="rockbox.iaudio"
1576 appextra
="recorder:gui"
1579 # toolset is the tools within the tools directory that we build for
1580 # this particular target.
1581 toolset
="$iaudiobitmaptools"
1582 # architecture, manufacturer and model for the target-tree build
1584 t_manufacturer
="iaudio"
1590 modelname
="gigabeatfx"
1591 target
="-DGIGABEAT_F"
1594 tool
="$rootdir/tools/scramble -add=giga"
1595 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1596 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1597 output
="rockbox.gigabeat"
1598 appextra
="recorder:gui"
1601 toolset
=$gigabeatbitmaptools
1602 boottool
="$rootdir/tools/scramble -gigabeat"
1603 bootoutput
="FWIMG01.DAT"
1604 # architecture, manufacturer and model for the target-tree build
1606 t_manufacturer
="s3c2440"
1607 t_model
="gigabeat-fx"
1612 modelname
="gigabeats"
1613 target
="-DGIGABEAT_S"
1616 tool
="$rootdir/tools/scramble -add=gigs"
1617 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1618 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1619 output
="rockbox.gigabeat"
1620 appextra
="recorder:gui"
1623 toolset
="$gigabeatbitmaptools"
1624 boottool
="$rootdir/tools/scramble -gigabeats"
1626 # architecture, manufacturer and model for the target-tree build
1628 t_manufacturer
="imx31"
1629 t_model
="gigabeat-s"
1634 modelname
="mrobe500"
1635 target
="-DMROBE_500"
1638 tool
="$rootdir/tools/scramble -add=m500"
1639 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1640 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1641 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1642 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1643 output
="rockbox.mrobe500"
1644 appextra
="recorder:gui"
1647 toolset
=$gigabeatbitmaptools
1649 bootoutput
="rockbox.mrboot"
1650 # architecture, manufacturer and model for the target-tree build
1652 t_manufacturer
="tms320dm320"
1658 modelname
="mrobe100"
1659 target
="-DMROBE_100"
1662 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1663 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1664 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1665 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1666 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1667 output
="rockbox.mi4"
1668 appextra
="recorder:gui"
1671 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1672 bootoutput
="pp5020.mi4"
1673 # toolset is the tools within the tools directory that we build for
1674 # this particular target.
1675 toolset
=$scramblebitmaptools
1676 # architecture, manufacturer and model for the target-tree build
1678 t_manufacturer
="olympus"
1684 modelname
="logikdax"
1685 target
="-DLOGIK_DAX"
1688 tool
="$rootdir/tools/scramble -add=ldax"
1689 boottool
="$rootdir/tools/scramble -tcc=crc"
1690 bootoutput
="player.rom"
1691 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1692 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1693 output
="rockbox.logik"
1694 appextra
="recorder:gui"
1697 # toolset is the tools within the tools directory that we build for
1698 # this particular target.
1699 toolset
=$tccbitmaptools
1700 # architecture, manufacturer and model for the target-tree build
1702 t_manufacturer
="tcc77x"
1708 modelname
="zenvisionm30gb"
1709 target
="-DCREATIVE_ZVM"
1712 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1713 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1714 tool
="$rootdir/tools/scramble -creative=zvm"
1716 output
="rockbox.zvm"
1717 appextra
="recorder:gui"
1720 toolset
=$ipodbitmaptools
1721 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1722 bootoutput
="rockbox.zvmboot"
1723 # architecture, manufacturer and model for the target-tree build
1725 t_manufacturer
="tms320dm320"
1726 t_model
="creative-zvm"
1731 modelname
="zenvisionm60gb"
1732 target
="-DCREATIVE_ZVM60GB"
1735 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1736 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1737 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1739 output
="rockbox.zvm60"
1740 appextra
="recorder:gui"
1743 toolset
=$ipodbitmaptools
1744 boottool
="$rootdir/tools/scramble -creative=zvm60"
1745 bootoutput
="rockbox.zvm60boot"
1746 # architecture, manufacturer and model for the target-tree build
1748 t_manufacturer
="tms320dm320"
1749 t_model
="creative-zvm"
1754 modelname
="zenvision"
1755 target
="-DCREATIVE_ZV"
1758 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1759 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1760 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1763 appextra
="recorder:gui"
1766 toolset
=$ipodbitmaptools
1767 boottool
="$rootdir/tools/scramble -creative=zenvision"
1768 bootoutput
="rockbox.zvboot"
1769 # architecture, manufacturer and model for the target-tree build
1771 t_manufacturer
="tms320dm320"
1772 t_model
="creative-zvm"
1777 modelname
="sansae200"
1778 target
="-DSANSA_E200"
1779 memory
=32 # supposedly
1781 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1782 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1783 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1784 output
="rockbox.mi4"
1785 appextra
="recorder:gui"
1788 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1789 bootoutput
="PP5022.mi4"
1790 # toolset is the tools within the tools directory that we build for
1791 # this particular target.
1792 toolset
=$scramblebitmaptools
1793 # architecture, manufacturer and model for the target-tree build
1795 t_manufacturer
="sandisk"
1796 t_model
="sansa-e200"
1800 # the e200R model is pretty much identical to the e200, it only has a
1801 # different option to the scramble tool when building a bootloader and
1802 # makes the bootloader output file name in all lower case.
1804 modelname
="sansae200r"
1805 target
="-DSANSA_E200"
1806 memory
=32 # supposedly
1808 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1809 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1810 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1811 output
="rockbox.mi4"
1812 appextra
="recorder:gui"
1815 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
1816 bootoutput
="pp5022.mi4"
1817 # toolset is the tools within the tools directory that we build for
1818 # this particular target.
1819 toolset
=$scramblebitmaptools
1820 # architecture, manufacturer and model for the target-tree build
1822 t_manufacturer
="sandisk"
1823 t_model
="sansa-e200"
1828 modelname
="sansac200"
1829 target
="-DSANSA_C200"
1830 memory
=32 # supposedly
1832 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
1833 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1834 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1835 output
="rockbox.mi4"
1836 appextra
="recorder:gui"
1839 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
1840 bootoutput
="firmware.mi4"
1841 # toolset is the tools within the tools directory that we build for
1842 # this particular target.
1843 toolset
=$scramblebitmaptools
1844 # architecture, manufacturer and model for the target-tree build
1846 t_manufacturer
="sandisk"
1847 t_model
="sansa-c200"
1852 modelname
="sansam200"
1853 target
="-DSANSA_M200"
1856 tool
="$rootdir/tools/scramble -add=m200"
1857 boottool
="$rootdir/tools/scramble -tcc=crc"
1858 bootoutput
="player.rom"
1859 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1860 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1861 output
="rockbox.m200"
1862 appextra
="recorder:gui"
1865 # toolset is the tools within the tools directory that we build for
1866 # this particular target.
1867 toolset
=$tccbitmaptools
1868 # architecture, manufacturer and model for the target-tree build
1870 t_manufacturer
="tcc77x"
1876 modelname
="sansac100"
1877 target
="-DSANSA_C100"
1880 tool
="$rootdir/tools/scramble -add=c100"
1881 boottool
="$rootdir/tools/scramble -tcc=crc"
1882 bootoutput
="player.rom"
1883 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1884 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1885 output
="rockbox.c100"
1886 appextra
="recorder:gui"
1889 # toolset is the tools within the tools directory that we build for
1890 # this particular target.
1891 toolset
=$tccbitmaptools
1892 # architecture, manufacturer and model for the target-tree build
1894 t_manufacturer
="tcc77x"
1900 modelname
="sansaclip"
1901 target
="-DSANSA_CLIP"
1903 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1904 bmp2rb_native
="$bmp2rb_mono"
1905 tool
="$rootdir/tools/scramble -add=clip"
1906 output
="rockbox.sansa"
1907 bootoutput
="bootloader-clip.sansa"
1908 appextra
="recorder:gui"
1911 toolset
=$scramblebitmaptools
1913 t_manufacturer
="as3525"
1914 t_model
="sansa-clip"
1921 modelname
="sansae200v2"
1922 target
="-DSANSA_E200V2"
1924 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1925 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1926 tool
="$rootdir/tools/scramble -add=e2v2"
1927 output
="rockbox.sansa"
1928 bootoutput
="bootloader-e200v2.sansa"
1929 appextra
="recorder:gui"
1932 toolset
=$scramblebitmaptools
1934 t_manufacturer
="as3525"
1935 t_model
="sansa-e200v2"
1942 modelname
="sansam200v4"
1943 target
="-DSANSA_M200V4"
1945 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1946 bmp2rb_native
="$bmp2rb_mono"
1947 tool
="$rootdir/tools/scramble -add=m2v4"
1948 output
="rockbox.sansa"
1949 bootoutput
="bootloader-m200v4.sansa"
1950 appextra
="recorder:gui"
1953 toolset
=$scramblebitmaptools
1955 t_manufacturer
="as3525"
1956 t_model
="sansa-m200v4"
1963 modelname
="sansafuze"
1964 target
="-DSANSA_FUZE"
1966 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1967 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1968 tool
="$rootdir/tools/scramble -add=fuze"
1969 output
="rockbox.sansa"
1970 bootoutput
="bootloader-fuze.sansa"
1971 appextra
="recorder:gui"
1974 toolset
=$scramblebitmaptools
1976 t_manufacturer
="as3525"
1977 t_model
="sansa-fuze"
1984 modelname
="sansac200v2"
1985 target
="-DSANSA_C200V2"
1986 memory
=2 # as per OF diagnosis mode
1987 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1988 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1989 tool
="$rootdir/tools/scramble -add=c2v2"
1990 output
="rockbox.sansa"
1991 bootoutput
="bootloader-c200v2.sansa"
1992 appextra
="recorder:gui"
1995 # toolset is the tools within the tools directory that we build for
1996 # this particular target.
1997 toolset
=$scramblebitmaptools
1998 # architecture, manufacturer and model for the target-tree build
2000 t_manufacturer
="as3525"
2001 t_model
="sansa-c200v2"
2006 echo "Sansa Clipv2 is not yet supported !"
2009 modelname
="sansaclipv2"
2010 target
="-DSANSA_CLIPV2"
2013 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2014 bmp2rb_native
="$bmp2rb_mono"
2015 tool
="$rootdir/tools/scramble -add=clv2"
2016 output
="rockbox.sansa"
2017 bootoutput
="bootloader-clipv2.sansa"
2018 appextra
="recorder:gui"
2021 toolset
=$scramblebitmaptools
2023 t_manufacturer
="as3525"
2024 t_model
="sansa-clipv2"
2028 echo "Sansa View is not yet supported!"
2031 modelname
="sansaview"
2032 target
="-DSANSA_VIEW"
2035 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2036 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2037 output
="rockbox.mi4"
2041 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2042 bootoutput
="firmware.mi4"
2043 # toolset is the tools within the tools directory that we build for
2044 # this particular target.
2045 toolset
=$scramblebitmaptools
2047 t_manufacturer
="sandisk"
2048 t_model
="sansa-view"
2053 modelname
="tatungtpj1022"
2054 target
="-DTATUNG_TPJ1022"
2057 tool
="$rootdir/tools/scramble -add tpj2"
2058 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2059 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2060 output
="rockbox.elio"
2061 appextra
="recorder:gui"
2064 boottool
="$rootdir/tools/scramble -mi4v2"
2065 bootoutput
="pp5020.mi4"
2066 # toolset is the tools within the tools directory that we build for
2067 # this particular target.
2068 toolset
=$scramblebitmaptools
2069 # architecture, manufacturer and model for the target-tree build
2071 t_manufacturer
="tatung"
2077 modelname
="gogearsa9200"
2078 target
="-DPHILIPS_SA9200"
2079 memory
=32 # supposedly
2081 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2082 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2083 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2084 output
="rockbox.mi4"
2085 appextra
="recorder:gui"
2088 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2089 bootoutput
="FWImage.ebn"
2090 # toolset is the tools within the tools directory that we build for
2091 # this particular target.
2092 toolset
=$scramblebitmaptools
2093 # architecture, manufacturer and model for the target-tree build
2095 t_manufacturer
="philips"
2101 modelname
="gogearhdd1630"
2102 target
="-DPHILIPS_HDD1630"
2103 memory
=32 # supposedly
2105 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2106 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2107 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2108 output
="rockbox.mi4"
2109 appextra
="recorder:gui"
2112 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2113 bootoutput
="FWImage.ebn"
2114 # toolset is the tools within the tools directory that we build for
2115 # this particular target.
2116 toolset
=$scramblebitmaptools
2117 # architecture, manufacturer and model for the target-tree build
2119 t_manufacturer
="philips"
2125 modelname
="meizum6sl"
2126 target
="-DMEIZU_M6SL"
2130 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2131 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2132 output
="rockbox.meizu"
2133 appextra
="recorder:gui"
2136 toolset
=$genericbitmaptools
2138 bootoutput
="rockboot.ebn"
2139 # architecture, manufacturer and model for the target-tree build
2141 t_manufacturer
="s5l8700"
2142 t_model
="meizu-m6sl"
2147 modelname
="meizum6sp"
2148 target
="-DMEIZU_M6SP"
2152 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2153 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2154 output
="rockbox.meizu"
2155 appextra
="recorder:gui"
2158 toolset
=$genericbitmaptools
2160 bootoutput
="rockboot.ebn"
2161 # architecture, manufacturer and model for the target-tree build
2163 t_manufacturer
="s5l8700"
2164 t_model
="meizu-m6sp"
2174 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2175 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2176 output
="rockbox.meizu"
2177 appextra
="recorder:gui"
2180 toolset
=$genericbitmaptools
2182 bootoutput
="rockboot.ebn"
2183 # architecture, manufacturer and model for the target-tree build
2185 t_manufacturer
="s5l8700"
2191 modelname
="ondavx747"
2192 target
="-DONDA_VX747"
2195 tool
="$rootdir/tools/scramble -add=x747"
2196 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2197 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2198 output
="rockbox.vx747"
2199 appextra
="recorder:gui"
2202 toolset
=$genericbitmaptools
2203 boottool
="$rootdir/tools/scramble -ccpmp"
2204 bootoutput
="ccpmp.bin"
2205 # architecture, manufacturer and model for the target-tree build
2207 t_manufacturer
="ingenic_jz47xx"
2208 t_model
="onda_vx747"
2213 modelname
="ondavx767"
2214 target
="-DONDA_VX767"
2218 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2219 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2220 output
="rockbox.vx767"
2221 appextra
="recorder:gui"
2224 toolset
=$genericbitmaptools
2225 boottool
="$rootdir/tools/scramble -ccpmp"
2226 bootoutput
="ccpmp.bin"
2227 # architecture, manufacturer and model for the target-tree build
2229 t_manufacturer
="ingenic_jz47xx"
2230 t_model
="onda_vx767"
2235 modelname
="ondavx747p"
2236 target
="-DONDA_VX747P"
2239 tool
="$rootdir/tools/scramble -add=747p"
2240 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2241 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2242 output
="rockbox.vx747p"
2243 appextra
="recorder:gui"
2246 toolset
=$genericbitmaptools
2247 boottool
="$rootdir/tools/scramble -ccpmp"
2248 bootoutput
="ccpmp.bin"
2249 # architecture, manufacturer and model for the target-tree build
2251 t_manufacturer
="ingenic_jz47xx"
2252 t_model
="onda_vx747"
2257 modelname
="ondavx777"
2258 target
="-DONDA_VX777"
2261 tool
="$rootdir/tools/scramble -add=x777"
2262 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2263 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2264 output
="rockbox.vx777"
2265 appextra
="recorder:gui"
2268 toolset
=$genericbitmaptools
2269 boottool
="$rootdir/tools/scramble -ccpmp"
2270 bootoutput
="ccpmp.bin"
2271 # architecture, manufacturer and model for the target-tree build
2273 t_manufacturer
="ingenic_jz47xx"
2274 t_model
="onda_vx747"
2279 modelname
="lyreproto1"
2280 target
="-DLYRE_PROTO1"
2284 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2285 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2286 output
="rockbox.lyre"
2287 appextra
="recorder:gui"
2290 toolset
=$scramblebitmaptools
2292 bootoutput
="bootloader-proto1.lyre"
2293 # architecture, manufacturer and model for the target-tree build
2295 t_manufacturer
="at91sam"
2296 t_model
="lyre_proto1"
2301 modelname
="mini2440"
2305 tool
="$rootdir/tools/scramble -add=m244"
2306 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2307 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2308 output
="rockbox.mini2440"
2309 appextra
="recorder:gui"
2312 toolset
=$scramblebitmaptools
2314 bootoutput
="bootloader-mini2440.lyre"
2315 # architecture, manufacturer and model for the target-tree build
2317 t_manufacturer
="s3c2440"
2323 modelname
="samsungyh820"
2324 target
="-DSAMSUNG_YH820"
2327 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2328 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2329 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2330 output
="rockbox.mi4"
2331 appextra
="recorder:gui"
2334 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2335 bootoutput
="FW_YH820.mi4"
2336 # toolset is the tools within the tools directory that we build for
2337 # this particular target.
2338 toolset
=$scramblebitmaptools
2339 # architecture, manufacturer and model for the target-tree build
2341 t_manufacturer
="samsung"
2347 modelname
="samsungyh920"
2348 target
="-DSAMSUNG_YH920"
2351 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2352 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2353 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2354 output
="rockbox.mi4"
2355 appextra
="recorder:gui"
2358 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2359 bootoutput
="PP5020.mi4"
2360 # toolset is the tools within the tools directory that we build for
2361 # this particular target.
2362 toolset
=$scramblebitmaptools
2363 # architecture, manufacturer and model for the target-tree build
2365 t_manufacturer
="samsung"
2371 modelname
="samsungyh925"
2372 target
="-DSAMSUNG_YH925"
2375 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2376 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2377 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2378 output
="rockbox.mi4"
2379 appextra
="recorder:gui"
2382 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2383 bootoutput
="FW_YH925.mi4"
2384 # toolset is the tools within the tools directory that we build for
2385 # this particular target.
2386 toolset
=$scramblebitmaptools
2387 # architecture, manufacturer and model for the target-tree build
2389 t_manufacturer
="samsung"
2395 modelname
="samsungyps3"
2396 target
="-DSAMSUNG_YPS3"
2400 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2401 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2402 output
="rockbox.yps3"
2403 appextra
="recorder:gui"
2406 toolset
=$genericbitmaptools
2408 bootoutput
="rockboot.ebn"
2409 # architecture, manufacturer and model for the target-tree build
2411 t_manufacturer
="s5l8700"
2417 echo "Please select a supported target platform!"
2423 echo "Platform set to $modelname"
2427 ############################################################################
2428 # Amount of memory, for those that can differ. They have $memory unset at
2432 if [ -z "$memory" ]; then
2435 if [ "$ARG_RAM" ]; then
2438 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2451 if [ "$ARG_RAM" ]; then
2454 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2467 echo "Memory size selected: $memory MB"
2468 [ "$ARG_TYPE" ] ||
echo ""
2472 ##################################################################
2473 # Figure out build "type"
2476 # the ifp7x0 is the only platform that supports building a gdb stub like
2480 gdbstub
="(G)DB stub, "
2482 sansae200r|sansae200
)
2483 gdbstub
="(I)nstaller, "
2486 gdbstub
="(E)raser, "
2491 if [ "$ARG_TYPE" ]; then
2494 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2500 appsdir
='\$(ROOTDIR)/bootloader'
2502 extradefines
="-DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2504 echo "e200R-installer build selected"
2507 appsdir
='\$(ROOTDIR)/bootloader'
2509 echo "C2(4)0 or C2(5)0"
2513 extradefines
="-DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2514 echo "c240 eraser build selected"
2517 extradefines
="-DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2518 echo "c240 eraser build selected"
2522 echo "c200 eraser build selected"
2525 if test $t_manufacturer = "archos"; then
2526 # Archos SH-based players do this somewhat differently for
2528 appsdir
='\$(ROOTDIR)/flash/bootbox'
2531 appsdir
='\$(ROOTDIR)/bootloader'
2534 if test -n "$boottool"; then
2537 if test -n "$bootoutput"; then
2541 extradefines
="-DBOOTLOADER -ffunction-sections -fdata-sections"
2543 echo "Bootloader build selected"
2546 if [ "$modelname" = "sansae200r" ]; then
2547 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2552 extradefines
="-DSIMULATOR"
2555 echo "Simulator build selected"
2558 echo "Advanced build selected"
2559 whichadvanced
$btype
2562 extradefines
="-DSTUB" # for target makefile symbol EXTRA_DEFINES
2563 appsdir
='\$(ROOTDIR)/gdb'
2572 echo "GDB stub build selected"
2577 echo "Manual build selected"
2585 appsdir
='\$(ROOTDIR)/tools/checkwps';
2586 output
='checkwps.'${modelname};
2588 echo "CheckWPS build selected"
2596 appsdir
='\$(ROOTDIR)/tools/database';
2597 output
='database.'${modelname};
2599 echo "Database tool build selected"
2602 if [ "$modelname" = "sansae200r" ]; then
2603 echo "Do not use the e200R target for regular builds. Use e200 instead."
2607 btype
="N" # set it explicitly since RET only gets here as well
2608 echo "Normal build selected"
2612 # to be able running "make manual" from non-manual configuration
2615 manualdev
="archosfmrecorder"
2618 manualdev
="iriverh100"
2621 manualdev
="ipodmini1g"
2624 manualdev
=$modelname
2628 if [ -z "$debug" ]; then
2629 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2632 echo "Using source code root directory: $rootdir"
2634 # this was once possible to change at build-time, but no more:
2639 if [ "yes" = "$simulator" ]; then
2640 # setup compiler and things for simulator
2643 if [ -d "simdisk" ]; then
2644 echo "Subdirectory 'simdisk' already present"
2647 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2651 # Now, figure out version number of the (gcc) compiler we are about to use
2652 gccver
=`$CC -dumpversion`;
2654 # figure out the binutil version too and display it, mostly for the build
2655 # system etc to be able to see it easier
2656 if [ $uname = "Darwin" ]; then
2657 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2659 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
2662 if [ -z "$gccver" ]; then
2663 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
2664 echo "[WARNING] this may cause your build to fail since we cannot do the"
2665 echo "[WARNING] checks we want now."
2668 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
2671 num1
=`echo $gccver | cut -d . -f1`
2672 num2
=`echo $gccver | cut -d . -f2`
2673 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
2680 echo "Using $CC $gccver ($gccnum)"
2682 if test "$gccnum" -ge "400"; then
2683 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
2684 # so we ignore that warnings for now
2686 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
2689 if test "$gccnum" -ge "401"; then
2690 # this is a lame hack to avoid "warning: dereferencing type-punned pointer
2691 # will break strict-aliasing rules"
2693 GCCOPTS
="$GCCOPTS -fno-strict-aliasing"
2696 if test "$gccnum" -ge "402"; then
2697 # disable warning about "warning: initialized field overwritten" as gcc 4.2
2698 # and later would throw it for several valid cases
2699 GCCOPTS
="$GCCOPTS -Wno-override-init"
2707 # cross-compile for win32
2710 # Verify that the cross-compiler is of a recommended version!
2711 if test "$gccver" != "$gccchoice"; then
2712 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
2713 echo "WARNING: version $gccchoice!"
2714 echo "WARNING: This may cause your build to fail since it may be a version"
2715 echo "WARNING: that isn't functional or known to not be the best choice."
2716 echo "WARNING: If you suffer from build problems, you know that this is"
2717 echo "WARNING: a likely source for them..."
2725 echo "Using $LD $ldver"
2727 # check the compiler for SH platforms
2728 if test "$CC" = "sh-elf-gcc"; then
2729 if test "$gccnum" -lt "400"; then
2730 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
2731 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2733 # figure out patch status
2734 gccpatch
=`$CC --version`;
2736 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
2737 echo "gcc $gccver is rockbox patched"
2738 # then convert -O to -Os to get smaller binaries!
2739 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2741 echo "WARNING: You use an unpatched gcc compiler: $gccver"
2742 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
2747 if test "$CC" = "m68k-elf-gcc"; then
2748 # convert -O to -Os to get smaller binaries!
2749 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2752 if [ "$ARG_CCACHE" = "1" ]; then
2753 echo "Enable ccache for building"
2755 elif [ "$ARG_CCACHE" != "0" ]; then
2756 ccache
=`findtool ccache`
2757 if test -n "$ccache"; then
2758 echo "Found and uses ccache ($ccache)"
2762 # figure out the full path to the various commands if possible
2763 HOSTCC
=`findtool gcc --lit`
2764 HOSTAR
=`findtool ar --lit`
2765 CC
=`findtool ${CC} --lit`
2766 LD
=`findtool ${AR} --lit`
2767 AR
=`findtool ${AR} --lit`
2768 AS
=`findtool ${AS} --lit`
2769 OC
=`findtool ${OC} --lit`
2770 WINDRES
=`findtool ${WINDRES} --lit`
2771 DLLTOOL
=`findtool ${DLLTOOL} --lit`
2772 DLLWRAP
=`findtool ${DLLWRAP} --lit`
2773 RANLIB
=`findtool ${RANLIB} --lit`
2775 if test -n "$ccache"; then
2779 if test "X$endian" = "Xbig"; then
2780 defendian
="ROCKBOX_BIG_ENDIAN"
2782 defendian
="ROCKBOX_LITTLE_ENDIAN"
2785 if [ "$ARG_RBDIR" ]; then
2787 echo "Using alternate rockbox dir: ${rbdir}"
2791 -e "s,@ENDIAN@,${defendian},g" \
2792 -e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
2793 -e "s,@config_rtc@,$config_rtc,g" \
2794 -e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
2795 -e "s,@RBDIR@,${rbdir},g" \
2796 -e "s,@have_backlight@,$have_backlight,g" \
2797 -e "s,@have_fmradio_in@,$have_fmradio_in,g" \
2798 -e "s,@have_ata_poweroff@,$have_ata_poweroff,g" \
2800 /* This header was made by configure */
2801 #ifndef __BUILD_AUTOCONF_H
2802 #define __BUILD_AUTOCONF_H
2804 /* Define endianess for the target or simulator platform */
2807 /* Define this if you build rockbox to support the logf logging and display */
2808 #undef ROCKBOX_HAS_LOGF
2810 /* optional define for a backlight modded Ondio */
2813 /* optional define for FM radio mod for iAudio M5 */
2816 /* optional define for ATA poweroff on Player */
2819 /* optional defines for RTC mod for h1x0 */
2823 /* root of Rockbox */
2824 #define ROCKBOX_DIR "/@RBDIR@"
2826 #endif /* __BUILD_AUTOCONF_H */
2829 if test -n "$t_cpu"; then
2830 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
2831 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
2832 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
2836 if test "$simulator" = "yes"; then
2837 # add simul make stuff on the #SIMUL# line
2838 simmagic1
="s,@SIMUL1@,\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim,"
2839 simmagic2
="s,@SIMUL2@,\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim,"
2841 # delete the lines that match
2842 simmagic1
='/@SIMUL1@/D'
2843 simmagic2
='/@SIMUL2@/D'
2846 if test "$swcodec" = "yes"; then
2847 voicetoolset
="rbspeexenc voicefont wavtrim"
2849 voicetoolset
="voicefont wavtrim"
2852 if test "$apps" = "apps"; then
2853 # only when we build "real" apps we build the .lng files
2857 #### Fix the cmdline ###
2858 if test -n "$ccache"; then
2862 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
2866 -e "s,@ROOTDIR@,${rootdir},g" \
2867 -e "s,@DEBUG@,${debug},g" \
2868 -e "s,@MEMORY@,${memory},g" \
2869 -e "s,@TARGET_ID@,${target_id},g" \
2870 -e "s,@TARGET@,${target},g" \
2871 -e "s,@CPU@,${t_cpu},g" \
2872 -e "s,@MANUFACTURER@,${t_manufacturer},g" \
2873 -e "s,@MODELNAME@,${modelname},g" \
2874 -e "s,@LANGUAGE@,${language},g" \
2875 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
2876 -e "s,@PWD@,${pwd},g" \
2877 -e "s,@HOSTCC@,${HOSTCC},g" \
2878 -e "s,@HOSTAR@,${HOSTAR},g" \
2879 -e "s,@CC@,${CC},g" \
2880 -e "s,@LD@,${LD},g" \
2881 -e "s,@AR@,${AR},g" \
2882 -e "s,@AS@,${AS},g" \
2883 -e "s,@OC@,${OC},g" \
2884 -e "s,@WINDRES@,${WINDRES},g" \
2885 -e "s,@DLLTOOL@,${DLLTOOL},g" \
2886 -e "s,@DLLWRAP@,${DLLWRAP},g" \
2887 -e "s,@RANLIB@,${RANLIB},g" \
2888 -e "s,@TOOL@,${tool},g" \
2889 -e "s,@BMP2RB_NATIVE@,${bmp2rb_native},g" \
2890 -e "s,@BMP2RB_MONO@,${bmp2rb_mono},g" \
2891 -e "s,@BMP2RB_REMOTENATIVE@,${bmp2rb_remotenative},g" \
2892 -e "s,@BMP2RB_REMOTEMONO@,${bmp2rb_remotemono},g" \
2893 -e "s,@OUTPUT@,${output},g" \
2894 -e "s,@APPEXTRA@,${appextra},g" \
2895 -e "s,@ARCHOSROM@,${archosrom},g" \
2896 -e "s,@FLASHFILE@,${flash},g" \
2897 -e "s,@PLUGINS@,${plugins},g" \
2898 -e "s,@CODECS@,${swcodec},g" \
2899 -e "s,@PROFILE_OPTS@,${PROFILE_OPTS},g" \
2900 -e "s,@SHARED_FLAG@,${SHARED_FLAG},g" \
2901 -e "s,@GCCOPTS@,${GCCOPTS},g" \
2902 -e "s,@TARGET_INC@,${TARGET_INC},g" \
2903 -e "s!@LDOPTS@!${LDOPTS}!g" \
2904 -e "s,@LOADADDRESS@,${loadaddress},g" \
2905 -e "s,@EXTRADEF@,${extradefines},g" \
2906 -e "s,@APPSDIR@,${appsdir},g" \
2907 -e "s,@FIRMDIR@,${firmdir},g" \
2908 -e "s,@TOOLSDIR@,${toolsdir},g" \
2909 -e "s,@APPS@,${apps},g" \
2910 -e "s,@SIMVER@,${simver},g" \
2911 -e "s,@GCCVER@,${gccver},g" \
2912 -e "s,@GCCNUM@,${gccnum},g" \
2913 -e "s,@UNAME@,${uname},g" \
2914 -e "s,@ENDIAN@,${defendian},g" \
2915 -e "s,@TOOLSET@,${toolset},g" \
2918 -e "s,@MANUALDEV@,${manualdev},g" \
2919 -e "s,@ENCODER@,${ENC_CMD},g" \
2920 -e "s,@ENC_OPTS@,${ENC_OPTS},g" \
2921 -e "s,@TTS_ENGINE@,${TTS_ENGINE},g" \
2922 -e "s,@TTS_OPTS@,${TTS_OPTS},g" \
2923 -e "s,@VOICETOOLSET@,${voicetoolset},g" \
2924 -e "s,@LANGS@,${buildlangs},g" \
2925 -e "s,@USE_ELF@,${USE_ELF},g" \
2926 -e "s,@RBDIR@,${rbdir},g" \
2927 -e "s,@PREFIX@,$PREFIX,g" \
2928 -e "s,@CMDLINE@,$cmdline,g" \
2930 ## Automatically generated. http://www.rockbox.org/
2932 export ROOTDIR=@ROOTDIR@
2933 export FIRMDIR=@FIRMDIR@
2934 export APPSDIR=@APPSDIR@
2935 export TOOLSDIR=@TOOLSDIR@
2936 export DOCSDIR=\$(ROOTDIR)/docs
2937 export MANUALDIR=\${ROOTDIR}/manual
2938 export DEBUG=@DEBUG@
2939 export MODELNAME=@MODELNAME@
2940 export ARCHOSROM=@ARCHOSROM@
2941 export FLASHFILE=@FLASHFILE@
2942 export TARGET_ID=@TARGET_ID@
2943 export TARGET=@TARGET@
2945 export MANUFACTURER=@MANUFACTURER@
2947 export BUILDDIR=@PWD@
2948 export LANGUAGE=@LANGUAGE@
2949 export VOICELANGUAGE=@VOICELANGUAGE@
2950 export MEMORYSIZE=@MEMORY@
2951 export VERSION:=\$(shell \$(ROOTDIR)/tools/version.sh \$(ROOTDIR))
2952 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
2953 export MKFIRMWARE=@TOOL@
2954 export BMP2RB_MONO=@BMP2RB_MONO@
2955 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
2956 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
2957 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
2958 export BINARY=@OUTPUT@
2959 export APPEXTRA=@APPEXTRA@
2960 export ENABLEDPLUGINS=@PLUGINS@
2961 export SOFTWARECODECS=@CODECS@
2962 export EXTRA_DEFINES=@EXTRADEF@
2963 export HOSTCC=@HOSTCC@
2964 export HOSTAR=@HOSTAR@
2970 export WINDRES=@WINDRES@
2971 export DLLTOOL=@DLLTOOL@
2972 export DLLWRAP=@DLLWRAP@
2973 export RANLIB=@RANLIB@
2974 export PREFIX=@PREFIX@
2975 export PROFILE_OPTS=@PROFILE_OPTS@
2976 export SIMVER=@SIMVER@
2977 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
2978 export GCCOPTS=@GCCOPTS@
2979 export TARGET_INC=@TARGET_INC@
2980 export LOADADDRESS=@LOADADDRESS@
2981 export SHARED_FLAG=@SHARED_FLAG@
2982 export LDOPTS=@LDOPTS@
2983 export GCCVER=@GCCVER@
2984 export GCCNUM=@GCCNUM@
2985 export UNAME=@UNAME@
2986 export MANUALDEV=@MANUALDEV@
2987 export TTS_OPTS=@TTS_OPTS@
2988 export TTS_ENGINE=@TTS_ENGINE@
2989 export ENC_OPTS=@ENC_OPTS@
2990 export ENCODER=@ENCODER@
2991 export USE_ELF=@USE_ELF@
2992 export RBDIR=@RBDIR@
2994 CONFIGURE_OPTIONS=@CMDLINE@
2996 include \$(TOOLSDIR)/root.make
3000 echo "Created Makefile"