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 -std=gnu99"
14 # global LD options for all platforms
18 use_logf
="#undef ROCKBOX_HAS_LOGF"
19 use_bootchart
="#undef DO_BOOTCHART"
21 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
33 # Begin Function Definitions
43 WINDRES
=${prefix}windres
44 DLLTOOL
=${prefix}dlltool
45 DLLWRAP
=${prefix}dllwrap
46 RANLIB
=${prefix}ranlib
54 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
55 if [ -z "$ARG_PLATFORM" ]; then
58 choice
="$ARG_PLATFORM"
62 s|S
*) app_platform
="sdl" ;;
63 *|a|A
*) app_platform
="android" ;;
66 echo "Selected $app_platform platform"
67 echo "Enter the LCD width (default: 320)"
68 if [ -z "$ARG_LCDWIDTH" ]; then
71 app_lcd_width
="$ARG_LCDWIDTH"
73 if [ -z "$app_lcd_width" ]; then app_lcd_width
="320"; fi
74 echo "Enter the LCD height (default: 480)"
75 if [ -z "$ARG_LCDHEIGHT" ]; then
76 app_lcd_height
=`input`
78 app_lcd_height
="$ARG_LCDHEIGHT"
80 if [ -z "$app_lcd_height" ]; then app_lcd_height
="480"; fi
81 echo "Selected $app_lcd_width x $app_lcd_height resolution"
82 ARG_LCDWIDTH
=$app_lcd_width
83 ARG_LCDHEIGHT
=$app_lcd_height
85 app_lcd_width
="#define LCD_WIDTH $app_lcd_width"
86 app_lcd_height
="#define LCD_HEIGHT $app_lcd_height"
87 # setup files and paths depending on the platform
88 if [ "$app_platform" = "sdl" ]; then
89 if [ -z "$ARG_PREFIX" ]; then
90 sharedir
="/usr/local/share/rockbox"
91 bindir
="/usr/local/bin"
92 libdir
="/usr/local/lib"
94 if [ -d "$ARG_PREFIX" ]; then
95 if [ -z `echo $ARG_PREFIX | grep "^/"` ]; then
96 ARG_PREFIX
=`realpath $ARG_PREFIX`
97 if [ "0" != "$?" ]; then
98 echo "ERROR: Could not get prefix path (is realpath installed?)."
102 sharedir
="$ARG_PREFIX/share/rockbox"
103 bindir
="$ARG_PREFIX/bin"
104 libdir
="$ARG_PREFIX/lib"
106 echo "ERROR: PREFIX does not exist"
112 elif [ "$app_platform" = "android" ]; then
113 if [ -n "$PREFIX" ]; then
114 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
116 if [ -z "$ANDROID_SDK_PATH" ]; then
117 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
118 echo "environment variable point to the root directory of the Android SDK."
121 if [ -z "$ANDROID_NDK_PATH" ]; then
122 echo "ERROR: You need the Android NDK installed (r5 or higher) and have the ANDROID_NDK_PATH"
123 echo "environment variable point to the root directory of the Android NDK."
126 sharedir
="/data/data/org.rockbox/app_rockbox/rockbox"
127 bindir
="/data/data/org.rockbox/lib"
128 libdir
="/data/data/org.rockbox/app_rockbox"
129 output
="librockbox.so"
130 bootoutput
="librockbox.so"
135 if [ "$ARG_ARM_EABI" != "0" ]; then
136 prefixtools arm-elf-eabi-
144 # scan the $PATH for the given command
151 # echo "checks for $file in $path" >&2
152 if test -f "$path/$file"; then
157 # check whether caller wants literal return value if not found
158 if [ "$2" = "--lit" ]; then
163 # scan the $PATH for sdl-config - check whether for a (cross-)win32
172 #echo "checks for $file in $path" >&2
173 if test -f "$path/$file"; then
174 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
175 if [ "yes" = "${winbuild}" ]; then
180 if [ "yes" != "${winbuild}" ]; then
190 if [ "$1" = "sdl" ]; then
192 elif [ "$1" = "android" ]; then
200 # default tool setup for native building
201 prefixtools
"$CROSS_COMPILE"
202 ARG_ARM_THUMB
=0 # can't use thumb in native builds
206 GCCOPTS
=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef// -e s/-O//`
207 GCCOPTS
="$GCCOPTS -fno-builtin -g"
209 LDOPTS
='-lm' # button-sdl.c uses sqrt()
211 # default output binary name, don't override app_get_platform()
212 if [ "$app_type" != "sdl-app" ]; then
216 # default share option, override below if needed
217 SHARED_FLAG
="-shared"
219 if [ "$win32crosscompile" = "yes" ]; then
220 LDOPTS
="$LDOPTS -mconsole"
226 echo "Cygwin host detected"
228 LDOPTS
="$LDOPTS -mconsole"
234 echo "MinGW host detected"
236 LDOPTS
="$LDOPTS -mconsole"
242 echo "Linux host detected"
243 LDOPTS
="$LDOPTS -ldl"
247 echo "FreeBSD host detected"
248 LDOPTS
="$LDOPTS -ldl"
252 echo "Darwin host detected"
253 LDOPTS
="$LDOPTS -ldl"
255 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
259 echo "*Solaris host detected"
261 GCCOPTS
="$GCCOPTS -fPIC"
262 LDOPTS
="$LDOPTS -ldl"
266 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
272 [ "$winbuild" != "yes" ] && GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -Wl,-z,defs"
273 sdl
=`findsdl $winbuild`
275 if [ -n `echo $app_type | grep "sdl"` ]; then
276 if [ -z "$sdl" ]; then
277 echo "configure didn't find sdl-config, which indicates that you"
278 echo "don't have SDL (properly) installed. Please correct and"
279 echo "re-run configure!"
282 # generic sdl-config checker
283 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
284 LDOPTS
="$LDOPTS `$sdl --libs`"
289 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
291 if test "X$win32crosscompile" != "Xyes"; then
294 # fPIC is needed to make shared objects link
295 # setting visibility to hidden is necessary to avoid strange crashes
296 # due to symbol clashing
297 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
298 # x86_64 supports MMX by default
302 echo "Enabling MMX support"
303 GCCOPTS
="$GCCOPTS -mmmx"
308 cat >$tmpdir/conftest-
$id.c
<<EOF
310 int main(int argc, char **argv)
313 char *varp = (char *)&var;
321 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
323 # when cross compiling, the endianess cannot be detected because the above program doesn't run
324 # on the local machine. assume little endian but print a warning
325 endian
=`$tmpdir/conftest-$id 2> /dev/null`
326 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
334 if [ "$CROSS_COMPILE" != "" ]; then
335 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
338 if [ "$app_type" = "sdl-sim" ]; then
339 echo "Simulator environment deemed $endian endian"
340 elif [ "$app_type" = "sdl-app" ]; then
341 echo "Application environment deemed $endian endian"
342 elif [ "$app_type" = "checkwps" ]; then
343 echo "CheckWPS environment deemed $endian endian"
346 # use wildcard here to make it work even if it was named *.exe like
348 rm -f $tmpdir/conftest-
$id*
350 # We are crosscompiling
351 # add cross-compiler option(s)
352 prefixtools i586-mingw32msvc-
353 LDOPTS
="$LDOPTS -mconsole"
354 output
="rockboxui.exe"
355 endian
="little" # windows is little endian
356 echo "Enabling MMX support"
357 GCCOPTS
="$GCCOPTS -mmmx"
362 # functions for setting up cross-compiler names and options
363 # also set endianess and what the exact recommended gcc version is
364 # the gcc version should most likely match what versions we build with
369 GCCOPTS
="$CCOPTS -m1"
370 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
376 prefixtools calmrisc16-unknown-elf-
377 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
378 GCCOPTIMIZE
="-fomit-frame-pointer"
383 prefixtools m68k-elf-
384 GCCOPTS
="$CCOPTS -mcpu=5249 -malign-int -mstrict-align"
385 GCCOPTIMIZE
="-fomit-frame-pointer"
392 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
393 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
394 GCCOPTS
="$GCCOPTS -mlong-calls"
396 GCCOPTIMIZE
="-fomit-frame-pointer"
402 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
403 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
404 GCCOPTS
="$GCCOPTS -mlong-calls"
406 GCCOPTIMIZE
="-fomit-frame-pointer"
412 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
413 if test "$ARG_ARM_EABI" = "0"; then
414 GCCOPTS
="$GCCOPTS -mlong-calls"
416 GCCOPTIMIZE
="-fomit-frame-pointer"
422 GCCOPTS
="$CCOPTS -mcpu=arm940t"
423 if test "$ARG_ARM_EABI" = "0"; then
424 GCCOPTS
="$GCCOPTS -mlong-calls"
426 GCCOPTIMIZE
="-fomit-frame-pointer"
432 GCCOPTS
="$CCOPTS -mcpu=arm9e"
433 if test "$ARG_ARM_EABI" = "0"; then
434 GCCOPTS
="$GCCOPTS -mlong-calls"
436 GCCOPTIMIZE
="-fomit-frame-pointer"
442 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
443 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
444 GCCOPTS
="$GCCOPTS -mlong-calls"
446 GCCOPTIMIZE
="-fomit-frame-pointer"
452 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
453 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
454 GCCOPTS
="$GCCOPTS -mlong-calls"
456 GCCOPTIMIZE
="-fomit-frame-pointer"
462 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
463 if test "$ARG_ARM_EABI" = "0"; then
464 GCCOPTS
="$GCCOPTS -mlong-calls"
466 GCCOPTIMIZE
="-fomit-frame-pointer"
471 prefixtools mipsel-elf-
472 # mips is predefined, but we want it for paths. use __mips instead
473 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls -Umips"
474 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
475 GCCOPTIMIZE
="-fomit-frame-pointer"
482 gcctarget
="arm-linux-androideabi-"
483 gccprefix
=$ANDROID_NDK_PATH/toolchains
/$gcctarget$gccchoice/prebuilt
/linux-x86
484 PATH
=$PATH:$gccprefix/bin prefixtools
$gcctarget
485 GCCOPTS
=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//`
486 GCCOPTS
="$GCCOPTS -ffunction-sections -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer \
487 --sysroot=$ANDROID_NDK_PATH/platforms/android-4/arch-arm"
488 GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -nostdlib -lc -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack \
489 --sysroot=$ANDROID_NDK_PATH/platforms/android-4/arch-arm"
490 LDOPTS
="$LDOPTS -shared -nostdlib -ldl -llog"
491 extradefines
="$extradefines -DANDROID"
493 SHARED_FLAG
="-shared"
497 atype
=`echo "$1" | cut -c 2-`
498 ##################################################################
499 # Prompt for specific developer options
501 if [ "$atype" ]; then
506 printf "Enter your developer options (press only enter when done)\n\
507 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
508 (T)est plugins, S(m)all C lib:"
509 if [ "$memory" = "2" ]; then
512 if [ "$modelname" = "archosplayer" ]; then
513 printf ", Use (A)TA poweroff"
515 if [ "$t_model" = "ondio" ]; then
516 printf ", (B)acklight MOD"
518 if [ "$modelname" = "iaudiom5" ]; then
519 printf ", (F)M radio MOD"
521 if [ "$modelname" = "iriverh120" ]; then
528 while [ $cont = "1" ]; do
530 if [ "$interact" ]; then
533 option
=`echo "$atype" | cut -c 1`
538 if [ "yes" = "$profile" ]; then
539 echo "Debug is incompatible with profiling"
541 echo "DEBUG build enabled"
546 echo "logf() support enabled"
550 echo "Using Rockbox' small C library"
551 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
554 echo "Including test plugins"
555 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
558 echo "bootchart enabled (logf also enabled)"
563 echo "Simulator build enabled"
567 if [ "yes" = "$use_debug" ]; then
568 echo "Profiling is incompatible with debug"
570 echo "Profiling support is enabled"
575 echo "Voice build selected"
579 if [ "$memory" = "2" ]; then
581 echo "Memory size selected: 8MB"
585 if [ "$modelname" = "archosplayer" ]; then
586 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
587 echo "ATA power off enabled"
591 if [ "$t_model" = "ondio" ]; then
592 have_backlight
="#define HAVE_BACKLIGHT"
593 echo "Backlight functions enabled"
597 if [ "$modelname" = "iaudiom5" ]; then
598 have_fmradio_in
="#define HAVE_FMRADIO_IN"
599 echo "FM radio functions enabled"
603 if [ "$modelname" = "iriverh120" ]; then
604 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
605 have_rtc_alarm
="#define HAVE_RTC_ALARM"
606 echo "RTC functions enabled (DS1339/DS3231)"
610 echo "Enabling Windows 32 cross-compiling"
611 win32crosscompile
="yes"
613 "") # Match enter press when finished with advanced options
617 echo "[ERROR] Option $option unsupported"
620 if [ "$interact" ]; then
621 btype
="$btype$option"
623 atype
=`echo "$atype" | cut -c 2-`
624 [ "$atype" ] || cont
=0
629 if [ "yes" = "$voice" ]; then
630 # Ask about languages to build
632 voicelanguage
=`whichlang`
633 echo "Voice language set to $voicelanguage"
635 # Configure encoder and TTS engine for each language
636 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
637 voiceconfig
"$thislang"
640 if [ "yes" = "$use_debug" ]; then
642 GCCOPTS
="$GCCOPTS -g -DDEBUG"
644 if [ "yes" = "$logf" ]; then
645 use_logf
="#define ROCKBOX_HAS_LOGF 1"
647 if [ "yes" = "$bootchart" ]; then
648 use_bootchart
="#define DO_BOOTCHART 1"
650 if [ "yes" = "$simulator" ]; then
652 extradefines
="$extradefines -DSIMULATOR"
656 if [ "yes" = "$profile" ]; then
657 extradefines
="$extradefines -DRB_PROFILE"
658 PROFILE_OPTS
="-finstrument-functions"
662 # Configure voice settings
665 if [ ! "$ARG_TTS" ]; then
666 echo "Building $thislang voice for $modelname. Select options"
670 if [ -n "`findtool flite`" ]; then
674 DEFAULT_TTS_OPTS
=$FLITE_OPTS
675 DEFAULT_NOISEFLOOR
="500"
678 if [ -n "`findtool espeak`" ]; then
682 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
683 DEFAULT_NOISEFLOOR
="500"
686 if [ -n "`findtool festival`" ]; then
687 FESTIVAL
="(F)estival "
690 FESTIVAL_OPTS
="--language italian"
693 FESTIVAL_OPTS
="--language spanish"
696 FESTIVAL_OPTS
="--language finnish"
699 FESTIVAL_OPTS
="--language czech"
705 DEFAULT_TTS
="festival"
706 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
707 DEFAULT_NOISEFLOOR
="500"
710 if [ -n "`findtool swift`" ]; then
714 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
715 DEFAULT_NOISEFLOOR
="500"
718 # Allow SAPI if Windows is in use
719 if [ -n "`findtool winver`" ]; then
723 DEFAULT_TTS_OPTS
=$SAPI_OPTS
724 DEFAULT_NOISEFLOOR
="500"
728 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
729 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
733 if [ "$ARG_TTS" ]; then
736 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
739 advopts
="$advopts --tts=$option"
743 NOISEFLOOR
="500" # TODO: check this value
749 TTS_OPTS
=$ESPEAK_OPTS
752 TTS_ENGINE
="festival"
754 TTS_OPTS
=$FESTIVAL_OPTS
767 TTS_ENGINE
=$DEFAULT_TTS
768 TTS_OPTS
=$DEFAULT_TTS_OPTS
769 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
771 echo "Using $TTS_ENGINE for TTS"
773 # Select which voice to use for Festival
774 if [ "$TTS_ENGINE" = "festival" ]; then
775 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
776 for voice
in $voicelist; do
777 TTS_FESTIVAL_VOICE
="$voice" # Default choice
780 if [ "$ARG_VOICE" ]; then
784 for voice
in $voicelist; do
785 printf "%3d. %s\n" "$i" "$voice"
788 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
792 for voice
in $voicelist; do
793 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
794 TTS_FESTIVAL_VOICE
="$voice"
798 advopts
="$advopts --voice=$CHOICE"
799 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
800 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
803 # Read custom tts options from command line
804 if [ "$ARG_TTSOPTS" ]; then
805 TTS_OPTS
="$ARG_TTSOPTS"
806 advopts
="$advopts --ttsopts='$TTS_OPTS'"
807 echo "$TTS_ENGINE options set to $TTS_OPTS"
810 if [ "$swcodec" = "yes" ]; then
813 ENC_OPTS
="-q 4 -c 10"
815 if [ -n "`findtool lame`" ]; then
818 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
820 echo "You need LAME in the system path to build voice files for"
821 echo "HWCODEC targets."
826 echo "Using $ENCODER for encoding voice clips"
828 # Read custom encoder options from command line
829 if [ "$ARG_ENCOPTS" ]; then
830 ENC_OPTS
="$ARG_ENCOPTS"
831 advopts
="$advopts --encopts='$ENC_OPTS'"
832 echo "$ENCODER options set to $ENC_OPTS"
836 if [ -n "`findtool cygpath`" ]; then
837 TEMPDIR
=`cygpath . -a -w`
842 # figure out which languages that are around
843 for file in $rootdir/apps
/lang
/*.lang
; do
844 clean
=`basename $file .lang`
845 langs
="$langs $clean"
848 if [ "$ARG_LANG" ]; then
851 echo "Select a number for the language to use (default is english)"
852 # FIXME The multiple-language feature is currently broken
853 # echo "You may enter a comma-separated list of languages to build"
856 for one
in $langs; do
862 advopts
="$advopts --language=$pick"
867 # Allow the user to pass a comma-separated list of langauges
868 for thispick
in `echo $pick | sed 's/,/ /g'`; do
870 for one
in $langs; do
871 # Accept both the language number and name
872 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
873 if [ "$output" = "" ]; then
882 if [ -z "$output" ]; then
890 echo "Rockbox configure script."
891 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
892 echo "Do *NOT* run this within the tools directory!"
895 Usage: configure [OPTION]...
897 --target=TARGET Sets the target, TARGET can be either the target ID or
898 corresponding string. Run without this option to see all
901 --ram=RAM Sets the RAM for certain targets. Even though any number
902 is accepted, not every number is correct. The default
903 value will be applied, if you entered a wrong number
904 (which depends on the target). Watch the output. Run
905 without this option if you are not sure which the right
908 --type=TYPE Sets the build type. Shortcuts are also valid.
909 Run without this option to see all available types.
910 Multiple values are allowed and managed in the input
911 order. So --type=b stands for Bootloader build, while
912 --type=ab stands for "Backlight MOD" build.
914 --language=LANG Set the language used for voice generation (used only if
917 --tts=ENGINE Set the TTS engine used for voice generation (used only
920 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
923 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
925 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
927 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
928 This is useful for having multiple alternate builds on
929 your device that you can load with ROLO. However as the
930 bootloader looks for .rockbox you won't be able to boot
933 --ccache Enable ccache use (done by default these days)
934 --no-ccache Disable ccache use
936 --eabi Make configure prefer toolchains that are able to compile
937 for the new ARM standard abi EABI
938 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
939 --thumb Build with -mthumb (for ARM builds)
940 --no-thumb The opposite of --thumb (don't use thumb even for targets
941 where this is the default
942 --prefix Target installation directory
943 --help Shows this message (must not be used with other options)
966 --ccache) ARG_CCACHE
=1;;
967 --no-ccache) ARG_CCACHE
=0;;
968 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
969 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
970 --lcdwidth=*) ARG_LCDWIDTH
=`echo "$arg" | cut -d = -f 2`;;
971 --lcdheight=*) ARG_LCDHEIGHT
=`echo "$arg" | cut -d = -f 2`;;
972 --platform=*) ARG_PLATFORM
=`echo "$arg" | cut -d = -f 2`;;
973 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
974 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
975 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
976 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
977 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
978 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
979 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
980 --eabi) ARG_ARM_EABI
=1;;
981 --no-eabi) ARG_ARM_EABI
=0;;
982 --thumb) ARG_ARM_THUMB
=1;;
983 --no-thumb) ARG_ARM_THUMB
=0;;
984 --prefix=*) ARG_PREFIX
=`echo "$arg" | cut -d = -f 2`;;
986 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
993 if [ "$TMPDIR" != "" ]; then
998 echo Using temporary directory
$tmpdir
1000 if test -r "configure"; then
1001 # this is a check for a configure script in the current directory, it there
1002 # is one, try to figure out if it is this one!
1004 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
1005 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
1006 echo "It will only cause you pain and grief. Instead do this:"
1009 echo " mkdir build-dir"
1010 echo " cd build-dir"
1011 echo " ../tools/configure"
1013 echo "Much happiness will arise from this. Enjoy"
1018 # get our current directory
1021 if { echo $pwd |
grep " "; } then
1022 echo "You're running this script in a path that contains space. The build"
1023 echo "system is unfortunately not clever enough to deal with this. Please"
1024 echo "run the script from a different path, rename the path or fix the build"
1029 if [ -z "$rootdir" ]; then
1030 ##################################################################
1031 # Figure out where the source code root is!
1033 rootdir
=`dirname $0`/..
/
1035 #####################################################################
1036 # Convert the possibly relative directory name to an absolute version
1042 # cd back to the build dir
1047 appsdir
='\$(ROOTDIR)/apps'
1048 firmdir
='\$(ROOTDIR)/firmware'
1049 toolsdir
='\$(ROOTDIR)/tools'
1052 ##################################################################
1053 # Figure out target platform
1056 if [ "$ARG_TARGET" ]; then
1057 buildfor
=$ARG_TARGET
1059 echo "Enter target platform:"
1061 ==Archos== ==iriver== ==Apple iPod==
1062 0) Player/Studio 10) H120/H140 20) Color/Photo
1063 1) Recorder 11) H320/H340 21) Nano 1G
1064 2) FM Recorder 12) iHP-100/110/115 22) Video
1065 3) Recorder v2 13) iFP-790 23) 3G
1066 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1067 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1068 6) AV300 26) Mini 2G
1069 ==Toshiba== 27) 1G, 2G
1070 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1071 30) X5/X5V/X5L 41) Gigabeat S 29) Classic/6G
1073 32) 7 ==Olympus= ==SanDisk==
1074 33) D2 70) M:Robe 500 50) Sansa e200
1075 34) M3/M3L 71) M:Robe 100 51) Sansa e200R
1077 ==Creative== ==Philips== 53) Sansa m200
1078 90) Zen Vision:M 30GB 100) GoGear SA9200 54) Sansa c100
1079 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 55) Sansa Clip
1080 92) Zen Vision HDD1830 56) Sansa e200v2
1081 102) GoGear HDD6330 57) Sansa m200v4
1082 ==Onda== 58) Sansa Fuze
1083 120) VX747 ==Meizu== 59) Sansa c200v2
1084 121) VX767 110) M6SL 60) Sansa Clipv2
1085 122) VX747+ 111) M6SP 61) Sansa View
1086 123) VX777 112) M3 62) Sansa Clip+
1088 ==Samsung== ==Tatung==
1089 140) YH-820 150) Elio TPJ-1022 ==Logik==
1090 141) YH-920 80) DAX 1GB MP3/DAB
1091 142) YH-925 ==Packard Bell==
1092 143) YP-S3 160) Vibe 500 ==Lyre project==
1094 ==MPIO== == Application == 131) Mini2440
1095 170) HD200 200) Application
1103 # Set of tools built for all target platforms:
1104 toolset
="rdf2binary convbdf codepages"
1106 # Toolsets for some target families:
1107 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
1108 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1109 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1110 ipodbitmaptools
="$toolset scramble bmp2rb"
1111 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
1112 tccbitmaptools
="$toolset scramble bmp2rb"
1113 # generic is used by IFP, Meizu and Onda
1114 genericbitmaptools
="$toolset bmp2rb"
1115 # scramble is used by all other targets
1116 scramblebitmaptools
="$genericbitmaptools scramble"
1119 # ---- For each target ----
1122 # target_id: a unique number identifying this target, IS NOT the menu number.
1123 # Just use the currently highest number+1 when you add a new
1125 # modelname: short model name used all over to identify this target
1126 # memory: number of megabytes of RAM this target has. If the amount can
1127 # be selected by the size prompt, let memory be unset here
1128 # target: -Ddefine passed to the build commands to make the correct
1129 # config-*.h file get included etc
1130 # tool: the tool that takes a plain binary and converts that into a
1131 # working "firmware" file for your target
1132 # output: the final output file name
1133 # boottool: the tool that takes a plain binary and generates a bootloader
1134 # file for your target (or blank to use $tool)
1135 # bootoutput:the final output file name for the bootloader (or blank to use
1137 # appextra: passed to the APPEXTRA variable in the Makefiles.
1138 # TODO: add proper explanation
1139 # archosrom: used only for Archos targets that build a special flashable .ucl
1141 # flash: name of output for flashing, for targets where there's a special
1142 # file output for this.
1143 # plugins: set to 'yes' to build the plugins. Early development builds can
1144 # set this to no in the early stages to have an easier life for a
1146 # swcodec: set 'yes' on swcodec targets
1147 # toolset: lists what particular tools in the tools/ directory that this
1148 # target needs to have built prior to building Rockbox
1151 # *cc: sets up gcc and compiler options for your target builds. Note
1152 # that if you select a simulator build, the compiler selection is
1153 # overridden later in the script.
1159 modelname
="archosplayer"
1160 target
="-DARCHOS_PLAYER"
1162 tool
="$rootdir/tools/scramble"
1164 appextra
="player:gui"
1165 archosrom
="$pwd/rombox.ucl"
1166 flash
="$pwd/rockbox.ucl"
1170 # toolset is the tools within the tools directory that we build for
1171 # this particular target.
1172 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1174 # Note: the convbdf is present in the toolset just because: 1) the
1175 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1176 # build the player simulator
1179 t_manufacturer
="archos"
1185 modelname
="archosrecorder"
1186 target
="-DARCHOS_RECORDER"
1188 tool
="$rootdir/tools/scramble"
1189 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1190 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1192 appextra
="recorder:gui:radio"
1193 #archosrom="$pwd/rombox.ucl"
1194 flash
="$pwd/rockbox.ucl"
1197 # toolset is the tools within the tools directory that we build for
1198 # this particular target.
1199 toolset
=$archosbitmaptools
1201 t_manufacturer
="archos"
1207 modelname
="archosfmrecorder"
1208 target
="-DARCHOS_FMRECORDER"
1210 tool
="$rootdir/tools/scramble -fm"
1211 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1212 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1214 appextra
="recorder:gui:radio"
1215 #archosrom="$pwd/rombox.ucl"
1216 flash
="$pwd/rockbox.ucl"
1219 # toolset is the tools within the tools directory that we build for
1220 # this particular target.
1221 toolset
=$archosbitmaptools
1223 t_manufacturer
="archos"
1229 modelname
="archosrecorderv2"
1230 target
="-DARCHOS_RECORDERV2"
1232 tool
="$rootdir/tools/scramble -v2"
1233 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1234 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1236 appextra
="recorder:gui:radio"
1237 #archosrom="$pwd/rombox.ucl"
1238 flash
="$pwd/rockbox.ucl"
1241 # toolset is the tools within the tools directory that we build for
1242 # this particular target.
1243 toolset
=$archosbitmaptools
1245 t_manufacturer
="archos"
1251 modelname
="archosondiosp"
1252 target
="-DARCHOS_ONDIOSP"
1254 tool
="$rootdir/tools/scramble -osp"
1255 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1256 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1258 appextra
="recorder:gui:radio"
1259 #archosrom="$pwd/rombox.ucl"
1260 flash
="$pwd/rockbox.ucl"
1263 # toolset is the tools within the tools directory that we build for
1264 # this particular target.
1265 toolset
=$archosbitmaptools
1267 t_manufacturer
="archos"
1273 modelname
="archosondiofm"
1274 target
="-DARCHOS_ONDIOFM"
1276 tool
="$rootdir/tools/scramble -ofm"
1277 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1278 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1280 appextra
="recorder:gui:radio"
1281 #archosrom="$pwd/rombox.ucl"
1282 flash
="$pwd/rockbox.ucl"
1285 toolset
=$archosbitmaptools
1287 t_manufacturer
="archos"
1293 modelname
="archosav300"
1294 target
="-DARCHOS_AV300"
1297 tool
="$rootdir/tools/scramble -mm=C"
1298 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1299 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1301 appextra
="recorder:gui:radio"
1304 # toolset is the tools within the tools directory that we build for
1305 # this particular target.
1306 toolset
="$toolset scramble descramble bmp2rb"
1307 # architecture, manufacturer and model for the target-tree build
1309 t_manufacturer
="archos"
1315 modelname
="iriverh120"
1316 target
="-DIRIVER_H120"
1319 tool
="$rootdir/tools/scramble -add=h120"
1320 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1321 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1322 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1323 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1324 output
="rockbox.iriver"
1325 bootoutput
="bootloader.iriver"
1326 appextra
="recorder:gui:radio"
1327 flash
="$pwd/rombox.iriver"
1330 # toolset is the tools within the tools directory that we build for
1331 # this particular target.
1332 toolset
=$iriverbitmaptools
1334 t_manufacturer
="iriver"
1340 modelname
="iriverh300"
1341 target
="-DIRIVER_H300"
1344 tool
="$rootdir/tools/scramble -add=h300"
1345 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1346 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1347 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1348 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1349 output
="rockbox.iriver"
1350 appextra
="recorder:gui:radio"
1353 # toolset is the tools within the tools directory that we build for
1354 # this particular target.
1355 toolset
=$iriverbitmaptools
1357 t_manufacturer
="iriver"
1363 modelname
="iriverh100"
1364 target
="-DIRIVER_H100"
1367 tool
="$rootdir/tools/scramble -add=h100"
1368 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1369 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1370 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1371 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1372 output
="rockbox.iriver"
1373 bootoutput
="bootloader.iriver"
1374 appextra
="recorder:gui:radio"
1375 flash
="$pwd/rombox.iriver"
1378 # toolset is the tools within the tools directory that we build for
1379 # this particular target.
1380 toolset
=$iriverbitmaptools
1382 t_manufacturer
="iriver"
1388 modelname
="iriverifp7xx"
1389 target
="-DIRIVER_IFP7XX"
1393 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1394 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1395 output
="rockbox.wma"
1396 appextra
="recorder:gui:radio"
1399 # toolset is the tools within the tools directory that we build for
1400 # this particular target.
1401 toolset
=$genericbitmaptools
1403 t_manufacturer
="pnx0101"
1404 t_model
="iriver-ifp7xx"
1409 modelname
="iriverh10"
1410 target
="-DIRIVER_H10"
1413 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1414 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1415 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1416 output
="rockbox.mi4"
1417 appextra
="recorder:gui:radio"
1420 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1421 bootoutput
="H10_20GC.mi4"
1422 # toolset is the tools within the tools directory that we build for
1423 # this particular target.
1424 toolset
=$scramblebitmaptools
1425 # architecture, manufacturer and model for the target-tree build
1427 t_manufacturer
="iriver"
1433 modelname
="iriverh10_5gb"
1434 target
="-DIRIVER_H10_5GB"
1437 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1438 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1439 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1440 output
="rockbox.mi4"
1441 appextra
="recorder:gui:radio"
1444 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1445 bootoutput
="H10.mi4"
1446 # toolset is the tools within the tools directory that we build for
1447 # this particular target.
1448 toolset
=$scramblebitmaptools
1449 # architecture, manufacturer and model for the target-tree build
1451 t_manufacturer
="iriver"
1457 modelname
="ipodcolor"
1458 target
="-DIPOD_COLOR"
1461 tool
="$rootdir/tools/scramble -add=ipco"
1462 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1463 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1464 output
="rockbox.ipod"
1465 appextra
="recorder:gui:radio"
1468 bootoutput
="bootloader-$modelname.ipod"
1469 # toolset is the tools within the tools directory that we build for
1470 # this particular target.
1471 toolset
=$ipodbitmaptools
1472 # architecture, manufacturer and model for the target-tree build
1474 t_manufacturer
="ipod"
1480 modelname
="ipodnano1g"
1481 target
="-DIPOD_NANO"
1484 tool
="$rootdir/tools/scramble -add=nano"
1485 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1486 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1487 output
="rockbox.ipod"
1488 appextra
="recorder:gui:radio"
1491 bootoutput
="bootloader-$modelname.ipod"
1492 # toolset is the tools within the tools directory that we build for
1493 # this particular target.
1494 toolset
=$ipodbitmaptools
1495 # architecture, manufacturer and model for the target-tree build
1497 t_manufacturer
="ipod"
1503 modelname
="ipodvideo"
1504 target
="-DIPOD_VIDEO"
1505 memory
=64 # always. This is reduced at runtime if needed
1507 tool
="$rootdir/tools/scramble -add=ipvd"
1508 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1509 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1510 output
="rockbox.ipod"
1511 appextra
="recorder:gui:radio"
1514 bootoutput
="bootloader-$modelname.ipod"
1515 # toolset is the tools within the tools directory that we build for
1516 # this particular target.
1517 toolset
=$ipodbitmaptools
1518 # architecture, manufacturer and model for the target-tree build
1520 t_manufacturer
="ipod"
1530 tool
="$rootdir/tools/scramble -add=ip3g"
1531 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1532 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1533 output
="rockbox.ipod"
1534 appextra
="recorder:gui:radio"
1537 bootoutput
="bootloader-$modelname.ipod"
1538 # toolset is the tools within the tools directory that we build for
1539 # this particular target.
1540 toolset
=$ipodbitmaptools
1541 # architecture, manufacturer and model for the target-tree build
1543 t_manufacturer
="ipod"
1553 tool
="$rootdir/tools/scramble -add=ip4g"
1554 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1555 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1556 output
="rockbox.ipod"
1557 appextra
="recorder:gui:radio"
1560 bootoutput
="bootloader-$modelname.ipod"
1561 # toolset is the tools within the tools directory that we build for
1562 # this particular target.
1563 toolset
=$ipodbitmaptools
1564 # architecture, manufacturer and model for the target-tree build
1566 t_manufacturer
="ipod"
1572 modelname
="ipodmini1g"
1573 target
="-DIPOD_MINI"
1576 tool
="$rootdir/tools/scramble -add=mini"
1577 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1578 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1579 output
="rockbox.ipod"
1580 appextra
="recorder:gui:radio"
1583 bootoutput
="bootloader-$modelname.ipod"
1584 # toolset is the tools within the tools directory that we build for
1585 # this particular target.
1586 toolset
=$ipodbitmaptools
1587 # architecture, manufacturer and model for the target-tree build
1589 t_manufacturer
="ipod"
1595 modelname
="ipodmini2g"
1596 target
="-DIPOD_MINI2G"
1599 tool
="$rootdir/tools/scramble -add=mn2g"
1600 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1601 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1602 output
="rockbox.ipod"
1603 appextra
="recorder:gui:radio"
1606 bootoutput
="bootloader-$modelname.ipod"
1607 # toolset is the tools within the tools directory that we build for
1608 # this particular target.
1609 toolset
=$ipodbitmaptools
1610 # architecture, manufacturer and model for the target-tree build
1612 t_manufacturer
="ipod"
1618 modelname
="ipod1g2g"
1619 target
="-DIPOD_1G2G"
1622 tool
="$rootdir/tools/scramble -add=1g2g"
1623 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1624 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1625 output
="rockbox.ipod"
1626 appextra
="recorder:gui:radio"
1629 bootoutput
="bootloader-$modelname.ipod"
1630 # toolset is the tools within the tools directory that we build for
1631 # this particular target.
1632 toolset
=$ipodbitmaptools
1633 # architecture, manufacturer and model for the target-tree build
1635 t_manufacturer
="ipod"
1641 modelname
="ipodnano2g"
1642 target
="-DIPOD_NANO2G"
1645 tool
="$rootdir/tools/scramble -add=nn2g"
1646 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1647 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1648 output
="rockbox.ipod"
1649 appextra
="recorder:gui:radio"
1652 bootoutput
="bootloader-$modelname.ipod"
1653 # toolset is the tools within the tools directory that we build for
1654 # this particular target.
1655 toolset
=$ipodbitmaptools
1656 # architecture, manufacturer and model for the target-tree build
1658 t_manufacturer
="s5l8700"
1659 t_model
="ipodnano2g"
1668 tool
="$rootdir/tools/scramble -add=ip6g"
1669 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1670 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1671 output
="rockbox.ipod"
1672 appextra
="recorder:gui:radio"
1675 bootoutput
="bootloader-$modelname.ipod"
1676 # toolset is the tools within the tools directory that we build for
1677 # this particular target.
1678 toolset
=$ipodbitmaptools
1679 # architecture, manufacturer and model for the target-tree build
1681 t_manufacturer
="s5l8702"
1687 modelname
="iaudiox5"
1688 target
="-DIAUDIO_X5"
1691 tool
="$rootdir/tools/scramble -add=iax5"
1692 boottool
="$rootdir/tools/scramble -iaudiox5"
1693 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1694 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1695 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1696 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1697 output
="rockbox.iaudio"
1698 bootoutput
="x5_fw.bin"
1699 appextra
="recorder:gui:radio"
1702 # toolset is the tools within the tools directory that we build for
1703 # this particular target.
1704 toolset
="$iaudiobitmaptools"
1705 # architecture, manufacturer and model for the target-tree build
1707 t_manufacturer
="iaudio"
1713 modelname
="iaudiom5"
1714 target
="-DIAUDIO_M5"
1717 tool
="$rootdir/tools/scramble -add=iam5"
1718 boottool
="$rootdir/tools/scramble -iaudiom5"
1719 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1720 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1721 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1722 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1723 output
="rockbox.iaudio"
1724 bootoutput
="m5_fw.bin"
1725 appextra
="recorder:gui:radio"
1728 # toolset is the tools within the tools directory that we build for
1729 # this particular target.
1730 toolset
="$iaudiobitmaptools"
1731 # architecture, manufacturer and model for the target-tree build
1733 t_manufacturer
="iaudio"
1743 tool
="$rootdir/tools/scramble -add=i7"
1744 boottool
="$rootdir/tools/scramble -tcc=crc"
1745 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1746 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1747 output
="rockbox.iaudio"
1748 appextra
="recorder:gui:radio"
1751 bootoutput
="I7_FW.BIN"
1752 # toolset is the tools within the tools directory that we build for
1753 # this particular target.
1754 toolset
="$tccbitmaptools"
1755 # architecture, manufacturer and model for the target-tree build
1757 t_manufacturer
="tcc77x"
1767 tool
="$rootdir/tools/scramble -add=d2"
1769 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1770 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1772 bootoutput
="bootloader-cowond2.bin"
1773 appextra
="recorder:gui:radio"
1776 toolset
="$tccbitmaptools"
1777 # architecture, manufacturer and model for the target-tree build
1779 t_manufacturer
="tcc780x"
1785 modelname
="iaudiom3"
1786 target
="-DIAUDIO_M3"
1789 tool
="$rootdir/tools/scramble -add=iam3"
1790 boottool
="$rootdir/tools/scramble -iaudiom3"
1791 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1792 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1793 output
="rockbox.iaudio"
1794 bootoutput
="cowon_m3.bin"
1795 appextra
="recorder:gui:radio"
1798 # toolset is the tools within the tools directory that we build for
1799 # this particular target.
1800 toolset
="$iaudiobitmaptools"
1801 # architecture, manufacturer and model for the target-tree build
1803 t_manufacturer
="iaudio"
1809 modelname
="gigabeatfx"
1810 target
="-DGIGABEAT_F"
1813 tool
="$rootdir/tools/scramble -add=giga"
1814 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1815 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1816 output
="rockbox.gigabeat"
1817 appextra
="recorder:gui:radio"
1820 toolset
=$gigabeatbitmaptools
1821 boottool
="$rootdir/tools/scramble -gigabeat"
1822 bootoutput
="FWIMG01.DAT"
1823 # architecture, manufacturer and model for the target-tree build
1825 t_manufacturer
="s3c2440"
1826 t_model
="gigabeat-fx"
1831 modelname
="gigabeats"
1832 target
="-DGIGABEAT_S"
1835 tool
="$rootdir/tools/scramble -add=gigs"
1836 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1837 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1838 output
="rockbox.gigabeat"
1839 appextra
="recorder:gui:radio"
1842 toolset
="$gigabeatbitmaptools"
1843 boottool
="$rootdir/tools/scramble -gigabeats"
1845 # architecture, manufacturer and model for the target-tree build
1847 t_manufacturer
="imx31"
1848 t_model
="gigabeat-s"
1853 modelname
="mrobe500"
1854 target
="-DMROBE_500"
1857 tool
="$rootdir/tools/scramble -add=m500"
1858 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1859 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1860 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1861 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1862 output
="rockbox.mrobe500"
1863 appextra
="recorder:gui:radio"
1866 toolset
=$gigabeatbitmaptools
1868 bootoutput
="rockbox.mrboot"
1869 # architecture, manufacturer and model for the target-tree build
1871 t_manufacturer
="tms320dm320"
1877 modelname
="mrobe100"
1878 target
="-DMROBE_100"
1881 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1882 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1883 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1884 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1885 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1886 output
="rockbox.mi4"
1887 appextra
="recorder:gui:radio"
1890 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1891 bootoutput
="pp5020.mi4"
1892 # toolset is the tools within the tools directory that we build for
1893 # this particular target.
1894 toolset
=$scramblebitmaptools
1895 # architecture, manufacturer and model for the target-tree build
1897 t_manufacturer
="olympus"
1903 modelname
="logikdax"
1904 target
="-DLOGIK_DAX"
1907 tool
="$rootdir/tools/scramble -add=ldax"
1908 boottool
="$rootdir/tools/scramble -tcc=crc"
1909 bootoutput
="player.rom"
1910 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1911 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1912 output
="rockbox.logik"
1913 appextra
="recorder:gui:radio"
1916 # toolset is the tools within the tools directory that we build for
1917 # this particular target.
1918 toolset
=$tccbitmaptools
1919 # architecture, manufacturer and model for the target-tree build
1921 t_manufacturer
="tcc77x"
1927 modelname
="zenvisionm30gb"
1928 target
="-DCREATIVE_ZVM"
1931 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1932 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1933 tool
="$rootdir/tools/scramble -creative=zvm"
1935 output
="rockbox.zvm"
1936 appextra
="recorder:gui:radio"
1939 toolset
=$ipodbitmaptools
1940 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1941 bootoutput
="rockbox.zvmboot"
1942 # architecture, manufacturer and model for the target-tree build
1944 t_manufacturer
="tms320dm320"
1945 t_model
="creative-zvm"
1950 modelname
="zenvisionm60gb"
1951 target
="-DCREATIVE_ZVM60GB"
1954 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1955 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1956 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1958 output
="rockbox.zvm60"
1959 appextra
="recorder:gui:radio"
1962 toolset
=$ipodbitmaptools
1963 boottool
="$rootdir/tools/scramble -creative=zvm60"
1964 bootoutput
="rockbox.zvm60boot"
1965 # architecture, manufacturer and model for the target-tree build
1967 t_manufacturer
="tms320dm320"
1968 t_model
="creative-zvm"
1973 modelname
="zenvision"
1974 target
="-DCREATIVE_ZV"
1977 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1978 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1979 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1982 appextra
="recorder:gui:radio"
1985 toolset
=$ipodbitmaptools
1986 boottool
="$rootdir/tools/scramble -creative=zenvision"
1987 bootoutput
="rockbox.zvboot"
1988 # architecture, manufacturer and model for the target-tree build
1990 t_manufacturer
="tms320dm320"
1991 t_model
="creative-zvm"
1996 modelname
="sansae200"
1997 target
="-DSANSA_E200"
1998 memory
=32 # supposedly
2000 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
2001 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2002 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2003 output
="rockbox.mi4"
2004 appextra
="recorder:gui:radio"
2007 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
2008 bootoutput
="PP5022.mi4"
2009 # toolset is the tools within the tools directory that we build for
2010 # this particular target.
2011 toolset
=$scramblebitmaptools
2012 # architecture, manufacturer and model for the target-tree build
2014 t_manufacturer
="sandisk"
2015 t_model
="sansa-e200"
2019 # the e200R model is pretty much identical to the e200, it only has a
2020 # different option to the scramble tool when building a bootloader and
2021 # makes the bootloader output file name in all lower case.
2023 modelname
="sansae200r"
2024 target
="-DSANSA_E200"
2025 memory
=32 # supposedly
2027 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
2028 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2029 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2030 output
="rockbox.mi4"
2031 appextra
="recorder:gui:radio"
2034 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
2035 bootoutput
="pp5022.mi4"
2036 # toolset is the tools within the tools directory that we build for
2037 # this particular target.
2038 toolset
=$scramblebitmaptools
2039 # architecture, manufacturer and model for the target-tree build
2041 t_manufacturer
="sandisk"
2042 t_model
="sansa-e200"
2047 modelname
="sansac200"
2048 target
="-DSANSA_C200"
2049 memory
=32 # supposedly
2051 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2052 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2053 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2054 output
="rockbox.mi4"
2055 appextra
="recorder:gui:radio"
2058 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2059 bootoutput
="firmware.mi4"
2060 # toolset is the tools within the tools directory that we build for
2061 # this particular target.
2062 toolset
=$scramblebitmaptools
2063 # architecture, manufacturer and model for the target-tree build
2065 t_manufacturer
="sandisk"
2066 t_model
="sansa-c200"
2071 modelname
="sansam200"
2072 target
="-DSANSA_M200"
2075 tool
="$rootdir/tools/scramble -add=m200"
2076 boottool
="$rootdir/tools/scramble -tcc=crc"
2077 bootoutput
="player.rom"
2078 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2079 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
2080 output
="rockbox.m200"
2081 appextra
="recorder:gui:radio"
2084 # toolset is the tools within the tools directory that we build for
2085 # this particular target.
2086 toolset
=$tccbitmaptools
2087 # architecture, manufacturer and model for the target-tree build
2089 t_manufacturer
="tcc77x"
2095 modelname
="sansac100"
2096 target
="-DSANSA_C100"
2099 tool
="$rootdir/tools/scramble -add=c100"
2100 boottool
="$rootdir/tools/scramble -tcc=crc"
2101 bootoutput
="player.rom"
2102 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2103 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2104 output
="rockbox.c100"
2105 appextra
="recorder:gui:radio"
2108 # toolset is the tools within the tools directory that we build for
2109 # this particular target.
2110 toolset
=$tccbitmaptools
2111 # architecture, manufacturer and model for the target-tree build
2113 t_manufacturer
="tcc77x"
2119 modelname
="sansaclip"
2120 target
="-DSANSA_CLIP"
2122 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2123 bmp2rb_native
="$bmp2rb_mono"
2124 tool
="$rootdir/tools/scramble -add=clip"
2125 output
="rockbox.sansa"
2126 bootoutput
="bootloader-clip.sansa"
2127 appextra
="recorder:gui:radio"
2130 toolset
=$scramblebitmaptools
2132 t_manufacturer
="as3525"
2133 t_model
="sansa-clip"
2134 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2136 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2142 modelname
="sansae200v2"
2143 target
="-DSANSA_E200V2"
2145 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2146 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2147 tool
="$rootdir/tools/scramble -add=e2v2"
2148 output
="rockbox.sansa"
2149 bootoutput
="bootloader-e200v2.sansa"
2150 appextra
="recorder:gui:radio"
2153 toolset
=$scramblebitmaptools
2155 t_manufacturer
="as3525"
2156 t_model
="sansa-e200v2"
2163 modelname
="sansam200v4"
2164 target
="-DSANSA_M200V4"
2166 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2167 bmp2rb_native
="$bmp2rb_mono"
2168 tool
="$rootdir/tools/scramble -add=m2v4"
2169 output
="rockbox.sansa"
2170 bootoutput
="bootloader-m200v4.sansa"
2171 appextra
="recorder:gui:radio"
2174 toolset
=$scramblebitmaptools
2176 t_manufacturer
="as3525"
2177 t_model
="sansa-m200v4"
2178 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2180 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2186 modelname
="sansafuze"
2187 target
="-DSANSA_FUZE"
2189 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2190 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2191 tool
="$rootdir/tools/scramble -add=fuze"
2192 output
="rockbox.sansa"
2193 bootoutput
="bootloader-fuze.sansa"
2194 appextra
="recorder:gui:radio"
2197 toolset
=$scramblebitmaptools
2199 t_manufacturer
="as3525"
2200 t_model
="sansa-fuze"
2207 modelname
="sansac200v2"
2208 target
="-DSANSA_C200V2"
2209 memory
=2 # as per OF diagnosis mode
2210 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2211 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2212 tool
="$rootdir/tools/scramble -add=c2v2"
2213 output
="rockbox.sansa"
2214 bootoutput
="bootloader-c200v2.sansa"
2215 appextra
="recorder:gui:radio"
2218 # toolset is the tools within the tools directory that we build for
2219 # this particular target.
2220 toolset
=$scramblebitmaptools
2221 # architecture, manufacturer and model for the target-tree build
2223 t_manufacturer
="as3525"
2224 t_model
="sansa-c200v2"
2225 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2227 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2232 modelname
="sansaclipv2"
2233 target
="-DSANSA_CLIPV2"
2235 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2236 bmp2rb_native
="$bmp2rb_mono"
2237 tool
="$rootdir/tools/scramble -add=clv2"
2238 output
="rockbox.sansa"
2239 bootoutput
="bootloader-clipv2.sansa"
2240 appextra
="recorder:gui:radio"
2243 toolset
=$scramblebitmaptools
2245 t_manufacturer
="as3525"
2246 t_model
="sansa-clipv2"
2251 echo "Sansa View is not yet supported!"
2254 modelname
="sansaview"
2255 target
="-DSANSA_VIEW"
2258 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2259 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2260 output
="rockbox.mi4"
2264 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2265 bootoutput
="firmware.mi4"
2266 # toolset is the tools within the tools directory that we build for
2267 # this particular target.
2268 toolset
=$scramblebitmaptools
2270 t_manufacturer
="sandisk"
2271 t_model
="sansa-view"
2276 modelname
="sansaclipplus"
2277 target
="-DSANSA_CLIPPLUS"
2279 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2280 bmp2rb_native
="$bmp2rb_mono"
2281 tool
="$rootdir/tools/scramble -add=cli+"
2282 output
="rockbox.sansa"
2283 bootoutput
="bootloader-clipplus.sansa"
2284 appextra
="recorder:gui:radio"
2287 toolset
=$scramblebitmaptools
2289 t_manufacturer
="as3525"
2290 t_model
="sansa-clipplus"
2296 modelname
="sansafuzev2"
2297 target
="-DSANSA_FUZEV2"
2299 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2300 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2301 tool
="$rootdir/tools/scramble -add=fuz2"
2302 output
="rockbox.sansa"
2303 bootoutput
="bootloader-fuzev2.sansa"
2304 appextra
="recorder:gui:radio"
2307 toolset
=$scramblebitmaptools
2309 t_manufacturer
="as3525"
2310 t_model
="sansa-fuzev2"
2316 modelname
="tatungtpj1022"
2317 target
="-DTATUNG_TPJ1022"
2320 tool
="$rootdir/tools/scramble -add tpj2"
2321 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2322 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2323 output
="rockbox.elio"
2324 appextra
="recorder:gui:radio"
2327 boottool
="$rootdir/tools/scramble -mi4v2"
2328 bootoutput
="pp5020.mi4"
2329 # toolset is the tools within the tools directory that we build for
2330 # this particular target.
2331 toolset
=$scramblebitmaptools
2332 # architecture, manufacturer and model for the target-tree build
2334 t_manufacturer
="tatung"
2340 modelname
="gogearsa9200"
2341 target
="-DPHILIPS_SA9200"
2342 memory
=32 # supposedly
2344 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2345 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2346 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2347 output
="rockbox.mi4"
2348 appextra
="recorder:gui:radio"
2351 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2352 bootoutput
="FWImage.ebn"
2353 # toolset is the tools within the tools directory that we build for
2354 # this particular target.
2355 toolset
=$scramblebitmaptools
2356 # architecture, manufacturer and model for the target-tree build
2358 t_manufacturer
="philips"
2364 modelname
="gogearhdd1630"
2365 target
="-DPHILIPS_HDD1630"
2366 memory
=32 # supposedly
2368 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2369 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2370 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2371 output
="rockbox.mi4"
2372 appextra
="recorder:gui:radio"
2375 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2376 bootoutput
="FWImage.ebn"
2377 # toolset is the tools within the tools directory that we build for
2378 # this particular target.
2379 toolset
=$scramblebitmaptools
2380 # architecture, manufacturer and model for the target-tree build
2382 t_manufacturer
="philips"
2388 modelname
="gogearhdd6330"
2389 target
="-DPHILIPS_HDD6330"
2392 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2393 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2394 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2395 output
="rockbox.mi4"
2396 appextra
="recorder:gui:radio"
2399 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2400 bootoutput
="FWImage.ebn"
2401 # toolset is the tools within the tools directory that we build for
2402 # this particular target.
2403 toolset
=$scramblebitmaptools
2404 # architecture, manufacturer and model for the target-tree build
2406 t_manufacturer
="philips"
2412 modelname
="meizum6sl"
2413 target
="-DMEIZU_M6SL"
2417 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2418 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2419 output
="rockbox.meizu"
2420 appextra
="recorder:gui:radio"
2423 toolset
=$genericbitmaptools
2425 bootoutput
="rockboot.ebn"
2426 # architecture, manufacturer and model for the target-tree build
2428 t_manufacturer
="s5l8700"
2429 t_model
="meizu-m6sl"
2434 modelname
="meizum6sp"
2435 target
="-DMEIZU_M6SP"
2439 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2440 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2441 output
="rockbox.meizu"
2442 appextra
="recorder:gui:radio"
2445 toolset
=$genericbitmaptools
2447 bootoutput
="rockboot.ebn"
2448 # architecture, manufacturer and model for the target-tree build
2450 t_manufacturer
="s5l8700"
2451 t_model
="meizu-m6sp"
2461 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2462 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2463 output
="rockbox.meizu"
2464 appextra
="recorder:gui:radio"
2467 toolset
=$genericbitmaptools
2469 bootoutput
="rockboot.ebn"
2470 # architecture, manufacturer and model for the target-tree build
2472 t_manufacturer
="s5l8700"
2478 modelname
="ondavx747"
2479 target
="-DONDA_VX747"
2482 tool
="$rootdir/tools/scramble -add=x747"
2483 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2484 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2485 output
="rockbox.vx747"
2486 appextra
="recorder:gui:radio"
2489 toolset
=$genericbitmaptools
2490 boottool
="$rootdir/tools/scramble -ccpmp"
2491 bootoutput
="ccpmp.bin"
2492 # architecture, manufacturer and model for the target-tree build
2494 t_manufacturer
="ingenic_jz47xx"
2495 t_model
="onda_vx747"
2500 modelname
="ondavx767"
2501 target
="-DONDA_VX767"
2505 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2506 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2507 output
="rockbox.vx767"
2508 appextra
="recorder:gui:radio"
2511 toolset
=$genericbitmaptools
2512 boottool
="$rootdir/tools/scramble -ccpmp"
2513 bootoutput
="ccpmp.bin"
2514 # architecture, manufacturer and model for the target-tree build
2516 t_manufacturer
="ingenic_jz47xx"
2517 t_model
="onda_vx767"
2522 modelname
="ondavx747p"
2523 target
="-DONDA_VX747P"
2526 tool
="$rootdir/tools/scramble -add=747p"
2527 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2528 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2529 output
="rockbox.vx747p"
2530 appextra
="recorder:gui:radio"
2533 toolset
=$genericbitmaptools
2534 boottool
="$rootdir/tools/scramble -ccpmp"
2535 bootoutput
="ccpmp.bin"
2536 # architecture, manufacturer and model for the target-tree build
2538 t_manufacturer
="ingenic_jz47xx"
2539 t_model
="onda_vx747"
2544 modelname
="ondavx777"
2545 target
="-DONDA_VX777"
2548 tool
="$rootdir/tools/scramble -add=x777"
2549 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2550 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2551 output
="rockbox.vx777"
2552 appextra
="recorder:gui:radio"
2555 toolset
=$genericbitmaptools
2556 boottool
="$rootdir/tools/scramble -ccpmp"
2557 bootoutput
="ccpmp.bin"
2558 # architecture, manufacturer and model for the target-tree build
2560 t_manufacturer
="ingenic_jz47xx"
2561 t_model
="onda_vx747"
2566 modelname
="lyreproto1"
2567 target
="-DLYRE_PROTO1"
2571 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2572 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2573 output
="rockbox.lyre"
2574 appextra
="recorder:gui:radio"
2577 toolset
=$scramblebitmaptools
2579 bootoutput
="bootloader-proto1.lyre"
2580 # architecture, manufacturer and model for the target-tree build
2582 t_manufacturer
="at91sam"
2583 t_model
="lyre_proto1"
2588 modelname
="mini2440"
2592 tool
="$rootdir/tools/scramble -add=m244"
2593 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2594 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2595 output
="rockbox.mini2440"
2596 appextra
="recorder:gui:radio"
2599 toolset
=$scramblebitmaptools
2601 bootoutput
="bootloader-mini2440.lyre"
2602 # architecture, manufacturer and model for the target-tree build
2604 t_manufacturer
="s3c2440"
2610 modelname
="samsungyh820"
2611 target
="-DSAMSUNG_YH820"
2614 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2615 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2616 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2617 output
="rockbox.mi4"
2618 appextra
="recorder:gui:radio"
2621 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2622 bootoutput
="FW_YH820.mi4"
2623 # toolset is the tools within the tools directory that we build for
2624 # this particular target.
2625 toolset
=$scramblebitmaptools
2626 # architecture, manufacturer and model for the target-tree build
2628 t_manufacturer
="samsung"
2634 modelname
="samsungyh920"
2635 target
="-DSAMSUNG_YH920"
2638 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2639 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2640 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2641 output
="rockbox.mi4"
2642 appextra
="recorder:gui:radio"
2645 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2646 bootoutput
="PP5020.mi4"
2647 # toolset is the tools within the tools directory that we build for
2648 # this particular target.
2649 toolset
=$scramblebitmaptools
2650 # architecture, manufacturer and model for the target-tree build
2652 t_manufacturer
="samsung"
2658 modelname
="samsungyh925"
2659 target
="-DSAMSUNG_YH925"
2662 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2663 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2664 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2665 output
="rockbox.mi4"
2666 appextra
="recorder:gui:radio"
2669 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2670 bootoutput
="FW_YH925.mi4"
2671 # toolset is the tools within the tools directory that we build for
2672 # this particular target.
2673 toolset
=$scramblebitmaptools
2674 # architecture, manufacturer and model for the target-tree build
2676 t_manufacturer
="samsung"
2682 modelname
="samsungyps3"
2683 target
="-DSAMSUNG_YPS3"
2687 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2688 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2689 output
="rockbox.yps3"
2690 appextra
="recorder:gui:radio"
2693 toolset
=$genericbitmaptools
2695 bootoutput
="rockboot.ebn"
2696 # architecture, manufacturer and model for the target-tree build
2698 t_manufacturer
="s5l8700"
2705 target
="-DPBELL_VIBE500"
2708 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2709 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2710 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2711 output
="rockbox.mi4"
2712 appextra
="recorder:gui:radio"
2715 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2716 bootoutput
="jukebox.mi4"
2717 # toolset is the tools within the tools directory that we build for
2718 # this particular target.
2719 toolset
=$scramblebitmaptools
2720 # architecture, manufacturer and model for the target-tree build
2722 t_manufacturer
="pbell"
2728 modelname
="mpiohd200"
2729 target
="-DMPIO_HD200"
2732 tool
="$rootdir/tools/scramble -add=hd20"
2733 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2734 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2735 output
="rockbox.mpio"
2736 bootoutput
="bootloader.mpio"
2737 appextra
="recorder:gui:radio"
2740 # toolset is the tools within the tools directory that we build for
2741 # this particular target.
2742 toolset
="$genericbitmaptools"
2743 # architecture, manufacturer and model for the target-tree build
2745 t_manufacturer
="mpio"
2751 modelname
="mpiohd300"
2752 target
="-DMPIO_HD300"
2755 tool
="$rootdir/tools/scramble -add=hd30"
2756 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2757 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2758 output
="rockbox.mpio"
2759 bootoutput
="bootloader.mpio"
2760 appextra
="recorder:gui:radio"
2763 # toolset is the tools within the tools directory that we build for
2764 # this particular target.
2765 toolset
="$genericbitmaptools"
2766 # architecture, manufacturer and model for the target-tree build
2768 t_manufacturer
="mpio"
2774 modelname
="application"
2775 target
="-DAPPLICATION"
2777 need_full_path
="yes"
2783 appcc
"$app_platform"
2786 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2787 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2788 appextra
="recorder:gui:radio"
2791 # architecture, manufacturer and model for the target-tree build
2793 t_manufacturer
="$app_platform"
2798 echo "Please select a supported target platform!"
2804 echo "Platform set to $modelname"
2808 ############################################################################
2809 # Amount of memory, for those that can differ. They have $memory unset at
2813 if [ -z "$memory" ]; then
2816 if [ "$ARG_RAM" ]; then
2819 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2832 if [ "$ARG_RAM" ]; then
2835 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2848 echo "Memory size selected: $memory MB"
2849 [ "$ARG_TYPE" ] ||
echo ""
2853 ##################################################################
2854 # Figure out build "type"
2857 # the ifp7x0 is the only platform that supports building a gdb stub like
2861 gdbstub
="(G)DB stub, "
2863 sansae200r|sansae200
)
2864 gdbstub
="(I)nstaller, "
2867 gdbstub
="(E)raser, "
2872 if [ "$ARG_TYPE" ]; then
2875 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2881 appsdir
='\$(ROOTDIR)/bootloader'
2883 extradefines
="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2885 echo "e200R-installer build selected"
2888 appsdir
='\$(ROOTDIR)/bootloader'
2890 echo "C2(4)0 or C2(5)0"
2894 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2895 echo "c240 eraser build selected"
2898 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2899 echo "c240 eraser build selected"
2903 echo "c200 eraser build selected"
2906 if test $t_manufacturer = "archos"; then
2907 # Archos SH-based players do this somewhat differently for
2909 appsdir
='\$(ROOTDIR)/flash/bootbox'
2912 appsdir
='\$(ROOTDIR)/bootloader'
2915 if test -n "$boottool"; then
2918 if test -n "$bootoutput"; then
2922 extradefines
="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2924 echo "Bootloader build selected"
2927 if [ "$modelname" = "sansae200r" ]; then
2928 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2933 extradefines
="$extradefines -DSIMULATOR"
2936 echo "Simulator build selected"
2939 echo "Advanced build selected"
2940 whichadvanced
$btype
2943 extradefines
="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2944 appsdir
='\$(ROOTDIR)/gdb'
2953 echo "GDB stub build selected"
2958 echo "Manual build selected"
2966 extradefines
="$extradefines -DDEBUG"
2967 appsdir
='\$(ROOTDIR)/tools/checkwps';
2968 output
='checkwps.'${modelname};
2970 echo "CheckWPS build selected"
2978 appsdir
='\$(ROOTDIR)/tools/database';
2983 output
="database_${modelname}.exe"
2986 output
='database.'${modelname};
2990 echo "Database tool build selected"
2993 if [ "$modelname" = "sansae200r" ]; then
2994 echo "Do not use the e200R target for regular builds. Use e200 instead."
2998 btype
="N" # set it explicitly since RET only gets here as well
2999 echo "Normal build selected"
3003 # to be able running "make manual" from non-manual configuration
3006 manualdev
="archosfmrecorder"
3009 manualdev
="iriverh100"
3012 manualdev
="ipodmini1g"
3015 manualdev
=$modelname
3019 if [ -z "$debug" ]; then
3020 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
3023 echo "Using source code root directory: $rootdir"
3025 # this was once possible to change at build-time, but no more:
3030 if [ "yes" = "$simulator" ]; then
3031 # setup compiler and things for simulator
3034 if [ -d "simdisk" ]; then
3035 echo "Subdirectory 'simdisk' already present"
3038 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
3042 # Now, figure out version number of the (gcc) compiler we are about to use
3043 gccver
=`$CC -dumpversion`;
3045 # figure out the binutil version too and display it, mostly for the build
3046 # system etc to be able to see it easier
3047 if [ $uname = "Darwin" ]; then
3048 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
3050 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
3053 if [ -z "$gccver" ]; then
3054 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
3055 echo "[WARNING] this may cause your build to fail since we cannot do the"
3056 echo "[WARNING] checks we want now."
3059 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
3062 num1
=`echo $gccver | cut -d . -f1`
3063 num2
=`echo $gccver | cut -d . -f2`
3064 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
3071 echo "Using $CC $gccver ($gccnum)"
3073 if test "$gccnum" -ge "400"; then
3074 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3075 # so we ignore that warnings for now
3077 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
3080 if test "$gccnum" -ge "402"; then
3081 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3082 # and later would throw it for several valid cases
3083 GCCOPTS
="$GCCOPTS -Wno-override-init"
3087 ""|
"$CROSS_COMPILE")
3091 # cross-compile for win32
3094 # Verify that the cross-compiler is of a recommended version!
3095 if test "$gccver" != "$gccchoice"; then
3096 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3097 echo "WARNING: version $gccchoice!"
3098 echo "WARNING: This may cause your build to fail since it may be a version"
3099 echo "WARNING: that isn't functional or known to not be the best choice."
3100 echo "WARNING: If you suffer from build problems, you know that this is"
3101 echo "WARNING: a likely source for them..."
3109 echo "Using $LD $ldver"
3111 # check the compiler for SH platforms
3112 if test "$CC" = "sh-elf-gcc"; then
3113 if test "$gccnum" -lt "400"; then
3114 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3115 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3117 # figure out patch status
3118 gccpatch
=`$CC --version`;
3120 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
3121 echo "gcc $gccver is rockbox patched"
3122 # then convert -O to -Os to get smaller binaries!
3123 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3125 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3126 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3131 if test "$CC" = "m68k-elf-gcc"; then
3132 # convert -O to -Os to get smaller binaries!
3133 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3136 if [ "$ARG_CCACHE" = "1" ]; then
3137 echo "Enable ccache for building"
3139 elif [ "$ARG_CCACHE" != "0" ]; then
3140 ccache
=`findtool ccache`
3141 if test -n "$ccache"; then
3142 echo "Found and uses ccache ($ccache)"
3146 # figure out the full path to the various commands if possible
3147 HOSTCC
=`findtool gcc --lit`
3148 HOSTAR
=`findtool ar --lit`
3149 CC
=`findtool ${CC} --lit`
3150 LD
=`findtool ${AR} --lit`
3151 AR
=`findtool ${AR} --lit`
3152 AS
=`findtool ${AS} --lit`
3153 OC
=`findtool ${OC} --lit`
3154 WINDRES
=`findtool ${WINDRES} --lit`
3155 DLLTOOL
=`findtool ${DLLTOOL} --lit`
3156 DLLWRAP
=`findtool ${DLLWRAP} --lit`
3157 RANLIB
=`findtool ${RANLIB} --lit`
3159 if test -n "$ccache"; then
3163 if test "$ARG_ARM_THUMB" = "1"; then
3164 extradefines
="$extradefines -DUSE_THUMB"
3165 CC
="$toolsdir/thumb-cc.py $CC"
3168 if test "X$endian" = "Xbig"; then
3169 defendian
="ROCKBOX_BIG_ENDIAN"
3171 defendian
="ROCKBOX_LITTLE_ENDIAN"
3174 if [ "$ARG_RBDIR" != "" ]; then
3175 if [ -z `echo $ARG_RBDIR | grep '^/'` ]; then
3180 echo "Using alternate rockbox dir: ${rbdir}"
3184 -e "s<@ENDIAN@<${defendian}<g" \
3185 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3186 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3187 -e "s<@config_rtc@<$config_rtc<g" \
3188 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3189 -e "s<@RBDIR@<${rbdir}<g" \
3190 -e "s<@sharepath@<${sharedir}<g" \
3191 -e "s<@binpath@<${bindir}<g" \
3192 -e "s<@libpath@<${libdir}<g" \
3193 -e "s<@have_backlight@<$have_backlight<g" \
3194 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3195 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3196 -e "s<@lcd_width@<$app_lcd_width<g" \
3197 -e "s<@lcd_height@<$app_lcd_height<g" \
3199 /* This header was made by configure */
3200 #ifndef __BUILD_AUTOCONF_H
3201 #define __BUILD_AUTOCONF_H
3203 /* Define endianess for the target or simulator platform */
3206 /* Define this if you build rockbox to support the logf logging and display */
3207 #undef ROCKBOX_HAS_LOGF
3209 /* Define this to record a chart with timings for the stages of boot */
3212 /* optional define for a backlight modded Ondio */
3215 /* optional define for FM radio mod for iAudio M5 */
3218 /* optional define for ATA poweroff on Player */
3221 /* optional defines for RTC mod for h1x0 */
3225 /* lcd dimensions for application builds from configure */
3229 /* root of Rockbox */
3230 #define ROCKBOX_DIR "@RBDIR@"
3231 #define ROCKBOX_SHARE_PATH "@sharepath@"
3232 #define ROCKBOX_BINARY_PATH "@binpath@"
3233 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3235 #endif /* __BUILD_AUTOCONF_H */
3238 if test -n "$t_cpu"; then
3239 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3240 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3241 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3242 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3244 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3245 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3249 if test "$simulator" = "yes"; then
3250 # add simul make stuff on the #SIMUL# line
3251 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3252 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3254 # delete the lines that match
3255 simmagic1
='/@SIMUL1@/D'
3256 simmagic2
='/@SIMUL2@/D'
3259 if test "$swcodec" = "yes"; then
3260 voicetoolset
="rbspeexenc voicefont wavtrim"
3262 voicetoolset
="voicefont wavtrim"
3265 if test "$apps" = "apps"; then
3266 # only when we build "real" apps we build the .lng files
3270 #### Fix the cmdline ###
3271 if [ "$ARG_CCACHE" = "1" ]; then
3273 elif [ "$ARG_CCACHE" = "0" ]; then
3274 cmdline
="--no-ccache "
3276 if [ "$ARG_ARM_EABI" = "1" ]; then
3277 cmdline
="$cmdline--eabi "
3279 if [ "$app_platform" = "sdl" ]; then
3280 cmdline
="$cmdline--platform=S "
3281 elif [ "$app_platform" = "android" ]; then
3282 cmdline
="$cmdline--platform=A "
3284 if [ "$modelname" = "application" ]; then
3285 cmdline
="$cmdline--lcdwidth=$ARG_LCDWIDTH --lcdheight=$ARG_LCDHEIGHT "
3287 if [ -n "$ARG_PREFIX" ]; then
3288 cmdline
="$cmdline--prefix=\$(PREFIX) "
3291 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3296 -e "s<@ROOTDIR@<${rootdir}<g" \
3297 -e "s<@DEBUG@<${debug}<g" \
3298 -e "s<@MEMORY@<${memory}<g" \
3299 -e "s<@TARGET_ID@<${target_id}<g" \
3300 -e "s<@TARGET@<${target}<g" \
3301 -e "s<@CPU@<${t_cpu}<g" \
3302 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3303 -e "s<@MODELNAME@<${modelname}<g" \
3304 -e "s<@LANGUAGE@<${language}<g" \
3305 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3306 -e "s<@PWD@<${pwd}<g" \
3307 -e "s<@HOSTCC@<${HOSTCC}<g" \
3308 -e "s<@HOSTAR@<${HOSTAR}<g" \
3309 -e "s<@CC@<${CC}<g" \
3310 -e "s<@LD@<${LD}<g" \
3311 -e "s<@AR@<${AR}<g" \
3312 -e "s<@AS@<${AS}<g" \
3313 -e "s<@OC@<${OC}<g" \
3314 -e "s<@WINDRES@<${WINDRES}<g" \
3315 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3316 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3317 -e "s<@RANLIB@<${RANLIB}<g" \
3318 -e "s<@TOOL@<${tool}<g" \
3319 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3320 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3321 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3322 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3323 -e "s<@OUTPUT@<${output}<g" \
3324 -e "s<@APPEXTRA@<${appextra}<g" \
3325 -e "s<@ARCHOSROM@<${archosrom}<g" \
3326 -e "s<@FLASHFILE@<${flash}<g" \
3327 -e "s<@PLUGINS@<${plugins}<g" \
3328 -e "s<@CODECS@<${swcodec}<g" \
3329 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3330 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3331 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3332 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3333 -e "s<@LDOPTS@<${LDOPTS}<g" \
3334 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3335 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3336 -e "s<@EXTRADEF@<${extradefines}<g" \
3337 -e "s<@APPSDIR@<${appsdir}<g" \
3338 -e "s<@FIRMDIR@<${firmdir}<g" \
3339 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3340 -e "s<@APPS@<${apps}<g" \
3341 -e "s<@APP_TYPE@<${app_type}<g" \
3342 -e "s<@GCCVER@<${gccver}<g" \
3343 -e "s<@GCCNUM@<${gccnum}<g" \
3344 -e "s<@UNAME@<${uname}<g" \
3345 -e "s<@ENDIAN@<${defendian}<g" \
3346 -e "s<@TOOLSET@<${toolset}<g" \
3349 -e "s<@MANUALDEV@<${manualdev}<g" \
3350 -e "s<@ENCODER@<${ENC_CMD}<g" \
3351 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3352 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3353 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3354 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3355 -e "s<@LANGS@<${buildlangs}<g" \
3356 -e "s<@USE_ELF@<${USE_ELF}<g" \
3357 -e "s<@RBDIR@<${rbdir}<g" \
3358 -e "s<@sharepath@<${sharedir}<g" \
3359 -e "s<@binpath@<${bindir}<g" \
3360 -e "s<@libpath@<${libdir}<g" \
3361 -e "s<@PREFIX@<$ARG_PREFIX<g" \
3362 -e "s<@CMDLINE@<$cmdline<g" \
3363 -e "s<@SDLCONFIG@<$sdl<g" \
3365 ## Automatically generated. http://www.rockbox.org/
3367 export ROOTDIR=@ROOTDIR@
3368 export FIRMDIR=@FIRMDIR@
3369 export APPSDIR=@APPSDIR@
3370 export TOOLSDIR=@TOOLSDIR@
3371 export DOCSDIR=\$(ROOTDIR)/docs
3372 export MANUALDIR=\${ROOTDIR}/manual
3373 export DEBUG=@DEBUG@
3374 export MODELNAME=@MODELNAME@
3375 export ARCHOSROM=@ARCHOSROM@
3376 export FLASHFILE=@FLASHFILE@
3377 export TARGET_ID=@TARGET_ID@
3378 export TARGET=@TARGET@
3380 export MANUFACTURER=@MANUFACTURER@
3382 export BUILDDIR=@PWD@
3383 export LANGUAGE=@LANGUAGE@
3384 export VOICELANGUAGE=@VOICELANGUAGE@
3385 export MEMORYSIZE=@MEMORY@
3386 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3387 export MKFIRMWARE=@TOOL@
3388 export BMP2RB_MONO=@BMP2RB_MONO@
3389 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3390 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3391 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3392 export BINARY=@OUTPUT@
3393 export APPEXTRA=@APPEXTRA@
3394 export ENABLEDPLUGINS=@PLUGINS@
3395 export SOFTWARECODECS=@CODECS@
3396 export EXTRA_DEFINES=@EXTRADEF@
3397 export HOSTCC=@HOSTCC@
3398 export HOSTAR=@HOSTAR@
3404 export WINDRES=@WINDRES@
3405 export DLLTOOL=@DLLTOOL@
3406 export DLLWRAP=@DLLWRAP@
3407 export RANLIB=@RANLIB@
3408 export PREFIX=@PREFIX@
3409 export PROFILE_OPTS=@PROFILE_OPTS@
3410 export APP_TYPE=@APP_TYPE@
3411 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3412 export GCCOPTS=@GCCOPTS@
3413 export TARGET_INC=@TARGET_INC@
3414 export LOADADDRESS=@LOADADDRESS@
3415 export SHARED_FLAG=@SHARED_FLAG@
3416 export LDOPTS=@LDOPTS@
3417 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3418 export GCCVER=@GCCVER@
3419 export GCCNUM=@GCCNUM@
3420 export UNAME=@UNAME@
3421 export MANUALDEV=@MANUALDEV@
3422 export TTS_OPTS=@TTS_OPTS@
3423 export TTS_ENGINE=@TTS_ENGINE@
3424 export ENC_OPTS=@ENC_OPTS@
3425 export ENCODER=@ENCODER@
3426 export USE_ELF=@USE_ELF@
3427 export RBDIR=@RBDIR@
3428 export ROCKBOX_SHARE_PATH=@sharepath@
3429 export ROCKBOX_BINARY_PATH=@binpath@
3430 export ROCKBOX_LIBRARY_PATH=@libpath@
3431 export SDLCONFIG=@SDLCONFIG@
3433 CONFIGURE_OPTIONS=@CMDLINE@
3435 include \$(TOOLSDIR)/root.make
3439 echo "Created Makefile"