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: //'`
34 # Begin Function Definitions
44 WINDRES
=${prefix}windres
45 DLLTOOL
=${prefix}dlltool
46 DLLWRAP
=${prefix}dllwrap
47 RANLIB
=${prefix}ranlib
55 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
56 if [ -z "$ARG_PLATFORM" ]; then
59 choice
="$ARG_PLATFORM"
63 s|S
*) app_platform
="sdl" ;;
64 *|a|A
*) app_platform
="android" ;;
67 echo "Selected $app_platform platform"
68 echo "Enter the LCD width (default: 320)"
69 if [ -z "$ARG_LCDWIDTH" ]; then
72 app_lcd_width
="$ARG_LCDWIDTH"
74 if [ -z "$app_lcd_width" ]; then app_lcd_width
="320"; fi
75 echo "Enter the LCD height (default: 480)"
76 if [ -z "$ARG_LCDHEIGHT" ]; then
77 app_lcd_height
=`input`
79 app_lcd_height
="$ARG_LCDHEIGHT"
81 if [ -z "$app_lcd_height" ]; then app_lcd_height
="480"; fi
82 echo "Selected $app_lcd_width x $app_lcd_height resolution"
83 ARG_LCDWIDTH
=$app_lcd_width
84 ARG_LCDHEIGHT
=$app_lcd_height
86 app_lcd_width
="#define LCD_WIDTH $app_lcd_width"
87 app_lcd_height
="#define LCD_HEIGHT $app_lcd_height"
88 # setup files and paths depending on the platform
89 if [ "$app_platform" = "sdl" ]; then
90 if [ -z "$PREFIX" ]; then
91 rbdir
="/usr/local/share/rockbox"
92 bindir
="/usr/local/bin"
94 libdir
="/usr/local/lib"
97 rbdir
=`realpath $PREFIX/share/rockbox`
100 if [ -d bindir
]; then
101 bindir_full
=`realpath $bindir`
103 if [ -d libdir
]; then
104 libdir_full
=`realpath $libdir`
109 elif [ "$app_platform" = "android" ]; then
110 if [ -n "$PREFIX" ]; then
111 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
113 if [ -z "$ANDROID_SDK_PATH" ]; then
114 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
115 echo "environment variable point to the root directory of the Android SDK."
118 if [ -z "$ANDROID_NDK_PATH" ]; then
119 echo "ERROR: You need the Android NDK installed and have the ANDROID_NDK_PATH"
120 echo "environment variable point to the root directory of the Android NDK."
123 rbdir
="/data/data/org.rockbox/app_rockbox/rockbox"
124 bindir
="/data/data/org.rockbox/lib"
126 libdir
="/data/data/org.rockbox/app_rockbox"
128 output
="librockbox.so"
129 bootoutput
="librockbox.so"
134 if [ "$ARG_ARM_EABI" != "0" ]; then
135 prefixtools arm-elf-eabi-
143 # scan the $PATH for the given command
150 # echo "checks for $file in $path" >&2
151 if test -f "$path/$file"; then
156 # check whether caller wants literal return value if not found
157 if [ "$2" = "--lit" ]; then
162 # scan the $PATH for sdl-config - check whether for a (cross-)win32
171 #echo "checks for $file in $path" >&2
172 if test -f "$path/$file"; then
173 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
174 if [ "yes" = "${winbuild}" ]; then
179 if [ "yes" != "${winbuild}" ]; then
189 if [ "$1" = "sdl" ]; then
191 elif [ "$1" = "android" ]; then
199 # default tool setup for native building
200 prefixtools
"$CROSS_COMPILE"
201 ARG_ARM_THUMB
=0 # can't use thumb in native builds
205 GCCOPTS
='-W -Wall -g -fno-builtin'
207 LDOPTS
='-lm' # button-sdl.c uses sqrt()
209 # default output binary name, don't override app_get_platform()
210 if [ "$app_type" != "sdl-app" ]; then
214 # default share option, override below if needed
215 SHARED_FLAG
="-shared"
217 if [ "$win32crosscompile" = "yes" ]; then
218 LDOPTS
="$LDOPTS -mconsole"
224 echo "Cygwin host detected"
226 LDOPTS
="$LDOPTS -mconsole"
232 echo "MinGW host detected"
234 LDOPTS
="$LDOPTS -mconsole"
240 echo "Linux host detected"
241 LDOPTS
="$LDOPTS -ldl"
245 echo "FreeBSD host detected"
246 LDOPTS
="$LDOPTS -ldl"
250 echo "Darwin host detected"
251 LDOPTS
="$LDOPTS -ldl"
253 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
257 echo "*Solaris host detected"
259 GCCOPTS
="$GCCOPTS -fPIC"
260 LDOPTS
="$LDOPTS -ldl"
264 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
270 [ "$winbuild" != "yes" ] && GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -Wl,-z,defs"
271 sdl
=`findsdl $winbuild`
273 if [ -n `echo $app_type | grep "sdl"` ]; then
274 if [ -z "$sdl" ]; then
275 echo "configure didn't find sdl-config, which indicates that you"
276 echo "don't have SDL (properly) installed. Please correct and"
277 echo "re-run configure!"
280 # generic sdl-config checker
281 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
282 LDOPTS
="$LDOPTS `$sdl --libs`"
287 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
289 if test "X$win32crosscompile" != "Xyes"; then
292 # fPIC is needed to make shared objects link
293 # setting visibility to hidden is necessary to avoid strange crashes
294 # due to symbol clashing
295 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
296 # x86_64 supports MMX by default
300 echo "Enabling MMX support"
301 GCCOPTS
="$GCCOPTS -mmmx"
306 cat >$tmpdir/conftest-
$id.c
<<EOF
308 int main(int argc, char **argv)
311 char *varp = (char *)&var;
319 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
321 # when cross compiling, the endianess cannot be detected because the above program doesn't run
322 # on the local machine. assume little endian but print a warning
323 endian
=`$tmpdir/conftest-$id 2> /dev/null`
324 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
332 if [ "$CROSS_COMPILE" != "" ]; then
333 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
336 if [ "$app_type" = "sdl-sim" ]; then
337 echo "Simulator environment deemed $endian endian"
338 elif [ "$app_type" = "sdl-app" ]; then
339 echo "Application environment deemed $endian endian"
340 elif [ "$app_type" = "checkwps" ]; then
341 echo "CheckWPS environment deemed $endian endian"
344 # use wildcard here to make it work even if it was named *.exe like
346 rm -f $tmpdir/conftest-
$id*
348 # We are crosscompiling
349 # add cross-compiler option(s)
350 prefixtools i586-mingw32msvc-
351 LDOPTS
="$LDOPTS -mconsole"
352 output
="rockboxui.exe"
353 endian
="little" # windows is little endian
354 echo "Enabling MMX support"
355 GCCOPTS
="$GCCOPTS -mmmx"
360 # functions for setting up cross-compiler names and options
361 # also set endianess and what the exact recommended gcc version is
362 # the gcc version should most likely match what versions we build with
367 GCCOPTS
="$CCOPTS -m1"
368 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
374 prefixtools calmrisc16-unknown-elf-
375 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
376 GCCOPTIMIZE
="-fomit-frame-pointer"
381 prefixtools m68k-elf-
382 GCCOPTS
="$CCOPTS -m5206e -Wa\,-m5249 -malign-int -mstrict-align"
383 GCCOPTIMIZE
="-fomit-frame-pointer"
390 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
391 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
392 GCCOPTS
="$GCCOPTS -mlong-calls"
394 GCCOPTIMIZE
="-fomit-frame-pointer"
400 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
401 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
402 GCCOPTS
="$GCCOPTS -mlong-calls"
404 GCCOPTIMIZE
="-fomit-frame-pointer"
410 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
411 if test "$ARG_ARM_EABI" = "0"; then
412 GCCOPTS
="$GCCOPTS -mlong-calls"
414 GCCOPTIMIZE
="-fomit-frame-pointer"
420 GCCOPTS
="$CCOPTS -mcpu=arm940t"
421 if test "$ARG_ARM_EABI" = "0"; then
422 GCCOPTS
="$GCCOPTS -mlong-calls"
424 GCCOPTIMIZE
="-fomit-frame-pointer"
430 GCCOPTS
="$CCOPTS -mcpu=arm9e"
431 if test "$ARG_ARM_EABI" = "0"; then
432 GCCOPTS
="$GCCOPTS -mlong-calls"
434 GCCOPTIMIZE
="-fomit-frame-pointer"
440 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
441 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
442 GCCOPTS
="$GCCOPTS -mlong-calls"
444 GCCOPTIMIZE
="-fomit-frame-pointer"
450 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
451 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
452 GCCOPTS
="$GCCOPTS -mlong-calls"
454 GCCOPTIMIZE
="-fomit-frame-pointer"
460 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
461 if test "$ARG_ARM_EABI" = "0"; then
462 GCCOPTS
="$GCCOPTS -mlong-calls"
464 GCCOPTIMIZE
="-fomit-frame-pointer"
469 prefixtools mipsel-elf-
470 # mips is predefined, but we want it for paths. use __mips instead
471 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls -Umips"
472 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
473 GCCOPTIMIZE
="-fomit-frame-pointer"
480 prefixtools
$ANDROID_NDK_PATH/build
/prebuilt
/linux-x86
/arm-eabi-
$gccchoice/bin
/arm-eabi-
481 GCCOPTS
=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//`
482 GCCOPTS
="$GCCOPTS -ffunction-sections -fno-short-enums -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer"
483 GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -nostdlib -lc -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -L$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/lib/ -Wl,-rpath-link=$ANDROID_NKD_PATH/build/platforms/android-4/arch-arm/usr/lib"
484 LDOPTS
="$LDOPTS -shared -nostdlib -lm -ldl -llog"
485 extradefines
="$extradefines -DANDROID"
487 SHARED_FLAG
="-shared"
491 atype
=`echo "$1" | cut -c 2-`
492 ##################################################################
493 # Prompt for specific developer options
495 if [ "$atype" ]; then
500 printf "Enter your developer options (press only enter when done)\n\
501 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
502 (T)est plugins, S(m)all C lib:"
503 if [ "$memory" = "2" ]; then
506 if [ "$modelname" = "archosplayer" ]; then
507 printf ", Use (A)TA poweroff"
509 if [ "$t_model" = "ondio" ]; then
510 printf ", (B)acklight MOD"
512 if [ "$modelname" = "iaudiom5" ]; then
513 printf ", (F)M radio MOD"
515 if [ "$modelname" = "iriverh120" ]; then
522 while [ $cont = "1" ]; do
524 if [ "$interact" ]; then
527 option
=`echo "$atype" | cut -c 1`
532 if [ "yes" = "$profile" ]; then
533 echo "Debug is incompatible with profiling"
535 echo "DEBUG build enabled"
540 echo "logf() support enabled"
544 echo "Using Rockbox' small C library"
545 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
548 echo "Including test plugins"
549 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
552 echo "bootchart enabled (logf also enabled)"
557 echo "Simulator build enabled"
561 if [ "yes" = "$use_debug" ]; then
562 echo "Profiling is incompatible with debug"
564 echo "Profiling support is enabled"
569 echo "Voice build selected"
573 if [ "$memory" = "2" ]; then
575 echo "Memory size selected: 8MB"
579 if [ "$modelname" = "archosplayer" ]; then
580 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
581 echo "ATA power off enabled"
585 if [ "$t_model" = "ondio" ]; then
586 have_backlight
="#define HAVE_BACKLIGHT"
587 echo "Backlight functions enabled"
591 if [ "$modelname" = "iaudiom5" ]; then
592 have_fmradio_in
="#define HAVE_FMRADIO_IN"
593 echo "FM radio functions enabled"
597 if [ "$modelname" = "iriverh120" ]; then
598 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
599 have_rtc_alarm
="#define HAVE_RTC_ALARM"
600 echo "RTC functions enabled (DS1339/DS3231)"
604 echo "Enabling Windows 32 cross-compiling"
605 win32crosscompile
="yes"
607 "") # Match enter press when finished with advanced options
611 echo "[ERROR] Option $option unsupported"
614 if [ "$interact" ]; then
615 btype
="$btype$option"
617 atype
=`echo "$atype" | cut -c 2-`
618 [ "$atype" ] || cont
=0
623 if [ "yes" = "$voice" ]; then
624 # Ask about languages to build
626 voicelanguage
=`whichlang`
627 echo "Voice language set to $voicelanguage"
629 # Configure encoder and TTS engine for each language
630 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
631 voiceconfig
"$thislang"
634 if [ "yes" = "$use_debug" ]; then
636 GCCOPTS
="$GCCOPTS -g -DDEBUG"
638 if [ "yes" = "$logf" ]; then
639 use_logf
="#define ROCKBOX_HAS_LOGF 1"
641 if [ "yes" = "$bootchart" ]; then
642 use_bootchart
="#define DO_BOOTCHART 1"
644 if [ "yes" = "$simulator" ]; then
646 extradefines
="$extradefines -DSIMULATOR"
650 if [ "yes" = "$profile" ]; then
651 extradefines
="$extradefines -DRB_PROFILE"
652 PROFILE_OPTS
="-finstrument-functions"
656 # Configure voice settings
659 if [ ! "$ARG_TTS" ]; then
660 echo "Building $thislang voice for $modelname. Select options"
664 if [ -n "`findtool flite`" ]; then
668 DEFAULT_TTS_OPTS
=$FLITE_OPTS
669 DEFAULT_NOISEFLOOR
="500"
672 if [ -n "`findtool espeak`" ]; then
676 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
677 DEFAULT_NOISEFLOOR
="500"
680 if [ -n "`findtool festival`" ]; then
681 FESTIVAL
="(F)estival "
684 FESTIVAL_OPTS
="--language italian"
687 FESTIVAL_OPTS
="--language spanish"
690 FESTIVAL_OPTS
="--language finnish"
693 FESTIVAL_OPTS
="--language czech"
699 DEFAULT_TTS
="festival"
700 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
701 DEFAULT_NOISEFLOOR
="500"
704 if [ -n "`findtool swift`" ]; then
708 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
709 DEFAULT_NOISEFLOOR
="500"
712 # Allow SAPI if Windows is in use
713 if [ -n "`findtool winver`" ]; then
717 DEFAULT_TTS_OPTS
=$SAPI_OPTS
718 DEFAULT_NOISEFLOOR
="500"
722 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
723 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
727 if [ "$ARG_TTS" ]; then
730 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
733 advopts
="$advopts --tts=$option"
737 NOISEFLOOR
="500" # TODO: check this value
743 TTS_OPTS
=$ESPEAK_OPTS
746 TTS_ENGINE
="festival"
748 TTS_OPTS
=$FESTIVAL_OPTS
761 TTS_ENGINE
=$DEFAULT_TTS
762 TTS_OPTS
=$DEFAULT_TTS_OPTS
763 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
765 echo "Using $TTS_ENGINE for TTS"
767 # Select which voice to use for Festival
768 if [ "$TTS_ENGINE" = "festival" ]; then
769 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
770 for voice
in $voicelist; do
771 TTS_FESTIVAL_VOICE
="$voice" # Default choice
774 if [ "$ARG_VOICE" ]; then
778 for voice
in $voicelist; do
779 printf "%3d. %s\n" "$i" "$voice"
782 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
786 for voice
in $voicelist; do
787 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
788 TTS_FESTIVAL_VOICE
="$voice"
792 advopts
="$advopts --voice=$CHOICE"
793 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
794 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
797 # Read custom tts options from command line
798 if [ "$ARG_TTSOPTS" ]; then
799 TTS_OPTS
="$ARG_TTSOPTS"
800 advopts
="$advopts --ttsopts='$TTS_OPTS'"
801 echo "$TTS_ENGINE options set to $TTS_OPTS"
804 if [ "$swcodec" = "yes" ]; then
807 ENC_OPTS
="-q 4 -c 10"
809 if [ -n "`findtool lame`" ]; then
812 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
814 echo "You need LAME in the system path to build voice files for"
815 echo "HWCODEC targets."
820 echo "Using $ENCODER for encoding voice clips"
822 # Read custom encoder options from command line
823 if [ "$ARG_ENCOPTS" ]; then
824 ENC_OPTS
="$ARG_ENCOPTS"
825 advopts
="$advopts --encopts='$ENC_OPTS'"
826 echo "$ENCODER options set to $ENC_OPTS"
830 if [ -n "`findtool cygpath`" ]; then
831 TEMPDIR
=`cygpath . -a -w`
836 # figure out which languages that are around
837 for file in $rootdir/apps
/lang
/*.lang
; do
838 clean
=`basename $file .lang`
839 langs
="$langs $clean"
842 if [ "$ARG_LANG" ]; then
845 echo "Select a number for the language to use (default is english)"
846 # FIXME The multiple-language feature is currently broken
847 # echo "You may enter a comma-separated list of languages to build"
850 for one
in $langs; do
856 advopts
="$advopts --language=$pick"
861 # Allow the user to pass a comma-separated list of langauges
862 for thispick
in `echo $pick | sed 's/,/ /g'`; do
864 for one
in $langs; do
865 # Accept both the language number and name
866 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
867 if [ "$output" = "" ]; then
876 if [ -z "$output" ]; then
884 echo "Rockbox configure script."
885 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
886 echo "Do *NOT* run this within the tools directory!"
889 Usage: configure [OPTION]...
891 --target=TARGET Sets the target, TARGET can be either the target ID or
892 corresponding string. Run without this option to see all
895 --ram=RAM Sets the RAM for certain targets. Even though any number
896 is accepted, not every number is correct. The default
897 value will be applied, if you entered a wrong number
898 (which depends on the target). Watch the output. Run
899 without this option if you are not sure which the right
902 --type=TYPE Sets the build type. Shortcuts are also valid.
903 Run without this option to see all available types.
904 Multiple values are allowed and managed in the input
905 order. So --type=b stands for Bootloader build, while
906 --type=ab stands for "Backlight MOD" build.
908 --language=LANG Set the language used for voice generation (used only if
911 --tts=ENGINE Set the TTS engine used for voice generation (used only
914 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
917 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
919 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
921 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
922 This is useful for having multiple alternate builds on
923 your device that you can load with ROLO. However as the
924 bootloader looks for .rockbox you won't be able to boot
927 --ccache Enable ccache use (done by default these days)
928 --no-ccache Disable ccache use
930 --eabi Make configure prefer toolchains that are able to compile
931 for the new ARM standard abi EABI
932 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
933 --thumb Build with -mthumb (for ARM builds)
934 --no-thumb The opposite of --thumb (don't use thumb even for targets
935 where this is the default
936 --prefix Target installation directory
937 --help Shows this message (must not be used with other options)
959 --ccache) ARG_CCACHE
=1;;
960 --no-ccache) ARG_CCACHE
=0;;
961 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
962 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
963 --lcdwidth=*) ARG_LCDWIDTH
=`echo "$arg" | cut -d = -f 2`;;
964 --lcdheight=*) ARG_LCDHEIGHT
=`echo "$arg" | cut -d = -f 2`;;
965 --platform=*) ARG_PLATFORM
=`echo "$arg" | cut -d = -f 2`;;
966 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
967 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
968 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
969 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
970 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
971 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
972 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
973 --eabi) ARG_ARM_EABI
=1;;
974 --no-eabi) ARG_ARM_EABI
=0;;
975 --thumb) ARG_ARM_THUMB
=1;;
976 --no-thumb) ARG_ARM_THUMB
=0;;
977 --prefix=*) PREFIX
=`echo "$arg" | cut -d = -f 2`;;
979 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
986 if [ "$TMPDIR" != "" ]; then
991 echo Using temporary directory
$tmpdir
993 if test -r "configure"; then
994 # this is a check for a configure script in the current directory, it there
995 # is one, try to figure out if it is this one!
997 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
998 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
999 echo "It will only cause you pain and grief. Instead do this:"
1002 echo " mkdir build-dir"
1003 echo " cd build-dir"
1004 echo " ../tools/configure"
1006 echo "Much happiness will arise from this. Enjoy"
1011 # get our current directory
1014 if { echo $pwd |
grep " "; } then
1015 echo "You're running this script in a path that contains space. The build"
1016 echo "system is unfortunately not clever enough to deal with this. Please"
1017 echo "run the script from a different path, rename the path or fix the build"
1022 if [ -z "$rootdir" ]; then
1023 ##################################################################
1024 # Figure out where the source code root is!
1026 rootdir
=`dirname $0`/..
/
1028 #####################################################################
1029 # Convert the possibly relative directory name to an absolute version
1035 # cd back to the build dir
1040 appsdir
='\$(ROOTDIR)/apps'
1041 firmdir
='\$(ROOTDIR)/firmware'
1042 toolsdir
='\$(ROOTDIR)/tools'
1045 ##################################################################
1046 # Figure out target platform
1049 if [ "$ARG_TARGET" ]; then
1050 buildfor
=$ARG_TARGET
1052 echo "Enter target platform:"
1054 ==Archos== ==iriver== ==Apple iPod==
1055 0) Player/Studio 10) H120/H140 20) Color/Photo
1056 1) Recorder 11) H320/H340 21) Nano 1G
1057 2) FM Recorder 12) iHP-100/110/115 22) Video
1058 3) Recorder v2 13) iFP-790 23) 3G
1059 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1060 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1061 6) AV300 26) Mini 2G
1062 ==Toshiba== 27) 1G, 2G
1063 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1064 30) X5/X5V/X5L 41) Gigabeat S
1065 31) M5/M5L ==SanDisk==
1066 32) 7 ==Olympus= 50) Sansa e200
1067 33) D2 70) M:Robe 500 51) Sansa e200R
1068 34) M3/M3L 71) M:Robe 100 52) Sansa c200
1070 ==Creative== ==Philips== 54) Sansa c100
1071 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
1072 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
1073 92) Zen Vision HDD1830 57) Sansa m200v4
1074 102) GoGear HDD6330 58) Sansa Fuze
1075 ==Onda== 59) Sansa c200v2
1076 120) VX747 ==Meizu== 60) Sansa Clipv2
1077 121) VX767 110) M6SL 61) Sansa View
1078 122) VX747+ 111) M6SP 62) Sansa Clip+
1079 123) VX777 112) M3 63) Sansa Fuze v2
1082 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
1083 140) YH-820 150) Elio TPJ-1022
1084 141) YH-920 ==Lyre project==
1085 142) YH-925 ==Packard Bell== 130) Lyre proto 1
1086 143) YP-S3 160) Vibe 500 131) Mini2440
1088 ==MPIO== == Application ==
1089 170) HD200 200) Application
1096 # Set of tools built for all target platforms:
1097 toolset
="rdf2binary convbdf codepages"
1099 # Toolsets for some target families:
1100 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
1101 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1102 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1103 ipodbitmaptools
="$toolset scramble bmp2rb"
1104 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
1105 tccbitmaptools
="$toolset scramble bmp2rb"
1106 # generic is used by IFP, Meizu and Onda
1107 genericbitmaptools
="$toolset bmp2rb"
1108 # scramble is used by all other targets
1109 scramblebitmaptools
="$genericbitmaptools scramble"
1112 # ---- For each target ----
1115 # target_id: a unique number identifying this target, IS NOT the menu number.
1116 # Just use the currently highest number+1 when you add a new
1118 # modelname: short model name used all over to identify this target
1119 # memory: number of megabytes of RAM this target has. If the amount can
1120 # be selected by the size prompt, let memory be unset here
1121 # target: -Ddefine passed to the build commands to make the correct
1122 # config-*.h file get included etc
1123 # tool: the tool that takes a plain binary and converts that into a
1124 # working "firmware" file for your target
1125 # output: the final output file name
1126 # boottool: the tool that takes a plain binary and generates a bootloader
1127 # file for your target (or blank to use $tool)
1128 # bootoutput:the final output file name for the bootloader (or blank to use
1130 # appextra: passed to the APPEXTRA variable in the Makefiles.
1131 # TODO: add proper explanation
1132 # archosrom: used only for Archos targets that build a special flashable .ucl
1134 # flash: name of output for flashing, for targets where there's a special
1135 # file output for this.
1136 # plugins: set to 'yes' to build the plugins. Early development builds can
1137 # set this to no in the early stages to have an easier life for a
1139 # swcodec: set 'yes' on swcodec targets
1140 # toolset: lists what particular tools in the tools/ directory that this
1141 # target needs to have built prior to building Rockbox
1144 # *cc: sets up gcc and compiler options for your target builds. Note
1145 # that if you select a simulator build, the compiler selection is
1146 # overridden later in the script.
1152 modelname
="archosplayer"
1153 target
="-DARCHOS_PLAYER"
1155 tool
="$rootdir/tools/scramble"
1157 appextra
="player:gui"
1158 archosrom
="$pwd/rombox.ucl"
1159 flash
="$pwd/rockbox.ucl"
1163 # toolset is the tools within the tools directory that we build for
1164 # this particular target.
1165 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1167 # Note: the convbdf is present in the toolset just because: 1) the
1168 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1169 # build the player simulator
1172 t_manufacturer
="archos"
1178 modelname
="archosrecorder"
1179 target
="-DARCHOS_RECORDER"
1181 tool
="$rootdir/tools/scramble"
1182 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1183 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1185 appextra
="recorder:gui:radio"
1186 #archosrom="$pwd/rombox.ucl"
1187 flash
="$pwd/rockbox.ucl"
1190 # toolset is the tools within the tools directory that we build for
1191 # this particular target.
1192 toolset
=$archosbitmaptools
1194 t_manufacturer
="archos"
1200 modelname
="archosfmrecorder"
1201 target
="-DARCHOS_FMRECORDER"
1203 tool
="$rootdir/tools/scramble -fm"
1204 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1205 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1207 appextra
="recorder:gui:radio"
1208 #archosrom="$pwd/rombox.ucl"
1209 flash
="$pwd/rockbox.ucl"
1212 # toolset is the tools within the tools directory that we build for
1213 # this particular target.
1214 toolset
=$archosbitmaptools
1216 t_manufacturer
="archos"
1222 modelname
="archosrecorderv2"
1223 target
="-DARCHOS_RECORDERV2"
1225 tool
="$rootdir/tools/scramble -v2"
1226 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1227 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1229 appextra
="recorder:gui:radio"
1230 #archosrom="$pwd/rombox.ucl"
1231 flash
="$pwd/rockbox.ucl"
1234 # toolset is the tools within the tools directory that we build for
1235 # this particular target.
1236 toolset
=$archosbitmaptools
1238 t_manufacturer
="archos"
1244 modelname
="archosondiosp"
1245 target
="-DARCHOS_ONDIOSP"
1247 tool
="$rootdir/tools/scramble -osp"
1248 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1249 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1251 appextra
="recorder:gui:radio"
1252 #archosrom="$pwd/rombox.ucl"
1253 flash
="$pwd/rockbox.ucl"
1256 # toolset is the tools within the tools directory that we build for
1257 # this particular target.
1258 toolset
=$archosbitmaptools
1260 t_manufacturer
="archos"
1266 modelname
="archosondiofm"
1267 target
="-DARCHOS_ONDIOFM"
1269 tool
="$rootdir/tools/scramble -ofm"
1270 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1271 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1273 appextra
="recorder:gui:radio"
1274 #archosrom="$pwd/rombox.ucl"
1275 flash
="$pwd/rockbox.ucl"
1278 toolset
=$archosbitmaptools
1280 t_manufacturer
="archos"
1286 modelname
="archosav300"
1287 target
="-DARCHOS_AV300"
1290 tool
="$rootdir/tools/scramble -mm=C"
1291 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1292 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1294 appextra
="recorder:gui:radio"
1297 # toolset is the tools within the tools directory that we build for
1298 # this particular target.
1299 toolset
="$toolset scramble descramble bmp2rb"
1300 # architecture, manufacturer and model for the target-tree build
1302 t_manufacturer
="archos"
1308 modelname
="iriverh120"
1309 target
="-DIRIVER_H120"
1312 tool
="$rootdir/tools/scramble -add=h120"
1313 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1314 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1315 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1316 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1317 output
="rockbox.iriver"
1318 bootoutput
="bootloader.iriver"
1319 appextra
="recorder:gui:radio"
1320 flash
="$pwd/rombox.iriver"
1323 # toolset is the tools within the tools directory that we build for
1324 # this particular target.
1325 toolset
=$iriverbitmaptools
1327 t_manufacturer
="iriver"
1333 modelname
="iriverh300"
1334 target
="-DIRIVER_H300"
1337 tool
="$rootdir/tools/scramble -add=h300"
1338 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1339 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1340 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1341 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1342 output
="rockbox.iriver"
1343 appextra
="recorder:gui:radio"
1346 # toolset is the tools within the tools directory that we build for
1347 # this particular target.
1348 toolset
=$iriverbitmaptools
1350 t_manufacturer
="iriver"
1356 modelname
="iriverh100"
1357 target
="-DIRIVER_H100"
1360 tool
="$rootdir/tools/scramble -add=h100"
1361 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1362 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1363 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1364 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1365 output
="rockbox.iriver"
1366 bootoutput
="bootloader.iriver"
1367 appextra
="recorder:gui:radio"
1368 flash
="$pwd/rombox.iriver"
1371 # toolset is the tools within the tools directory that we build for
1372 # this particular target.
1373 toolset
=$iriverbitmaptools
1375 t_manufacturer
="iriver"
1381 modelname
="iriverifp7xx"
1382 target
="-DIRIVER_IFP7XX"
1386 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1387 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1388 output
="rockbox.wma"
1389 appextra
="recorder:gui:radio"
1392 # toolset is the tools within the tools directory that we build for
1393 # this particular target.
1394 toolset
=$genericbitmaptools
1396 t_manufacturer
="pnx0101"
1397 t_model
="iriver-ifp7xx"
1402 modelname
="iriverh10"
1403 target
="-DIRIVER_H10"
1406 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1407 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1408 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1409 output
="rockbox.mi4"
1410 appextra
="recorder:gui:radio"
1413 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1414 bootoutput
="H10_20GC.mi4"
1415 # toolset is the tools within the tools directory that we build for
1416 # this particular target.
1417 toolset
=$scramblebitmaptools
1418 # architecture, manufacturer and model for the target-tree build
1420 t_manufacturer
="iriver"
1426 modelname
="iriverh10_5gb"
1427 target
="-DIRIVER_H10_5GB"
1430 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1431 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1432 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1433 output
="rockbox.mi4"
1434 appextra
="recorder:gui:radio"
1437 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1438 bootoutput
="H10.mi4"
1439 # toolset is the tools within the tools directory that we build for
1440 # this particular target.
1441 toolset
=$scramblebitmaptools
1442 # architecture, manufacturer and model for the target-tree build
1444 t_manufacturer
="iriver"
1450 modelname
="ipodcolor"
1451 target
="-DIPOD_COLOR"
1454 tool
="$rootdir/tools/scramble -add=ipco"
1455 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1456 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1457 output
="rockbox.ipod"
1458 appextra
="recorder:gui:radio"
1461 bootoutput
="bootloader-$modelname.ipod"
1462 # toolset is the tools within the tools directory that we build for
1463 # this particular target.
1464 toolset
=$ipodbitmaptools
1465 # architecture, manufacturer and model for the target-tree build
1467 t_manufacturer
="ipod"
1473 modelname
="ipodnano1g"
1474 target
="-DIPOD_NANO"
1477 tool
="$rootdir/tools/scramble -add=nano"
1478 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1479 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1480 output
="rockbox.ipod"
1481 appextra
="recorder:gui:radio"
1484 bootoutput
="bootloader-$modelname.ipod"
1485 # toolset is the tools within the tools directory that we build for
1486 # this particular target.
1487 toolset
=$ipodbitmaptools
1488 # architecture, manufacturer and model for the target-tree build
1490 t_manufacturer
="ipod"
1496 modelname
="ipodvideo"
1497 target
="-DIPOD_VIDEO"
1498 memory
=64 # always. This is reduced at runtime if needed
1500 tool
="$rootdir/tools/scramble -add=ipvd"
1501 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1502 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1503 output
="rockbox.ipod"
1504 appextra
="recorder:gui:radio"
1507 bootoutput
="bootloader-$modelname.ipod"
1508 # toolset is the tools within the tools directory that we build for
1509 # this particular target.
1510 toolset
=$ipodbitmaptools
1511 # architecture, manufacturer and model for the target-tree build
1513 t_manufacturer
="ipod"
1523 tool
="$rootdir/tools/scramble -add=ip3g"
1524 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1525 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1526 output
="rockbox.ipod"
1527 appextra
="recorder:gui:radio"
1530 bootoutput
="bootloader-$modelname.ipod"
1531 # toolset is the tools within the tools directory that we build for
1532 # this particular target.
1533 toolset
=$ipodbitmaptools
1534 # architecture, manufacturer and model for the target-tree build
1536 t_manufacturer
="ipod"
1546 tool
="$rootdir/tools/scramble -add=ip4g"
1547 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1548 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1549 output
="rockbox.ipod"
1550 appextra
="recorder:gui:radio"
1553 bootoutput
="bootloader-$modelname.ipod"
1554 # toolset is the tools within the tools directory that we build for
1555 # this particular target.
1556 toolset
=$ipodbitmaptools
1557 # architecture, manufacturer and model for the target-tree build
1559 t_manufacturer
="ipod"
1565 modelname
="ipodmini1g"
1566 target
="-DIPOD_MINI"
1569 tool
="$rootdir/tools/scramble -add=mini"
1570 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1571 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1572 output
="rockbox.ipod"
1573 appextra
="recorder:gui:radio"
1576 bootoutput
="bootloader-$modelname.ipod"
1577 # toolset is the tools within the tools directory that we build for
1578 # this particular target.
1579 toolset
=$ipodbitmaptools
1580 # architecture, manufacturer and model for the target-tree build
1582 t_manufacturer
="ipod"
1588 modelname
="ipodmini2g"
1589 target
="-DIPOD_MINI2G"
1592 tool
="$rootdir/tools/scramble -add=mn2g"
1593 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1594 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1595 output
="rockbox.ipod"
1596 appextra
="recorder:gui:radio"
1599 bootoutput
="bootloader-$modelname.ipod"
1600 # toolset is the tools within the tools directory that we build for
1601 # this particular target.
1602 toolset
=$ipodbitmaptools
1603 # architecture, manufacturer and model for the target-tree build
1605 t_manufacturer
="ipod"
1611 modelname
="ipod1g2g"
1612 target
="-DIPOD_1G2G"
1615 tool
="$rootdir/tools/scramble -add=1g2g"
1616 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1617 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1618 output
="rockbox.ipod"
1619 appextra
="recorder:gui:radio"
1622 bootoutput
="bootloader-$modelname.ipod"
1623 # toolset is the tools within the tools directory that we build for
1624 # this particular target.
1625 toolset
=$ipodbitmaptools
1626 # architecture, manufacturer and model for the target-tree build
1628 t_manufacturer
="ipod"
1634 modelname
="ipodnano2g"
1635 target
="-DIPOD_NANO2G"
1638 tool
="$rootdir/tools/scramble -add=nn2g"
1639 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1640 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1641 output
="rockbox.ipod"
1642 appextra
="recorder:gui:radio"
1645 bootoutput
="bootloader-$modelname.ipod"
1646 # toolset is the tools within the tools directory that we build for
1647 # this particular target.
1648 toolset
=$ipodbitmaptools
1649 # architecture, manufacturer and model for the target-tree build
1651 t_manufacturer
="s5l8700"
1652 t_model
="ipodnano2g"
1657 modelname
="iaudiox5"
1658 target
="-DIAUDIO_X5"
1661 tool
="$rootdir/tools/scramble -add=iax5"
1662 boottool
="$rootdir/tools/scramble -iaudiox5"
1663 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1664 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1665 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1666 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1667 output
="rockbox.iaudio"
1668 bootoutput
="x5_fw.bin"
1669 appextra
="recorder:gui:radio"
1672 # toolset is the tools within the tools directory that we build for
1673 # this particular target.
1674 toolset
="$iaudiobitmaptools"
1675 # architecture, manufacturer and model for the target-tree build
1677 t_manufacturer
="iaudio"
1683 modelname
="iaudiom5"
1684 target
="-DIAUDIO_M5"
1687 tool
="$rootdir/tools/scramble -add=iam5"
1688 boottool
="$rootdir/tools/scramble -iaudiom5"
1689 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1690 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1691 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1692 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1693 output
="rockbox.iaudio"
1694 bootoutput
="m5_fw.bin"
1695 appextra
="recorder:gui:radio"
1698 # toolset is the tools within the tools directory that we build for
1699 # this particular target.
1700 toolset
="$iaudiobitmaptools"
1701 # architecture, manufacturer and model for the target-tree build
1703 t_manufacturer
="iaudio"
1713 tool
="$rootdir/tools/scramble -add=i7"
1714 boottool
="$rootdir/tools/scramble -tcc=crc"
1715 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1716 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1717 output
="rockbox.iaudio"
1718 appextra
="recorder:gui:radio"
1721 bootoutput
="I7_FW.BIN"
1722 # toolset is the tools within the tools directory that we build for
1723 # this particular target.
1724 toolset
="$tccbitmaptools"
1725 # architecture, manufacturer and model for the target-tree build
1727 t_manufacturer
="tcc77x"
1737 tool
="$rootdir/tools/scramble -add=d2"
1739 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1740 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1742 bootoutput
="bootloader-cowond2.bin"
1743 appextra
="recorder:gui:radio"
1746 toolset
="$tccbitmaptools"
1747 # architecture, manufacturer and model for the target-tree build
1749 t_manufacturer
="tcc780x"
1755 modelname
="iaudiom3"
1756 target
="-DIAUDIO_M3"
1759 tool
="$rootdir/tools/scramble -add=iam3"
1760 boottool
="$rootdir/tools/scramble -iaudiom3"
1761 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1762 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1763 output
="rockbox.iaudio"
1764 bootoutput
="cowon_m3.bin"
1765 appextra
="recorder:gui:radio"
1768 # toolset is the tools within the tools directory that we build for
1769 # this particular target.
1770 toolset
="$iaudiobitmaptools"
1771 # architecture, manufacturer and model for the target-tree build
1773 t_manufacturer
="iaudio"
1779 modelname
="gigabeatfx"
1780 target
="-DGIGABEAT_F"
1783 tool
="$rootdir/tools/scramble -add=giga"
1784 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1785 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1786 output
="rockbox.gigabeat"
1787 appextra
="recorder:gui:radio"
1790 toolset
=$gigabeatbitmaptools
1791 boottool
="$rootdir/tools/scramble -gigabeat"
1792 bootoutput
="FWIMG01.DAT"
1793 # architecture, manufacturer and model for the target-tree build
1795 t_manufacturer
="s3c2440"
1796 t_model
="gigabeat-fx"
1801 modelname
="gigabeats"
1802 target
="-DGIGABEAT_S"
1805 tool
="$rootdir/tools/scramble -add=gigs"
1806 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1807 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1808 output
="rockbox.gigabeat"
1809 appextra
="recorder:gui:radio"
1812 toolset
="$gigabeatbitmaptools"
1813 boottool
="$rootdir/tools/scramble -gigabeats"
1815 # architecture, manufacturer and model for the target-tree build
1817 t_manufacturer
="imx31"
1818 t_model
="gigabeat-s"
1823 modelname
="mrobe500"
1824 target
="-DMROBE_500"
1827 tool
="$rootdir/tools/scramble -add=m500"
1828 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1829 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1830 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1831 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1832 output
="rockbox.mrobe500"
1833 appextra
="recorder:gui:radio"
1836 toolset
=$gigabeatbitmaptools
1838 bootoutput
="rockbox.mrboot"
1839 # architecture, manufacturer and model for the target-tree build
1841 t_manufacturer
="tms320dm320"
1847 modelname
="mrobe100"
1848 target
="-DMROBE_100"
1851 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1852 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1853 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1854 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1855 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1856 output
="rockbox.mi4"
1857 appextra
="recorder:gui:radio"
1860 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1861 bootoutput
="pp5020.mi4"
1862 # toolset is the tools within the tools directory that we build for
1863 # this particular target.
1864 toolset
=$scramblebitmaptools
1865 # architecture, manufacturer and model for the target-tree build
1867 t_manufacturer
="olympus"
1873 modelname
="logikdax"
1874 target
="-DLOGIK_DAX"
1877 tool
="$rootdir/tools/scramble -add=ldax"
1878 boottool
="$rootdir/tools/scramble -tcc=crc"
1879 bootoutput
="player.rom"
1880 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1881 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1882 output
="rockbox.logik"
1883 appextra
="recorder:gui:radio"
1886 # toolset is the tools within the tools directory that we build for
1887 # this particular target.
1888 toolset
=$tccbitmaptools
1889 # architecture, manufacturer and model for the target-tree build
1891 t_manufacturer
="tcc77x"
1897 modelname
="zenvisionm30gb"
1898 target
="-DCREATIVE_ZVM"
1901 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1902 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1903 tool
="$rootdir/tools/scramble -creative=zvm"
1905 output
="rockbox.zvm"
1906 appextra
="recorder:gui:radio"
1909 toolset
=$ipodbitmaptools
1910 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1911 bootoutput
="rockbox.zvmboot"
1912 # architecture, manufacturer and model for the target-tree build
1914 t_manufacturer
="tms320dm320"
1915 t_model
="creative-zvm"
1920 modelname
="zenvisionm60gb"
1921 target
="-DCREATIVE_ZVM60GB"
1924 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1925 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1926 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1928 output
="rockbox.zvm60"
1929 appextra
="recorder:gui:radio"
1932 toolset
=$ipodbitmaptools
1933 boottool
="$rootdir/tools/scramble -creative=zvm60"
1934 bootoutput
="rockbox.zvm60boot"
1935 # architecture, manufacturer and model for the target-tree build
1937 t_manufacturer
="tms320dm320"
1938 t_model
="creative-zvm"
1943 modelname
="zenvision"
1944 target
="-DCREATIVE_ZV"
1947 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1948 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1949 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1952 appextra
="recorder:gui:radio"
1955 toolset
=$ipodbitmaptools
1956 boottool
="$rootdir/tools/scramble -creative=zenvision"
1957 bootoutput
="rockbox.zvboot"
1958 # architecture, manufacturer and model for the target-tree build
1960 t_manufacturer
="tms320dm320"
1961 t_model
="creative-zvm"
1966 modelname
="sansae200"
1967 target
="-DSANSA_E200"
1968 memory
=32 # supposedly
1970 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1971 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1972 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1973 output
="rockbox.mi4"
1974 appextra
="recorder:gui:radio"
1977 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1978 bootoutput
="PP5022.mi4"
1979 # toolset is the tools within the tools directory that we build for
1980 # this particular target.
1981 toolset
=$scramblebitmaptools
1982 # architecture, manufacturer and model for the target-tree build
1984 t_manufacturer
="sandisk"
1985 t_model
="sansa-e200"
1989 # the e200R model is pretty much identical to the e200, it only has a
1990 # different option to the scramble tool when building a bootloader and
1991 # makes the bootloader output file name in all lower case.
1993 modelname
="sansae200r"
1994 target
="-DSANSA_E200"
1995 memory
=32 # supposedly
1997 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1998 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1999 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2000 output
="rockbox.mi4"
2001 appextra
="recorder:gui:radio"
2004 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
2005 bootoutput
="pp5022.mi4"
2006 # toolset is the tools within the tools directory that we build for
2007 # this particular target.
2008 toolset
=$scramblebitmaptools
2009 # architecture, manufacturer and model for the target-tree build
2011 t_manufacturer
="sandisk"
2012 t_model
="sansa-e200"
2017 modelname
="sansac200"
2018 target
="-DSANSA_C200"
2019 memory
=32 # supposedly
2021 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2022 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2023 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2024 output
="rockbox.mi4"
2025 appextra
="recorder:gui:radio"
2028 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2029 bootoutput
="firmware.mi4"
2030 # toolset is the tools within the tools directory that we build for
2031 # this particular target.
2032 toolset
=$scramblebitmaptools
2033 # architecture, manufacturer and model for the target-tree build
2035 t_manufacturer
="sandisk"
2036 t_model
="sansa-c200"
2041 modelname
="sansam200"
2042 target
="-DSANSA_M200"
2045 tool
="$rootdir/tools/scramble -add=m200"
2046 boottool
="$rootdir/tools/scramble -tcc=crc"
2047 bootoutput
="player.rom"
2048 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2049 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
2050 output
="rockbox.m200"
2051 appextra
="recorder:gui:radio"
2054 # toolset is the tools within the tools directory that we build for
2055 # this particular target.
2056 toolset
=$tccbitmaptools
2057 # architecture, manufacturer and model for the target-tree build
2059 t_manufacturer
="tcc77x"
2065 modelname
="sansac100"
2066 target
="-DSANSA_C100"
2069 tool
="$rootdir/tools/scramble -add=c100"
2070 boottool
="$rootdir/tools/scramble -tcc=crc"
2071 bootoutput
="player.rom"
2072 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2073 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2074 output
="rockbox.c100"
2075 appextra
="recorder:gui:radio"
2078 # toolset is the tools within the tools directory that we build for
2079 # this particular target.
2080 toolset
=$tccbitmaptools
2081 # architecture, manufacturer and model for the target-tree build
2083 t_manufacturer
="tcc77x"
2089 modelname
="sansaclip"
2090 target
="-DSANSA_CLIP"
2092 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2093 bmp2rb_native
="$bmp2rb_mono"
2094 tool
="$rootdir/tools/scramble -add=clip"
2095 output
="rockbox.sansa"
2096 bootoutput
="bootloader-clip.sansa"
2097 appextra
="recorder:gui:radio"
2100 toolset
=$scramblebitmaptools
2102 t_manufacturer
="as3525"
2103 t_model
="sansa-clip"
2104 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2106 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2112 modelname
="sansae200v2"
2113 target
="-DSANSA_E200V2"
2115 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2116 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2117 tool
="$rootdir/tools/scramble -add=e2v2"
2118 output
="rockbox.sansa"
2119 bootoutput
="bootloader-e200v2.sansa"
2120 appextra
="recorder:gui:radio"
2123 toolset
=$scramblebitmaptools
2125 t_manufacturer
="as3525"
2126 t_model
="sansa-e200v2"
2133 modelname
="sansam200v4"
2134 target
="-DSANSA_M200V4"
2136 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2137 bmp2rb_native
="$bmp2rb_mono"
2138 tool
="$rootdir/tools/scramble -add=m2v4"
2139 output
="rockbox.sansa"
2140 bootoutput
="bootloader-m200v4.sansa"
2141 appextra
="recorder:gui:radio"
2144 toolset
=$scramblebitmaptools
2146 t_manufacturer
="as3525"
2147 t_model
="sansa-m200v4"
2148 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2150 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2156 modelname
="sansafuze"
2157 target
="-DSANSA_FUZE"
2159 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2160 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2161 tool
="$rootdir/tools/scramble -add=fuze"
2162 output
="rockbox.sansa"
2163 bootoutput
="bootloader-fuze.sansa"
2164 appextra
="recorder:gui:radio"
2167 toolset
=$scramblebitmaptools
2169 t_manufacturer
="as3525"
2170 t_model
="sansa-fuze"
2177 modelname
="sansac200v2"
2178 target
="-DSANSA_C200V2"
2179 memory
=2 # as per OF diagnosis mode
2180 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2181 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2182 tool
="$rootdir/tools/scramble -add=c2v2"
2183 output
="rockbox.sansa"
2184 bootoutput
="bootloader-c200v2.sansa"
2185 appextra
="recorder:gui:radio"
2188 # toolset is the tools within the tools directory that we build for
2189 # this particular target.
2190 toolset
=$scramblebitmaptools
2191 # architecture, manufacturer and model for the target-tree build
2193 t_manufacturer
="as3525"
2194 t_model
="sansa-c200v2"
2195 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2197 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2202 modelname
="sansaclipv2"
2203 target
="-DSANSA_CLIPV2"
2205 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2206 bmp2rb_native
="$bmp2rb_mono"
2207 tool
="$rootdir/tools/scramble -add=clv2"
2208 output
="rockbox.sansa"
2209 bootoutput
="bootloader-clipv2.sansa"
2210 appextra
="recorder:gui:radio"
2213 toolset
=$scramblebitmaptools
2215 t_manufacturer
="as3525"
2216 t_model
="sansa-clipv2"
2221 echo "Sansa View is not yet supported!"
2224 modelname
="sansaview"
2225 target
="-DSANSA_VIEW"
2228 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2229 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2230 output
="rockbox.mi4"
2234 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2235 bootoutput
="firmware.mi4"
2236 # toolset is the tools within the tools directory that we build for
2237 # this particular target.
2238 toolset
=$scramblebitmaptools
2240 t_manufacturer
="sandisk"
2241 t_model
="sansa-view"
2246 modelname
="sansaclipplus"
2247 target
="-DSANSA_CLIPPLUS"
2249 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2250 bmp2rb_native
="$bmp2rb_mono"
2251 tool
="$rootdir/tools/scramble -add=cli+"
2252 output
="rockbox.sansa"
2253 bootoutput
="bootloader-clipplus.sansa"
2254 appextra
="recorder:gui:radio"
2257 toolset
=$scramblebitmaptools
2259 t_manufacturer
="as3525"
2260 t_model
="sansa-clipplus"
2266 modelname
="sansafuzev2"
2267 target
="-DSANSA_FUZEV2"
2269 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2270 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2271 tool
="$rootdir/tools/scramble -add=fuz2"
2272 output
="rockbox.sansa"
2273 bootoutput
="bootloader-fuzev2.sansa"
2274 appextra
="recorder:gui:radio"
2277 toolset
=$scramblebitmaptools
2279 t_manufacturer
="as3525"
2280 t_model
="sansa-fuzev2"
2286 modelname
="tatungtpj1022"
2287 target
="-DTATUNG_TPJ1022"
2290 tool
="$rootdir/tools/scramble -add tpj2"
2291 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2292 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2293 output
="rockbox.elio"
2294 appextra
="recorder:gui:radio"
2297 boottool
="$rootdir/tools/scramble -mi4v2"
2298 bootoutput
="pp5020.mi4"
2299 # toolset is the tools within the tools directory that we build for
2300 # this particular target.
2301 toolset
=$scramblebitmaptools
2302 # architecture, manufacturer and model for the target-tree build
2304 t_manufacturer
="tatung"
2310 modelname
="gogearsa9200"
2311 target
="-DPHILIPS_SA9200"
2312 memory
=32 # supposedly
2314 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2315 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2316 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2317 output
="rockbox.mi4"
2318 appextra
="recorder:gui:radio"
2321 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2322 bootoutput
="FWImage.ebn"
2323 # toolset is the tools within the tools directory that we build for
2324 # this particular target.
2325 toolset
=$scramblebitmaptools
2326 # architecture, manufacturer and model for the target-tree build
2328 t_manufacturer
="philips"
2334 modelname
="gogearhdd1630"
2335 target
="-DPHILIPS_HDD1630"
2336 memory
=32 # supposedly
2338 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2339 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2340 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2341 output
="rockbox.mi4"
2342 appextra
="recorder:gui:radio"
2345 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2346 bootoutput
="FWImage.ebn"
2347 # toolset is the tools within the tools directory that we build for
2348 # this particular target.
2349 toolset
=$scramblebitmaptools
2350 # architecture, manufacturer and model for the target-tree build
2352 t_manufacturer
="philips"
2358 modelname
="gogearhdd6330"
2359 target
="-DPHILIPS_HDD6330"
2362 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2363 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2364 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2365 output
="rockbox.mi4"
2366 appextra
="recorder:gui:radio"
2369 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2370 bootoutput
="FWImage.ebn"
2371 # toolset is the tools within the tools directory that we build for
2372 # this particular target.
2373 toolset
=$scramblebitmaptools
2374 # architecture, manufacturer and model for the target-tree build
2376 t_manufacturer
="philips"
2382 modelname
="meizum6sl"
2383 target
="-DMEIZU_M6SL"
2387 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2388 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2389 output
="rockbox.meizu"
2390 appextra
="recorder:gui:radio"
2393 toolset
=$genericbitmaptools
2395 bootoutput
="rockboot.ebn"
2396 # architecture, manufacturer and model for the target-tree build
2398 t_manufacturer
="s5l8700"
2399 t_model
="meizu-m6sl"
2404 modelname
="meizum6sp"
2405 target
="-DMEIZU_M6SP"
2409 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2410 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2411 output
="rockbox.meizu"
2412 appextra
="recorder:gui:radio"
2415 toolset
=$genericbitmaptools
2417 bootoutput
="rockboot.ebn"
2418 # architecture, manufacturer and model for the target-tree build
2420 t_manufacturer
="s5l8700"
2421 t_model
="meizu-m6sp"
2431 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2432 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2433 output
="rockbox.meizu"
2434 appextra
="recorder:gui:radio"
2437 toolset
=$genericbitmaptools
2439 bootoutput
="rockboot.ebn"
2440 # architecture, manufacturer and model for the target-tree build
2442 t_manufacturer
="s5l8700"
2448 modelname
="ondavx747"
2449 target
="-DONDA_VX747"
2452 tool
="$rootdir/tools/scramble -add=x747"
2453 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2454 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2455 output
="rockbox.vx747"
2456 appextra
="recorder:gui:radio"
2459 toolset
=$genericbitmaptools
2460 boottool
="$rootdir/tools/scramble -ccpmp"
2461 bootoutput
="ccpmp.bin"
2462 # architecture, manufacturer and model for the target-tree build
2464 t_manufacturer
="ingenic_jz47xx"
2465 t_model
="onda_vx747"
2470 modelname
="ondavx767"
2471 target
="-DONDA_VX767"
2475 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2476 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2477 output
="rockbox.vx767"
2478 appextra
="recorder:gui:radio"
2481 toolset
=$genericbitmaptools
2482 boottool
="$rootdir/tools/scramble -ccpmp"
2483 bootoutput
="ccpmp.bin"
2484 # architecture, manufacturer and model for the target-tree build
2486 t_manufacturer
="ingenic_jz47xx"
2487 t_model
="onda_vx767"
2492 modelname
="ondavx747p"
2493 target
="-DONDA_VX747P"
2496 tool
="$rootdir/tools/scramble -add=747p"
2497 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2498 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2499 output
="rockbox.vx747p"
2500 appextra
="recorder:gui:radio"
2503 toolset
=$genericbitmaptools
2504 boottool
="$rootdir/tools/scramble -ccpmp"
2505 bootoutput
="ccpmp.bin"
2506 # architecture, manufacturer and model for the target-tree build
2508 t_manufacturer
="ingenic_jz47xx"
2509 t_model
="onda_vx747"
2514 modelname
="ondavx777"
2515 target
="-DONDA_VX777"
2518 tool
="$rootdir/tools/scramble -add=x777"
2519 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2520 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2521 output
="rockbox.vx777"
2522 appextra
="recorder:gui:radio"
2525 toolset
=$genericbitmaptools
2526 boottool
="$rootdir/tools/scramble -ccpmp"
2527 bootoutput
="ccpmp.bin"
2528 # architecture, manufacturer and model for the target-tree build
2530 t_manufacturer
="ingenic_jz47xx"
2531 t_model
="onda_vx747"
2536 modelname
="lyreproto1"
2537 target
="-DLYRE_PROTO1"
2541 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2542 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2543 output
="rockbox.lyre"
2544 appextra
="recorder:gui:radio"
2547 toolset
=$scramblebitmaptools
2549 bootoutput
="bootloader-proto1.lyre"
2550 # architecture, manufacturer and model for the target-tree build
2552 t_manufacturer
="at91sam"
2553 t_model
="lyre_proto1"
2558 modelname
="mini2440"
2562 tool
="$rootdir/tools/scramble -add=m244"
2563 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2564 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2565 output
="rockbox.mini2440"
2566 appextra
="recorder:gui:radio"
2569 toolset
=$scramblebitmaptools
2571 bootoutput
="bootloader-mini2440.lyre"
2572 # architecture, manufacturer and model for the target-tree build
2574 t_manufacturer
="s3c2440"
2580 modelname
="samsungyh820"
2581 target
="-DSAMSUNG_YH820"
2584 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2585 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2586 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2587 output
="rockbox.mi4"
2588 appextra
="recorder:gui:radio"
2591 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2592 bootoutput
="FW_YH820.mi4"
2593 # toolset is the tools within the tools directory that we build for
2594 # this particular target.
2595 toolset
=$scramblebitmaptools
2596 # architecture, manufacturer and model for the target-tree build
2598 t_manufacturer
="samsung"
2604 modelname
="samsungyh920"
2605 target
="-DSAMSUNG_YH920"
2608 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2609 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2610 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2611 output
="rockbox.mi4"
2612 appextra
="recorder:gui:radio"
2615 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2616 bootoutput
="PP5020.mi4"
2617 # toolset is the tools within the tools directory that we build for
2618 # this particular target.
2619 toolset
=$scramblebitmaptools
2620 # architecture, manufacturer and model for the target-tree build
2622 t_manufacturer
="samsung"
2628 modelname
="samsungyh925"
2629 target
="-DSAMSUNG_YH925"
2632 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2633 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2634 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2635 output
="rockbox.mi4"
2636 appextra
="recorder:gui:radio"
2639 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2640 bootoutput
="FW_YH925.mi4"
2641 # toolset is the tools within the tools directory that we build for
2642 # this particular target.
2643 toolset
=$scramblebitmaptools
2644 # architecture, manufacturer and model for the target-tree build
2646 t_manufacturer
="samsung"
2652 modelname
="samsungyps3"
2653 target
="-DSAMSUNG_YPS3"
2657 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2658 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2659 output
="rockbox.yps3"
2660 appextra
="recorder:gui:radio"
2663 toolset
=$genericbitmaptools
2665 bootoutput
="rockboot.ebn"
2666 # architecture, manufacturer and model for the target-tree build
2668 t_manufacturer
="s5l8700"
2675 target
="-DPBELL_VIBE500"
2678 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2679 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2680 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2681 output
="rockbox.mi4"
2682 appextra
="recorder:gui:radio"
2685 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2686 bootoutput
="jukebox.mi4"
2687 # toolset is the tools within the tools directory that we build for
2688 # this particular target.
2689 toolset
=$scramblebitmaptools
2690 # architecture, manufacturer and model for the target-tree build
2692 t_manufacturer
="pbell"
2698 modelname
="mpiohd200"
2699 target
="-DMPIO_HD200"
2702 tool
="$rootdir/tools/scramble -add=hd20"
2703 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2704 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2705 output
="rockbox.mpio"
2706 bootoutput
="bootloader.mpio"
2707 appextra
="recorder:gui:radio"
2710 # toolset is the tools within the tools directory that we build for
2711 # this particular target.
2712 toolset
="$genericbitmaptools"
2713 # architecture, manufacturer and model for the target-tree build
2715 t_manufacturer
="mpio"
2721 modelname
="application"
2722 target
="-DAPPLICATION"
2724 need_full_path
="yes"
2730 appcc
"$app_platform"
2733 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2734 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2735 appextra
="recorder:gui:radio"
2738 # architecture, manufacturer and model for the target-tree build
2740 t_manufacturer
="$app_platform"
2745 echo "Please select a supported target platform!"
2751 echo "Platform set to $modelname"
2755 ############################################################################
2756 # Amount of memory, for those that can differ. They have $memory unset at
2760 if [ -z "$memory" ]; then
2763 if [ "$ARG_RAM" ]; then
2766 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2779 if [ "$ARG_RAM" ]; then
2782 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2795 echo "Memory size selected: $memory MB"
2796 [ "$ARG_TYPE" ] ||
echo ""
2800 ##################################################################
2801 # Figure out build "type"
2804 # the ifp7x0 is the only platform that supports building a gdb stub like
2808 gdbstub
="(G)DB stub, "
2810 sansae200r|sansae200
)
2811 gdbstub
="(I)nstaller, "
2814 gdbstub
="(E)raser, "
2819 if [ "$ARG_TYPE" ]; then
2822 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2828 appsdir
='\$(ROOTDIR)/bootloader'
2830 extradefines
="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2832 echo "e200R-installer build selected"
2835 appsdir
='\$(ROOTDIR)/bootloader'
2837 echo "C2(4)0 or C2(5)0"
2841 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2842 echo "c240 eraser build selected"
2845 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2846 echo "c240 eraser build selected"
2850 echo "c200 eraser build selected"
2853 if test $t_manufacturer = "archos"; then
2854 # Archos SH-based players do this somewhat differently for
2856 appsdir
='\$(ROOTDIR)/flash/bootbox'
2859 appsdir
='\$(ROOTDIR)/bootloader'
2862 if test -n "$boottool"; then
2865 if test -n "$bootoutput"; then
2869 extradefines
="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2871 echo "Bootloader build selected"
2874 if [ "$modelname" = "sansae200r" ]; then
2875 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2880 extradefines
="$extradefines -DSIMULATOR"
2883 echo "Simulator build selected"
2886 echo "Advanced build selected"
2887 whichadvanced
$btype
2890 extradefines
="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2891 appsdir
='\$(ROOTDIR)/gdb'
2900 echo "GDB stub build selected"
2905 echo "Manual build selected"
2913 extradefines
="$extradefines -DDEBUG"
2914 appsdir
='\$(ROOTDIR)/tools/checkwps';
2915 output
='checkwps.'${modelname};
2917 echo "CheckWPS build selected"
2925 appsdir
='\$(ROOTDIR)/tools/database';
2930 output
="database_${modelname}.exe"
2933 output
='database.'${modelname};
2937 echo "Database tool build selected"
2940 if [ "$modelname" = "sansae200r" ]; then
2941 echo "Do not use the e200R target for regular builds. Use e200 instead."
2945 btype
="N" # set it explicitly since RET only gets here as well
2946 echo "Normal build selected"
2950 # to be able running "make manual" from non-manual configuration
2953 manualdev
="archosfmrecorder"
2956 manualdev
="iriverh100"
2959 manualdev
="ipodmini1g"
2962 manualdev
=$modelname
2966 if [ -z "$debug" ]; then
2967 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2970 echo "Using source code root directory: $rootdir"
2972 # this was once possible to change at build-time, but no more:
2977 if [ "yes" = "$simulator" ]; then
2978 # setup compiler and things for simulator
2981 if [ -d "simdisk" ]; then
2982 echo "Subdirectory 'simdisk' already present"
2985 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2989 # Now, figure out version number of the (gcc) compiler we are about to use
2990 gccver
=`$CC -dumpversion`;
2992 # figure out the binutil version too and display it, mostly for the build
2993 # system etc to be able to see it easier
2994 if [ $uname = "Darwin" ]; then
2995 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2997 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
3000 if [ -z "$gccver" ]; then
3001 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
3002 echo "[WARNING] this may cause your build to fail since we cannot do the"
3003 echo "[WARNING] checks we want now."
3006 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
3009 num1
=`echo $gccver | cut -d . -f1`
3010 num2
=`echo $gccver | cut -d . -f2`
3011 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
3018 echo "Using $CC $gccver ($gccnum)"
3020 if test "$gccnum" -ge "400"; then
3021 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3022 # so we ignore that warnings for now
3024 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
3027 if test "$gccnum" -ge "402"; then
3028 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3029 # and later would throw it for several valid cases
3030 GCCOPTS
="$GCCOPTS -Wno-override-init"
3034 ""|
"$CROSS_COMPILE")
3038 # cross-compile for win32
3041 # Verify that the cross-compiler is of a recommended version!
3042 if test "$gccver" != "$gccchoice"; then
3043 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3044 echo "WARNING: version $gccchoice!"
3045 echo "WARNING: This may cause your build to fail since it may be a version"
3046 echo "WARNING: that isn't functional or known to not be the best choice."
3047 echo "WARNING: If you suffer from build problems, you know that this is"
3048 echo "WARNING: a likely source for them..."
3056 echo "Using $LD $ldver"
3058 # check the compiler for SH platforms
3059 if test "$CC" = "sh-elf-gcc"; then
3060 if test "$gccnum" -lt "400"; then
3061 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3062 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3064 # figure out patch status
3065 gccpatch
=`$CC --version`;
3067 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
3068 echo "gcc $gccver is rockbox patched"
3069 # then convert -O to -Os to get smaller binaries!
3070 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3072 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3073 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3078 if test "$CC" = "m68k-elf-gcc"; then
3079 # convert -O to -Os to get smaller binaries!
3080 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3083 if [ "$ARG_CCACHE" = "1" ]; then
3084 echo "Enable ccache for building"
3086 elif [ "$ARG_CCACHE" != "0" ]; then
3087 ccache
=`findtool ccache`
3088 if test -n "$ccache"; then
3089 echo "Found and uses ccache ($ccache)"
3093 # figure out the full path to the various commands if possible
3094 HOSTCC
=`findtool gcc --lit`
3095 HOSTAR
=`findtool ar --lit`
3096 CC
=`findtool ${CC} --lit`
3097 LD
=`findtool ${AR} --lit`
3098 AR
=`findtool ${AR} --lit`
3099 AS
=`findtool ${AS} --lit`
3100 OC
=`findtool ${OC} --lit`
3101 WINDRES
=`findtool ${WINDRES} --lit`
3102 DLLTOOL
=`findtool ${DLLTOOL} --lit`
3103 DLLWRAP
=`findtool ${DLLWRAP} --lit`
3104 RANLIB
=`findtool ${RANLIB} --lit`
3106 if test -n "$ccache"; then
3110 if test "$ARG_ARM_THUMB" = "1"; then
3111 extradefines
="$extradefines -DUSE_THUMB"
3112 CC
="$toolsdir/thumb-cc.py $CC"
3115 if test "X$endian" = "Xbig"; then
3116 defendian
="ROCKBOX_BIG_ENDIAN"
3118 defendian
="ROCKBOX_LITTLE_ENDIAN"
3121 if [ "$ARG_RBDIR" ]; then
3122 if [ "$need_full_path" = "yes" ]; then
3123 rbdir
=`realpath $ARG_RBDIR`
3124 else # prepend '/' if needed
3125 if [ -z `echo $ARG_RBDIR | grep '^/'` ]; then
3131 echo "Using alternate rockbox dir: ${rbdir}"
3135 -e "s<@ENDIAN@<${defendian}<g" \
3136 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3137 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3138 -e "s<@config_rtc@<$config_rtc<g" \
3139 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3140 -e "s<@RBDIR@<${rbdir}<g" \
3141 -e "s<@binpath@<${bindir_full}<g" \
3142 -e "s<@libpath@<${libdir_full}<g" \
3143 -e "s<@have_backlight@<$have_backlight<g" \
3144 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3145 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3146 -e "s<@lcd_width@<$app_lcd_width<g" \
3147 -e "s<@lcd_height@<$app_lcd_height<g" \
3149 /* This header was made by configure */
3150 #ifndef __BUILD_AUTOCONF_H
3151 #define __BUILD_AUTOCONF_H
3153 /* Define endianess for the target or simulator platform */
3156 /* Define this if you build rockbox to support the logf logging and display */
3157 #undef ROCKBOX_HAS_LOGF
3159 /* Define this to record a chart with timings for the stages of boot */
3162 /* optional define for a backlight modded Ondio */
3165 /* optional define for FM radio mod for iAudio M5 */
3168 /* optional define for ATA poweroff on Player */
3171 /* optional defines for RTC mod for h1x0 */
3175 /* lcd dimensions for application builds from configure */
3179 /* root of Rockbox */
3180 #define ROCKBOX_DIR "@RBDIR@"
3181 #define ROCKBOX_BINARY_PATH "@binpath@"
3182 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3184 #endif /* __BUILD_AUTOCONF_H */
3187 if test -n "$t_cpu"; then
3188 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3189 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3190 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3191 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3193 if [ -n "$app_platform" -a "$app_platform" = "android" ]; then
3194 # android's gcc doesn't add this :/
3195 TARGET_INC
="$TARGET_INC -I$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/include"
3197 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3198 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3202 if test "$simulator" = "yes"; then
3203 # add simul make stuff on the #SIMUL# line
3204 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3205 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3207 # delete the lines that match
3208 simmagic1
='/@SIMUL1@/D'
3209 simmagic2
='/@SIMUL2@/D'
3212 if test "$swcodec" = "yes"; then
3213 voicetoolset
="rbspeexenc voicefont wavtrim"
3215 voicetoolset
="voicefont wavtrim"
3218 if test "$apps" = "apps"; then
3219 # only when we build "real" apps we build the .lng files
3223 #### Fix the cmdline ###
3224 if [ "$ARG_CCACHE" = "1" ]; then
3226 elif [ "$ARG_CCACHE" = "0" ]; then
3227 cmdline
="--no-ccache "
3229 if [ "$ARG_ARM_EABI" = "1" ]; then
3230 cmdline
="$cmdline--eabi "
3232 if [ "$app_platform" = "sdl" ]; then
3233 cmdline
="$cmdline--platform=S "
3234 elif [ "$app_platform" = "android" ]; then
3235 cmdline
="$cmdline--platform=A "
3237 if [ "$modelname" = "application" ]; then
3238 cmdline
="$cmdline--lcdwidth=$ARG_LCDWIDTH --lcdheight=$ARG_LCDHEIGHT "
3241 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts --prefix=\$(PREFIX)"
3245 -e "s<@ROOTDIR@<${rootdir}<g" \
3246 -e "s<@DEBUG@<${debug}<g" \
3247 -e "s<@MEMORY@<${memory}<g" \
3248 -e "s<@TARGET_ID@<${target_id}<g" \
3249 -e "s<@TARGET@<${target}<g" \
3250 -e "s<@CPU@<${t_cpu}<g" \
3251 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3252 -e "s<@MODELNAME@<${modelname}<g" \
3253 -e "s<@LANGUAGE@<${language}<g" \
3254 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3255 -e "s<@PWD@<${pwd}<g" \
3256 -e "s<@HOSTCC@<${HOSTCC}<g" \
3257 -e "s<@HOSTAR@<${HOSTAR}<g" \
3258 -e "s<@CC@<${CC}<g" \
3259 -e "s<@LD@<${LD}<g" \
3260 -e "s<@AR@<${AR}<g" \
3261 -e "s<@AS@<${AS}<g" \
3262 -e "s<@OC@<${OC}<g" \
3263 -e "s<@WINDRES@<${WINDRES}<g" \
3264 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3265 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3266 -e "s<@RANLIB@<${RANLIB}<g" \
3267 -e "s<@TOOL@<${tool}<g" \
3268 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3269 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3270 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3271 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3272 -e "s<@OUTPUT@<${output}<g" \
3273 -e "s<@APPEXTRA@<${appextra}<g" \
3274 -e "s<@ARCHOSROM@<${archosrom}<g" \
3275 -e "s<@FLASHFILE@<${flash}<g" \
3276 -e "s<@PLUGINS@<${plugins}<g" \
3277 -e "s<@CODECS@<${swcodec}<g" \
3278 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3279 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3280 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3281 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3282 -e "s<@LDOPTS@<${LDOPTS}<g" \
3283 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3284 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3285 -e "s<@EXTRADEF@<${extradefines}<g" \
3286 -e "s<@APPSDIR@<${appsdir}<g" \
3287 -e "s<@FIRMDIR@<${firmdir}<g" \
3288 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3289 -e "s<@APPS@<${apps}<g" \
3290 -e "s<@APP_TYPE@<${app_type}<g" \
3291 -e "s<@GCCVER@<${gccver}<g" \
3292 -e "s<@GCCNUM@<${gccnum}<g" \
3293 -e "s<@UNAME@<${uname}<g" \
3294 -e "s<@ENDIAN@<${defendian}<g" \
3295 -e "s<@TOOLSET@<${toolset}<g" \
3298 -e "s<@MANUALDEV@<${manualdev}<g" \
3299 -e "s<@ENCODER@<${ENC_CMD}<g" \
3300 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3301 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3302 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3303 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3304 -e "s<@LANGS@<${buildlangs}<g" \
3305 -e "s<@USE_ELF@<${USE_ELF}<g" \
3306 -e "s<@RBDIR@<${rbdir}<g" \
3307 -e "s<@binpath@<${bindir}<g" \
3308 -e "s<@libpath@<${libdir}<g" \
3309 -e "s<@PREFIX@<$PREFIX<g" \
3310 -e "s<@CMDLINE@<$cmdline<g" \
3311 -e "s<@SDLCONFIG@<$sdl<g" \
3313 ## Automatically generated. http://www.rockbox.org/
3315 export ROOTDIR=@ROOTDIR@
3316 export FIRMDIR=@FIRMDIR@
3317 export APPSDIR=@APPSDIR@
3318 export TOOLSDIR=@TOOLSDIR@
3319 export DOCSDIR=\$(ROOTDIR)/docs
3320 export MANUALDIR=\${ROOTDIR}/manual
3321 export DEBUG=@DEBUG@
3322 export MODELNAME=@MODELNAME@
3323 export ARCHOSROM=@ARCHOSROM@
3324 export FLASHFILE=@FLASHFILE@
3325 export TARGET_ID=@TARGET_ID@
3326 export TARGET=@TARGET@
3328 export MANUFACTURER=@MANUFACTURER@
3330 export BUILDDIR=@PWD@
3331 export LANGUAGE=@LANGUAGE@
3332 export VOICELANGUAGE=@VOICELANGUAGE@
3333 export MEMORYSIZE=@MEMORY@
3334 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3335 export MKFIRMWARE=@TOOL@
3336 export BMP2RB_MONO=@BMP2RB_MONO@
3337 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3338 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3339 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3340 export BINARY=@OUTPUT@
3341 export APPEXTRA=@APPEXTRA@
3342 export ENABLEDPLUGINS=@PLUGINS@
3343 export SOFTWARECODECS=@CODECS@
3344 export EXTRA_DEFINES=@EXTRADEF@
3345 export HOSTCC=@HOSTCC@
3346 export HOSTAR=@HOSTAR@
3352 export WINDRES=@WINDRES@
3353 export DLLTOOL=@DLLTOOL@
3354 export DLLWRAP=@DLLWRAP@
3355 export RANLIB=@RANLIB@
3356 export PREFIX=@PREFIX@
3357 export PROFILE_OPTS=@PROFILE_OPTS@
3358 export APP_TYPE=@APP_TYPE@
3359 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3360 export GCCOPTS=@GCCOPTS@
3361 export TARGET_INC=@TARGET_INC@
3362 export LOADADDRESS=@LOADADDRESS@
3363 export SHARED_FLAG=@SHARED_FLAG@
3364 export LDOPTS=@LDOPTS@
3365 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3366 export GCCVER=@GCCVER@
3367 export GCCNUM=@GCCNUM@
3368 export UNAME=@UNAME@
3369 export MANUALDEV=@MANUALDEV@
3370 export TTS_OPTS=@TTS_OPTS@
3371 export TTS_ENGINE=@TTS_ENGINE@
3372 export ENC_OPTS=@ENC_OPTS@
3373 export ENCODER=@ENCODER@
3374 export USE_ELF=@USE_ELF@
3375 export RBDIR=@RBDIR@
3376 export ROCKBOX_BINARY_PATH=@binpath@
3377 export ROCKBOX_LIBRARY_PATH=@libpath@
3378 export SDLCONFIG=@SDLCONFIG@
3380 CONFIGURE_OPTIONS=@CMDLINE@
3382 include \$(TOOLSDIR)/root.make
3386 echo "Created Makefile"