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: //'`
32 # Begin Function Definitions
42 WINDRES
=${prefix}windres
43 DLLTOOL
=${prefix}dlltool
44 DLLWRAP
=${prefix}dllwrap
45 RANLIB
=${prefix}ranlib
53 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
54 if [ -z "$ARG_PLATFORM" ]; then
57 choice
="$ARG_PLATFORM"
61 s|S
*) app_platform
="sdl" ;;
62 *|a|A
*) app_platform
="android" ;;
65 echo "Selected $app_platform platform"
66 echo "Enter the LCD width (default: 320)"
67 if [ -z "$ARG_LCDWIDTH" ]; then
70 app_lcd_width
="$ARG_LCDWIDTH"
72 if [ -z "$app_lcd_width" ]; then app_lcd_width
="320"; fi
73 echo "Enter the LCD height (default: 480)"
74 if [ -z "$ARG_LCDHEIGHT" ]; then
75 app_lcd_height
=`input`
77 app_lcd_height
="$ARG_LCDHEIGHT"
79 if [ -z "$app_lcd_height" ]; then app_lcd_height
="480"; fi
80 echo "Selected $app_lcd_width x $app_lcd_height resolution"
81 ARG_LCDWIDTH
=$app_lcd_width
82 ARG_LCDHEIGHT
=$app_lcd_height
84 app_lcd_width
="#define LCD_WIDTH $app_lcd_width"
85 app_lcd_height
="#define LCD_HEIGHT $app_lcd_height"
86 # setup files and paths depending on the platform
87 if [ "$app_platform" = "sdl" ]; then
88 if [ -z "$ARG_PREFIX" ]; then
89 rbdir
="/usr/local/share/rockbox"
90 bindir
="/usr/local/bin"
91 libdir
="/usr/local/lib"
93 if [ -d "$ARG_PREFIX" ]; then
94 if [ -z `echo $ARG_PREFIX | grep "^/"` ]; then
95 ARG_PREFIX
=`realpath $ARG_PREFIX`
96 if [ "0" != "$?" ]; then
97 echo "ERROR: Could not get prefix path (is realpath installed?)."
101 rbdir
="$ARG_PREFIX/share/rockbox"
102 bindir
="$ARG_PREFIX/bin"
103 libdir
="$ARG_PREFIX/lib"
105 echo "ERROR: PREFIX does not does not exist"
111 elif [ "$app_platform" = "android" ]; then
112 if [ -n "$PREFIX" ]; then
113 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
115 if [ -z "$ANDROID_SDK_PATH" ]; then
116 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
117 echo "environment variable point to the root directory of the Android SDK."
120 if [ -z "$ANDROID_NDK_PATH" ]; then
121 echo "ERROR: You need the Android NDK installed and have the ANDROID_NDK_PATH"
122 echo "environment variable point to the root directory of the Android NDK."
125 rbdir
="/data/data/org.rockbox/app_rockbox/rockbox"
126 bindir
="/data/data/org.rockbox/lib"
127 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)
960 --ccache) ARG_CCACHE
=1;;
961 --no-ccache) ARG_CCACHE
=0;;
962 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
963 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
964 --lcdwidth=*) ARG_LCDWIDTH
=`echo "$arg" | cut -d = -f 2`;;
965 --lcdheight=*) ARG_LCDHEIGHT
=`echo "$arg" | cut -d = -f 2`;;
966 --platform=*) ARG_PLATFORM
=`echo "$arg" | cut -d = -f 2`;;
967 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
968 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
969 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
970 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
971 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
972 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
973 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
974 --eabi) ARG_ARM_EABI
=1;;
975 --no-eabi) ARG_ARM_EABI
=0;;
976 --thumb) ARG_ARM_THUMB
=1;;
977 --no-thumb) ARG_ARM_THUMB
=0;;
978 --prefix=*) ARG_PREFIX
=`echo "$arg" | cut -d = -f 2`;;
980 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
987 if [ "$TMPDIR" != "" ]; then
992 echo Using temporary directory
$tmpdir
994 if test -r "configure"; then
995 # this is a check for a configure script in the current directory, it there
996 # is one, try to figure out if it is this one!
998 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
999 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
1000 echo "It will only cause you pain and grief. Instead do this:"
1003 echo " mkdir build-dir"
1004 echo " cd build-dir"
1005 echo " ../tools/configure"
1007 echo "Much happiness will arise from this. Enjoy"
1012 # get our current directory
1015 if { echo $pwd |
grep " "; } then
1016 echo "You're running this script in a path that contains space. The build"
1017 echo "system is unfortunately not clever enough to deal with this. Please"
1018 echo "run the script from a different path, rename the path or fix the build"
1023 if [ -z "$rootdir" ]; then
1024 ##################################################################
1025 # Figure out where the source code root is!
1027 rootdir
=`dirname $0`/..
/
1029 #####################################################################
1030 # Convert the possibly relative directory name to an absolute version
1036 # cd back to the build dir
1041 appsdir
='\$(ROOTDIR)/apps'
1042 firmdir
='\$(ROOTDIR)/firmware'
1043 toolsdir
='\$(ROOTDIR)/tools'
1046 ##################################################################
1047 # Figure out target platform
1050 if [ "$ARG_TARGET" ]; then
1051 buildfor
=$ARG_TARGET
1053 echo "Enter target platform:"
1055 ==Archos== ==iriver== ==Apple iPod==
1056 0) Player/Studio 10) H120/H140 20) Color/Photo
1057 1) Recorder 11) H320/H340 21) Nano 1G
1058 2) FM Recorder 12) iHP-100/110/115 22) Video
1059 3) Recorder v2 13) iFP-790 23) 3G
1060 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1061 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1062 6) AV300 26) Mini 2G
1063 ==Toshiba== 27) 1G, 2G
1064 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1065 30) X5/X5V/X5L 41) Gigabeat S
1066 31) M5/M5L ==SanDisk==
1067 32) 7 ==Olympus= 50) Sansa e200
1068 33) D2 70) M:Robe 500 51) Sansa e200R
1069 34) M3/M3L 71) M:Robe 100 52) Sansa c200
1071 ==Creative== ==Philips== 54) Sansa c100
1072 90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
1073 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
1074 92) Zen Vision HDD1830 57) Sansa m200v4
1075 102) GoGear HDD6330 58) Sansa Fuze
1076 ==Onda== 59) Sansa c200v2
1077 120) VX747 ==Meizu== 60) Sansa Clipv2
1078 121) VX767 110) M6SL 61) Sansa View
1079 122) VX747+ 111) M6SP 62) Sansa Clip+
1080 123) VX777 112) M3 63) Sansa Fuze v2
1083 ==Samsung== ==Tatung== 80) DAX 1GB MP3/DAB
1084 140) YH-820 150) Elio TPJ-1022
1085 141) YH-920 ==Lyre project==
1086 142) YH-925 ==Packard Bell== 130) Lyre proto 1
1087 143) YP-S3 160) Vibe 500 131) Mini2440
1089 ==MPIO== == Application ==
1090 170) HD200 200) Application
1097 # Set of tools built for all target platforms:
1098 toolset
="rdf2binary convbdf codepages"
1100 # Toolsets for some target families:
1101 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
1102 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1103 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1104 ipodbitmaptools
="$toolset scramble bmp2rb"
1105 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
1106 tccbitmaptools
="$toolset scramble bmp2rb"
1107 # generic is used by IFP, Meizu and Onda
1108 genericbitmaptools
="$toolset bmp2rb"
1109 # scramble is used by all other targets
1110 scramblebitmaptools
="$genericbitmaptools scramble"
1113 # ---- For each target ----
1116 # target_id: a unique number identifying this target, IS NOT the menu number.
1117 # Just use the currently highest number+1 when you add a new
1119 # modelname: short model name used all over to identify this target
1120 # memory: number of megabytes of RAM this target has. If the amount can
1121 # be selected by the size prompt, let memory be unset here
1122 # target: -Ddefine passed to the build commands to make the correct
1123 # config-*.h file get included etc
1124 # tool: the tool that takes a plain binary and converts that into a
1125 # working "firmware" file for your target
1126 # output: the final output file name
1127 # boottool: the tool that takes a plain binary and generates a bootloader
1128 # file for your target (or blank to use $tool)
1129 # bootoutput:the final output file name for the bootloader (or blank to use
1131 # appextra: passed to the APPEXTRA variable in the Makefiles.
1132 # TODO: add proper explanation
1133 # archosrom: used only for Archos targets that build a special flashable .ucl
1135 # flash: name of output for flashing, for targets where there's a special
1136 # file output for this.
1137 # plugins: set to 'yes' to build the plugins. Early development builds can
1138 # set this to no in the early stages to have an easier life for a
1140 # swcodec: set 'yes' on swcodec targets
1141 # toolset: lists what particular tools in the tools/ directory that this
1142 # target needs to have built prior to building Rockbox
1145 # *cc: sets up gcc and compiler options for your target builds. Note
1146 # that if you select a simulator build, the compiler selection is
1147 # overridden later in the script.
1153 modelname
="archosplayer"
1154 target
="-DARCHOS_PLAYER"
1156 tool
="$rootdir/tools/scramble"
1158 appextra
="player:gui"
1159 archosrom
="$pwd/rombox.ucl"
1160 flash
="$pwd/rockbox.ucl"
1164 # toolset is the tools within the tools directory that we build for
1165 # this particular target.
1166 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1168 # Note: the convbdf is present in the toolset just because: 1) the
1169 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1170 # build the player simulator
1173 t_manufacturer
="archos"
1179 modelname
="archosrecorder"
1180 target
="-DARCHOS_RECORDER"
1182 tool
="$rootdir/tools/scramble"
1183 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1184 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1186 appextra
="recorder:gui:radio"
1187 #archosrom="$pwd/rombox.ucl"
1188 flash
="$pwd/rockbox.ucl"
1191 # toolset is the tools within the tools directory that we build for
1192 # this particular target.
1193 toolset
=$archosbitmaptools
1195 t_manufacturer
="archos"
1201 modelname
="archosfmrecorder"
1202 target
="-DARCHOS_FMRECORDER"
1204 tool
="$rootdir/tools/scramble -fm"
1205 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1206 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1208 appextra
="recorder:gui:radio"
1209 #archosrom="$pwd/rombox.ucl"
1210 flash
="$pwd/rockbox.ucl"
1213 # toolset is the tools within the tools directory that we build for
1214 # this particular target.
1215 toolset
=$archosbitmaptools
1217 t_manufacturer
="archos"
1223 modelname
="archosrecorderv2"
1224 target
="-DARCHOS_RECORDERV2"
1226 tool
="$rootdir/tools/scramble -v2"
1227 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1228 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1230 appextra
="recorder:gui:radio"
1231 #archosrom="$pwd/rombox.ucl"
1232 flash
="$pwd/rockbox.ucl"
1235 # toolset is the tools within the tools directory that we build for
1236 # this particular target.
1237 toolset
=$archosbitmaptools
1239 t_manufacturer
="archos"
1245 modelname
="archosondiosp"
1246 target
="-DARCHOS_ONDIOSP"
1248 tool
="$rootdir/tools/scramble -osp"
1249 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1250 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1252 appextra
="recorder:gui:radio"
1253 #archosrom="$pwd/rombox.ucl"
1254 flash
="$pwd/rockbox.ucl"
1257 # toolset is the tools within the tools directory that we build for
1258 # this particular target.
1259 toolset
=$archosbitmaptools
1261 t_manufacturer
="archos"
1267 modelname
="archosondiofm"
1268 target
="-DARCHOS_ONDIOFM"
1270 tool
="$rootdir/tools/scramble -ofm"
1271 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1272 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1274 appextra
="recorder:gui:radio"
1275 #archosrom="$pwd/rombox.ucl"
1276 flash
="$pwd/rockbox.ucl"
1279 toolset
=$archosbitmaptools
1281 t_manufacturer
="archos"
1287 modelname
="archosav300"
1288 target
="-DARCHOS_AV300"
1291 tool
="$rootdir/tools/scramble -mm=C"
1292 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1293 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1295 appextra
="recorder:gui:radio"
1298 # toolset is the tools within the tools directory that we build for
1299 # this particular target.
1300 toolset
="$toolset scramble descramble bmp2rb"
1301 # architecture, manufacturer and model for the target-tree build
1303 t_manufacturer
="archos"
1309 modelname
="iriverh120"
1310 target
="-DIRIVER_H120"
1313 tool
="$rootdir/tools/scramble -add=h120"
1314 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1315 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1316 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1317 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1318 output
="rockbox.iriver"
1319 bootoutput
="bootloader.iriver"
1320 appextra
="recorder:gui:radio"
1321 flash
="$pwd/rombox.iriver"
1324 # toolset is the tools within the tools directory that we build for
1325 # this particular target.
1326 toolset
=$iriverbitmaptools
1328 t_manufacturer
="iriver"
1334 modelname
="iriverh300"
1335 target
="-DIRIVER_H300"
1338 tool
="$rootdir/tools/scramble -add=h300"
1339 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1340 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1341 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1342 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1343 output
="rockbox.iriver"
1344 appextra
="recorder:gui:radio"
1347 # toolset is the tools within the tools directory that we build for
1348 # this particular target.
1349 toolset
=$iriverbitmaptools
1351 t_manufacturer
="iriver"
1357 modelname
="iriverh100"
1358 target
="-DIRIVER_H100"
1361 tool
="$rootdir/tools/scramble -add=h100"
1362 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1363 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1364 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1365 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1366 output
="rockbox.iriver"
1367 bootoutput
="bootloader.iriver"
1368 appextra
="recorder:gui:radio"
1369 flash
="$pwd/rombox.iriver"
1372 # toolset is the tools within the tools directory that we build for
1373 # this particular target.
1374 toolset
=$iriverbitmaptools
1376 t_manufacturer
="iriver"
1382 modelname
="iriverifp7xx"
1383 target
="-DIRIVER_IFP7XX"
1387 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1388 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1389 output
="rockbox.wma"
1390 appextra
="recorder:gui:radio"
1393 # toolset is the tools within the tools directory that we build for
1394 # this particular target.
1395 toolset
=$genericbitmaptools
1397 t_manufacturer
="pnx0101"
1398 t_model
="iriver-ifp7xx"
1403 modelname
="iriverh10"
1404 target
="-DIRIVER_H10"
1407 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1408 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1409 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1410 output
="rockbox.mi4"
1411 appextra
="recorder:gui:radio"
1414 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1415 bootoutput
="H10_20GC.mi4"
1416 # toolset is the tools within the tools directory that we build for
1417 # this particular target.
1418 toolset
=$scramblebitmaptools
1419 # architecture, manufacturer and model for the target-tree build
1421 t_manufacturer
="iriver"
1427 modelname
="iriverh10_5gb"
1428 target
="-DIRIVER_H10_5GB"
1431 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1432 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1433 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1434 output
="rockbox.mi4"
1435 appextra
="recorder:gui:radio"
1438 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1439 bootoutput
="H10.mi4"
1440 # toolset is the tools within the tools directory that we build for
1441 # this particular target.
1442 toolset
=$scramblebitmaptools
1443 # architecture, manufacturer and model for the target-tree build
1445 t_manufacturer
="iriver"
1451 modelname
="ipodcolor"
1452 target
="-DIPOD_COLOR"
1455 tool
="$rootdir/tools/scramble -add=ipco"
1456 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1457 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1458 output
="rockbox.ipod"
1459 appextra
="recorder:gui:radio"
1462 bootoutput
="bootloader-$modelname.ipod"
1463 # toolset is the tools within the tools directory that we build for
1464 # this particular target.
1465 toolset
=$ipodbitmaptools
1466 # architecture, manufacturer and model for the target-tree build
1468 t_manufacturer
="ipod"
1474 modelname
="ipodnano1g"
1475 target
="-DIPOD_NANO"
1478 tool
="$rootdir/tools/scramble -add=nano"
1479 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1480 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1481 output
="rockbox.ipod"
1482 appextra
="recorder:gui:radio"
1485 bootoutput
="bootloader-$modelname.ipod"
1486 # toolset is the tools within the tools directory that we build for
1487 # this particular target.
1488 toolset
=$ipodbitmaptools
1489 # architecture, manufacturer and model for the target-tree build
1491 t_manufacturer
="ipod"
1497 modelname
="ipodvideo"
1498 target
="-DIPOD_VIDEO"
1499 memory
=64 # always. This is reduced at runtime if needed
1501 tool
="$rootdir/tools/scramble -add=ipvd"
1502 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1503 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1504 output
="rockbox.ipod"
1505 appextra
="recorder:gui:radio"
1508 bootoutput
="bootloader-$modelname.ipod"
1509 # toolset is the tools within the tools directory that we build for
1510 # this particular target.
1511 toolset
=$ipodbitmaptools
1512 # architecture, manufacturer and model for the target-tree build
1514 t_manufacturer
="ipod"
1524 tool
="$rootdir/tools/scramble -add=ip3g"
1525 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1526 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1527 output
="rockbox.ipod"
1528 appextra
="recorder:gui:radio"
1531 bootoutput
="bootloader-$modelname.ipod"
1532 # toolset is the tools within the tools directory that we build for
1533 # this particular target.
1534 toolset
=$ipodbitmaptools
1535 # architecture, manufacturer and model for the target-tree build
1537 t_manufacturer
="ipod"
1547 tool
="$rootdir/tools/scramble -add=ip4g"
1548 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1549 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1550 output
="rockbox.ipod"
1551 appextra
="recorder:gui:radio"
1554 bootoutput
="bootloader-$modelname.ipod"
1555 # toolset is the tools within the tools directory that we build for
1556 # this particular target.
1557 toolset
=$ipodbitmaptools
1558 # architecture, manufacturer and model for the target-tree build
1560 t_manufacturer
="ipod"
1566 modelname
="ipodmini1g"
1567 target
="-DIPOD_MINI"
1570 tool
="$rootdir/tools/scramble -add=mini"
1571 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1572 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1573 output
="rockbox.ipod"
1574 appextra
="recorder:gui:radio"
1577 bootoutput
="bootloader-$modelname.ipod"
1578 # toolset is the tools within the tools directory that we build for
1579 # this particular target.
1580 toolset
=$ipodbitmaptools
1581 # architecture, manufacturer and model for the target-tree build
1583 t_manufacturer
="ipod"
1589 modelname
="ipodmini2g"
1590 target
="-DIPOD_MINI2G"
1593 tool
="$rootdir/tools/scramble -add=mn2g"
1594 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1595 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1596 output
="rockbox.ipod"
1597 appextra
="recorder:gui:radio"
1600 bootoutput
="bootloader-$modelname.ipod"
1601 # toolset is the tools within the tools directory that we build for
1602 # this particular target.
1603 toolset
=$ipodbitmaptools
1604 # architecture, manufacturer and model for the target-tree build
1606 t_manufacturer
="ipod"
1612 modelname
="ipod1g2g"
1613 target
="-DIPOD_1G2G"
1616 tool
="$rootdir/tools/scramble -add=1g2g"
1617 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1618 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1619 output
="rockbox.ipod"
1620 appextra
="recorder:gui:radio"
1623 bootoutput
="bootloader-$modelname.ipod"
1624 # toolset is the tools within the tools directory that we build for
1625 # this particular target.
1626 toolset
=$ipodbitmaptools
1627 # architecture, manufacturer and model for the target-tree build
1629 t_manufacturer
="ipod"
1635 modelname
="ipodnano2g"
1636 target
="-DIPOD_NANO2G"
1639 tool
="$rootdir/tools/scramble -add=nn2g"
1640 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1641 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1642 output
="rockbox.ipod"
1643 appextra
="recorder:gui:radio"
1646 bootoutput
="bootloader-$modelname.ipod"
1647 # toolset is the tools within the tools directory that we build for
1648 # this particular target.
1649 toolset
=$ipodbitmaptools
1650 # architecture, manufacturer and model for the target-tree build
1652 t_manufacturer
="s5l8700"
1653 t_model
="ipodnano2g"
1658 modelname
="iaudiox5"
1659 target
="-DIAUDIO_X5"
1662 tool
="$rootdir/tools/scramble -add=iax5"
1663 boottool
="$rootdir/tools/scramble -iaudiox5"
1664 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1665 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1666 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1667 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1668 output
="rockbox.iaudio"
1669 bootoutput
="x5_fw.bin"
1670 appextra
="recorder:gui:radio"
1673 # toolset is the tools within the tools directory that we build for
1674 # this particular target.
1675 toolset
="$iaudiobitmaptools"
1676 # architecture, manufacturer and model for the target-tree build
1678 t_manufacturer
="iaudio"
1684 modelname
="iaudiom5"
1685 target
="-DIAUDIO_M5"
1688 tool
="$rootdir/tools/scramble -add=iam5"
1689 boottool
="$rootdir/tools/scramble -iaudiom5"
1690 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1691 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1692 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1693 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1694 output
="rockbox.iaudio"
1695 bootoutput
="m5_fw.bin"
1696 appextra
="recorder:gui:radio"
1699 # toolset is the tools within the tools directory that we build for
1700 # this particular target.
1701 toolset
="$iaudiobitmaptools"
1702 # architecture, manufacturer and model for the target-tree build
1704 t_manufacturer
="iaudio"
1714 tool
="$rootdir/tools/scramble -add=i7"
1715 boottool
="$rootdir/tools/scramble -tcc=crc"
1716 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1717 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1718 output
="rockbox.iaudio"
1719 appextra
="recorder:gui:radio"
1722 bootoutput
="I7_FW.BIN"
1723 # toolset is the tools within the tools directory that we build for
1724 # this particular target.
1725 toolset
="$tccbitmaptools"
1726 # architecture, manufacturer and model for the target-tree build
1728 t_manufacturer
="tcc77x"
1738 tool
="$rootdir/tools/scramble -add=d2"
1740 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1741 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1743 bootoutput
="bootloader-cowond2.bin"
1744 appextra
="recorder:gui:radio"
1747 toolset
="$tccbitmaptools"
1748 # architecture, manufacturer and model for the target-tree build
1750 t_manufacturer
="tcc780x"
1756 modelname
="iaudiom3"
1757 target
="-DIAUDIO_M3"
1760 tool
="$rootdir/tools/scramble -add=iam3"
1761 boottool
="$rootdir/tools/scramble -iaudiom3"
1762 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1763 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1764 output
="rockbox.iaudio"
1765 bootoutput
="cowon_m3.bin"
1766 appextra
="recorder:gui:radio"
1769 # toolset is the tools within the tools directory that we build for
1770 # this particular target.
1771 toolset
="$iaudiobitmaptools"
1772 # architecture, manufacturer and model for the target-tree build
1774 t_manufacturer
="iaudio"
1780 modelname
="gigabeatfx"
1781 target
="-DGIGABEAT_F"
1784 tool
="$rootdir/tools/scramble -add=giga"
1785 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1786 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1787 output
="rockbox.gigabeat"
1788 appextra
="recorder:gui:radio"
1791 toolset
=$gigabeatbitmaptools
1792 boottool
="$rootdir/tools/scramble -gigabeat"
1793 bootoutput
="FWIMG01.DAT"
1794 # architecture, manufacturer and model for the target-tree build
1796 t_manufacturer
="s3c2440"
1797 t_model
="gigabeat-fx"
1802 modelname
="gigabeats"
1803 target
="-DGIGABEAT_S"
1806 tool
="$rootdir/tools/scramble -add=gigs"
1807 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1808 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1809 output
="rockbox.gigabeat"
1810 appextra
="recorder:gui:radio"
1813 toolset
="$gigabeatbitmaptools"
1814 boottool
="$rootdir/tools/scramble -gigabeats"
1816 # architecture, manufacturer and model for the target-tree build
1818 t_manufacturer
="imx31"
1819 t_model
="gigabeat-s"
1824 modelname
="mrobe500"
1825 target
="-DMROBE_500"
1828 tool
="$rootdir/tools/scramble -add=m500"
1829 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1830 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1831 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1832 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1833 output
="rockbox.mrobe500"
1834 appextra
="recorder:gui:radio"
1837 toolset
=$gigabeatbitmaptools
1839 bootoutput
="rockbox.mrboot"
1840 # architecture, manufacturer and model for the target-tree build
1842 t_manufacturer
="tms320dm320"
1848 modelname
="mrobe100"
1849 target
="-DMROBE_100"
1852 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1853 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1854 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1855 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1856 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1857 output
="rockbox.mi4"
1858 appextra
="recorder:gui:radio"
1861 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1862 bootoutput
="pp5020.mi4"
1863 # toolset is the tools within the tools directory that we build for
1864 # this particular target.
1865 toolset
=$scramblebitmaptools
1866 # architecture, manufacturer and model for the target-tree build
1868 t_manufacturer
="olympus"
1874 modelname
="logikdax"
1875 target
="-DLOGIK_DAX"
1878 tool
="$rootdir/tools/scramble -add=ldax"
1879 boottool
="$rootdir/tools/scramble -tcc=crc"
1880 bootoutput
="player.rom"
1881 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1882 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1883 output
="rockbox.logik"
1884 appextra
="recorder:gui:radio"
1887 # toolset is the tools within the tools directory that we build for
1888 # this particular target.
1889 toolset
=$tccbitmaptools
1890 # architecture, manufacturer and model for the target-tree build
1892 t_manufacturer
="tcc77x"
1898 modelname
="zenvisionm30gb"
1899 target
="-DCREATIVE_ZVM"
1902 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1903 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1904 tool
="$rootdir/tools/scramble -creative=zvm"
1906 output
="rockbox.zvm"
1907 appextra
="recorder:gui:radio"
1910 toolset
=$ipodbitmaptools
1911 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1912 bootoutput
="rockbox.zvmboot"
1913 # architecture, manufacturer and model for the target-tree build
1915 t_manufacturer
="tms320dm320"
1916 t_model
="creative-zvm"
1921 modelname
="zenvisionm60gb"
1922 target
="-DCREATIVE_ZVM60GB"
1925 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1926 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1927 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1929 output
="rockbox.zvm60"
1930 appextra
="recorder:gui:radio"
1933 toolset
=$ipodbitmaptools
1934 boottool
="$rootdir/tools/scramble -creative=zvm60"
1935 bootoutput
="rockbox.zvm60boot"
1936 # architecture, manufacturer and model for the target-tree build
1938 t_manufacturer
="tms320dm320"
1939 t_model
="creative-zvm"
1944 modelname
="zenvision"
1945 target
="-DCREATIVE_ZV"
1948 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1949 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1950 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1953 appextra
="recorder:gui:radio"
1956 toolset
=$ipodbitmaptools
1957 boottool
="$rootdir/tools/scramble -creative=zenvision"
1958 bootoutput
="rockbox.zvboot"
1959 # architecture, manufacturer and model for the target-tree build
1961 t_manufacturer
="tms320dm320"
1962 t_model
="creative-zvm"
1967 modelname
="sansae200"
1968 target
="-DSANSA_E200"
1969 memory
=32 # supposedly
1971 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
1972 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1973 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1974 output
="rockbox.mi4"
1975 appextra
="recorder:gui:radio"
1978 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
1979 bootoutput
="PP5022.mi4"
1980 # toolset is the tools within the tools directory that we build for
1981 # this particular target.
1982 toolset
=$scramblebitmaptools
1983 # architecture, manufacturer and model for the target-tree build
1985 t_manufacturer
="sandisk"
1986 t_model
="sansa-e200"
1990 # the e200R model is pretty much identical to the e200, it only has a
1991 # different option to the scramble tool when building a bootloader and
1992 # makes the bootloader output file name in all lower case.
1994 modelname
="sansae200r"
1995 target
="-DSANSA_E200"
1996 memory
=32 # supposedly
1998 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
1999 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2000 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2001 output
="rockbox.mi4"
2002 appextra
="recorder:gui:radio"
2005 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
2006 bootoutput
="pp5022.mi4"
2007 # toolset is the tools within the tools directory that we build for
2008 # this particular target.
2009 toolset
=$scramblebitmaptools
2010 # architecture, manufacturer and model for the target-tree build
2012 t_manufacturer
="sandisk"
2013 t_model
="sansa-e200"
2018 modelname
="sansac200"
2019 target
="-DSANSA_C200"
2020 memory
=32 # supposedly
2022 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2023 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2024 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2025 output
="rockbox.mi4"
2026 appextra
="recorder:gui:radio"
2029 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2030 bootoutput
="firmware.mi4"
2031 # toolset is the tools within the tools directory that we build for
2032 # this particular target.
2033 toolset
=$scramblebitmaptools
2034 # architecture, manufacturer and model for the target-tree build
2036 t_manufacturer
="sandisk"
2037 t_model
="sansa-c200"
2042 modelname
="sansam200"
2043 target
="-DSANSA_M200"
2046 tool
="$rootdir/tools/scramble -add=m200"
2047 boottool
="$rootdir/tools/scramble -tcc=crc"
2048 bootoutput
="player.rom"
2049 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2050 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
2051 output
="rockbox.m200"
2052 appextra
="recorder:gui:radio"
2055 # toolset is the tools within the tools directory that we build for
2056 # this particular target.
2057 toolset
=$tccbitmaptools
2058 # architecture, manufacturer and model for the target-tree build
2060 t_manufacturer
="tcc77x"
2066 modelname
="sansac100"
2067 target
="-DSANSA_C100"
2070 tool
="$rootdir/tools/scramble -add=c100"
2071 boottool
="$rootdir/tools/scramble -tcc=crc"
2072 bootoutput
="player.rom"
2073 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2074 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2075 output
="rockbox.c100"
2076 appextra
="recorder:gui:radio"
2079 # toolset is the tools within the tools directory that we build for
2080 # this particular target.
2081 toolset
=$tccbitmaptools
2082 # architecture, manufacturer and model for the target-tree build
2084 t_manufacturer
="tcc77x"
2090 modelname
="sansaclip"
2091 target
="-DSANSA_CLIP"
2093 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2094 bmp2rb_native
="$bmp2rb_mono"
2095 tool
="$rootdir/tools/scramble -add=clip"
2096 output
="rockbox.sansa"
2097 bootoutput
="bootloader-clip.sansa"
2098 appextra
="recorder:gui:radio"
2101 toolset
=$scramblebitmaptools
2103 t_manufacturer
="as3525"
2104 t_model
="sansa-clip"
2105 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2107 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2113 modelname
="sansae200v2"
2114 target
="-DSANSA_E200V2"
2116 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2117 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2118 tool
="$rootdir/tools/scramble -add=e2v2"
2119 output
="rockbox.sansa"
2120 bootoutput
="bootloader-e200v2.sansa"
2121 appextra
="recorder:gui:radio"
2124 toolset
=$scramblebitmaptools
2126 t_manufacturer
="as3525"
2127 t_model
="sansa-e200v2"
2134 modelname
="sansam200v4"
2135 target
="-DSANSA_M200V4"
2137 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2138 bmp2rb_native
="$bmp2rb_mono"
2139 tool
="$rootdir/tools/scramble -add=m2v4"
2140 output
="rockbox.sansa"
2141 bootoutput
="bootloader-m200v4.sansa"
2142 appextra
="recorder:gui:radio"
2145 toolset
=$scramblebitmaptools
2147 t_manufacturer
="as3525"
2148 t_model
="sansa-m200v4"
2149 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2151 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2157 modelname
="sansafuze"
2158 target
="-DSANSA_FUZE"
2160 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2161 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2162 tool
="$rootdir/tools/scramble -add=fuze"
2163 output
="rockbox.sansa"
2164 bootoutput
="bootloader-fuze.sansa"
2165 appextra
="recorder:gui:radio"
2168 toolset
=$scramblebitmaptools
2170 t_manufacturer
="as3525"
2171 t_model
="sansa-fuze"
2178 modelname
="sansac200v2"
2179 target
="-DSANSA_C200V2"
2180 memory
=2 # as per OF diagnosis mode
2181 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2182 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2183 tool
="$rootdir/tools/scramble -add=c2v2"
2184 output
="rockbox.sansa"
2185 bootoutput
="bootloader-c200v2.sansa"
2186 appextra
="recorder:gui:radio"
2189 # toolset is the tools within the tools directory that we build for
2190 # this particular target.
2191 toolset
=$scramblebitmaptools
2192 # architecture, manufacturer and model for the target-tree build
2194 t_manufacturer
="as3525"
2195 t_model
="sansa-c200v2"
2196 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2198 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2203 modelname
="sansaclipv2"
2204 target
="-DSANSA_CLIPV2"
2206 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2207 bmp2rb_native
="$bmp2rb_mono"
2208 tool
="$rootdir/tools/scramble -add=clv2"
2209 output
="rockbox.sansa"
2210 bootoutput
="bootloader-clipv2.sansa"
2211 appextra
="recorder:gui:radio"
2214 toolset
=$scramblebitmaptools
2216 t_manufacturer
="as3525"
2217 t_model
="sansa-clipv2"
2222 echo "Sansa View is not yet supported!"
2225 modelname
="sansaview"
2226 target
="-DSANSA_VIEW"
2229 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2230 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2231 output
="rockbox.mi4"
2235 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2236 bootoutput
="firmware.mi4"
2237 # toolset is the tools within the tools directory that we build for
2238 # this particular target.
2239 toolset
=$scramblebitmaptools
2241 t_manufacturer
="sandisk"
2242 t_model
="sansa-view"
2247 modelname
="sansaclipplus"
2248 target
="-DSANSA_CLIPPLUS"
2250 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2251 bmp2rb_native
="$bmp2rb_mono"
2252 tool
="$rootdir/tools/scramble -add=cli+"
2253 output
="rockbox.sansa"
2254 bootoutput
="bootloader-clipplus.sansa"
2255 appextra
="recorder:gui:radio"
2258 toolset
=$scramblebitmaptools
2260 t_manufacturer
="as3525"
2261 t_model
="sansa-clipplus"
2267 modelname
="sansafuzev2"
2268 target
="-DSANSA_FUZEV2"
2270 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2271 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2272 tool
="$rootdir/tools/scramble -add=fuz2"
2273 output
="rockbox.sansa"
2274 bootoutput
="bootloader-fuzev2.sansa"
2275 appextra
="recorder:gui:radio"
2278 toolset
=$scramblebitmaptools
2280 t_manufacturer
="as3525"
2281 t_model
="sansa-fuzev2"
2287 modelname
="tatungtpj1022"
2288 target
="-DTATUNG_TPJ1022"
2291 tool
="$rootdir/tools/scramble -add tpj2"
2292 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2293 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2294 output
="rockbox.elio"
2295 appextra
="recorder:gui:radio"
2298 boottool
="$rootdir/tools/scramble -mi4v2"
2299 bootoutput
="pp5020.mi4"
2300 # toolset is the tools within the tools directory that we build for
2301 # this particular target.
2302 toolset
=$scramblebitmaptools
2303 # architecture, manufacturer and model for the target-tree build
2305 t_manufacturer
="tatung"
2311 modelname
="gogearsa9200"
2312 target
="-DPHILIPS_SA9200"
2313 memory
=32 # supposedly
2315 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2316 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2317 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2318 output
="rockbox.mi4"
2319 appextra
="recorder:gui:radio"
2322 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2323 bootoutput
="FWImage.ebn"
2324 # toolset is the tools within the tools directory that we build for
2325 # this particular target.
2326 toolset
=$scramblebitmaptools
2327 # architecture, manufacturer and model for the target-tree build
2329 t_manufacturer
="philips"
2335 modelname
="gogearhdd1630"
2336 target
="-DPHILIPS_HDD1630"
2337 memory
=32 # supposedly
2339 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2340 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2341 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2342 output
="rockbox.mi4"
2343 appextra
="recorder:gui:radio"
2346 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2347 bootoutput
="FWImage.ebn"
2348 # toolset is the tools within the tools directory that we build for
2349 # this particular target.
2350 toolset
=$scramblebitmaptools
2351 # architecture, manufacturer and model for the target-tree build
2353 t_manufacturer
="philips"
2359 modelname
="gogearhdd6330"
2360 target
="-DPHILIPS_HDD6330"
2363 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2364 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2365 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2366 output
="rockbox.mi4"
2367 appextra
="recorder:gui:radio"
2370 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2371 bootoutput
="FWImage.ebn"
2372 # toolset is the tools within the tools directory that we build for
2373 # this particular target.
2374 toolset
=$scramblebitmaptools
2375 # architecture, manufacturer and model for the target-tree build
2377 t_manufacturer
="philips"
2383 modelname
="meizum6sl"
2384 target
="-DMEIZU_M6SL"
2388 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2389 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2390 output
="rockbox.meizu"
2391 appextra
="recorder:gui:radio"
2394 toolset
=$genericbitmaptools
2396 bootoutput
="rockboot.ebn"
2397 # architecture, manufacturer and model for the target-tree build
2399 t_manufacturer
="s5l8700"
2400 t_model
="meizu-m6sl"
2405 modelname
="meizum6sp"
2406 target
="-DMEIZU_M6SP"
2410 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2411 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2412 output
="rockbox.meizu"
2413 appextra
="recorder:gui:radio"
2416 toolset
=$genericbitmaptools
2418 bootoutput
="rockboot.ebn"
2419 # architecture, manufacturer and model for the target-tree build
2421 t_manufacturer
="s5l8700"
2422 t_model
="meizu-m6sp"
2432 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2433 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2434 output
="rockbox.meizu"
2435 appextra
="recorder:gui:radio"
2438 toolset
=$genericbitmaptools
2440 bootoutput
="rockboot.ebn"
2441 # architecture, manufacturer and model for the target-tree build
2443 t_manufacturer
="s5l8700"
2449 modelname
="ondavx747"
2450 target
="-DONDA_VX747"
2453 tool
="$rootdir/tools/scramble -add=x747"
2454 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2455 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2456 output
="rockbox.vx747"
2457 appextra
="recorder:gui:radio"
2460 toolset
=$genericbitmaptools
2461 boottool
="$rootdir/tools/scramble -ccpmp"
2462 bootoutput
="ccpmp.bin"
2463 # architecture, manufacturer and model for the target-tree build
2465 t_manufacturer
="ingenic_jz47xx"
2466 t_model
="onda_vx747"
2471 modelname
="ondavx767"
2472 target
="-DONDA_VX767"
2476 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2477 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2478 output
="rockbox.vx767"
2479 appextra
="recorder:gui:radio"
2482 toolset
=$genericbitmaptools
2483 boottool
="$rootdir/tools/scramble -ccpmp"
2484 bootoutput
="ccpmp.bin"
2485 # architecture, manufacturer and model for the target-tree build
2487 t_manufacturer
="ingenic_jz47xx"
2488 t_model
="onda_vx767"
2493 modelname
="ondavx747p"
2494 target
="-DONDA_VX747P"
2497 tool
="$rootdir/tools/scramble -add=747p"
2498 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2499 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2500 output
="rockbox.vx747p"
2501 appextra
="recorder:gui:radio"
2504 toolset
=$genericbitmaptools
2505 boottool
="$rootdir/tools/scramble -ccpmp"
2506 bootoutput
="ccpmp.bin"
2507 # architecture, manufacturer and model for the target-tree build
2509 t_manufacturer
="ingenic_jz47xx"
2510 t_model
="onda_vx747"
2515 modelname
="ondavx777"
2516 target
="-DONDA_VX777"
2519 tool
="$rootdir/tools/scramble -add=x777"
2520 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2521 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2522 output
="rockbox.vx777"
2523 appextra
="recorder:gui:radio"
2526 toolset
=$genericbitmaptools
2527 boottool
="$rootdir/tools/scramble -ccpmp"
2528 bootoutput
="ccpmp.bin"
2529 # architecture, manufacturer and model for the target-tree build
2531 t_manufacturer
="ingenic_jz47xx"
2532 t_model
="onda_vx747"
2537 modelname
="lyreproto1"
2538 target
="-DLYRE_PROTO1"
2542 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2543 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2544 output
="rockbox.lyre"
2545 appextra
="recorder:gui:radio"
2548 toolset
=$scramblebitmaptools
2550 bootoutput
="bootloader-proto1.lyre"
2551 # architecture, manufacturer and model for the target-tree build
2553 t_manufacturer
="at91sam"
2554 t_model
="lyre_proto1"
2559 modelname
="mini2440"
2563 tool
="$rootdir/tools/scramble -add=m244"
2564 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2565 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2566 output
="rockbox.mini2440"
2567 appextra
="recorder:gui:radio"
2570 toolset
=$scramblebitmaptools
2572 bootoutput
="bootloader-mini2440.lyre"
2573 # architecture, manufacturer and model for the target-tree build
2575 t_manufacturer
="s3c2440"
2581 modelname
="samsungyh820"
2582 target
="-DSAMSUNG_YH820"
2585 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2586 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2587 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2588 output
="rockbox.mi4"
2589 appextra
="recorder:gui:radio"
2592 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2593 bootoutput
="FW_YH820.mi4"
2594 # toolset is the tools within the tools directory that we build for
2595 # this particular target.
2596 toolset
=$scramblebitmaptools
2597 # architecture, manufacturer and model for the target-tree build
2599 t_manufacturer
="samsung"
2605 modelname
="samsungyh920"
2606 target
="-DSAMSUNG_YH920"
2609 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2610 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2611 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2612 output
="rockbox.mi4"
2613 appextra
="recorder:gui:radio"
2616 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2617 bootoutput
="PP5020.mi4"
2618 # toolset is the tools within the tools directory that we build for
2619 # this particular target.
2620 toolset
=$scramblebitmaptools
2621 # architecture, manufacturer and model for the target-tree build
2623 t_manufacturer
="samsung"
2629 modelname
="samsungyh925"
2630 target
="-DSAMSUNG_YH925"
2633 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2634 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2635 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2636 output
="rockbox.mi4"
2637 appextra
="recorder:gui:radio"
2640 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2641 bootoutput
="FW_YH925.mi4"
2642 # toolset is the tools within the tools directory that we build for
2643 # this particular target.
2644 toolset
=$scramblebitmaptools
2645 # architecture, manufacturer and model for the target-tree build
2647 t_manufacturer
="samsung"
2653 modelname
="samsungyps3"
2654 target
="-DSAMSUNG_YPS3"
2658 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2659 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2660 output
="rockbox.yps3"
2661 appextra
="recorder:gui:radio"
2664 toolset
=$genericbitmaptools
2666 bootoutput
="rockboot.ebn"
2667 # architecture, manufacturer and model for the target-tree build
2669 t_manufacturer
="s5l8700"
2676 target
="-DPBELL_VIBE500"
2679 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2680 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2681 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2682 output
="rockbox.mi4"
2683 appextra
="recorder:gui:radio"
2686 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2687 bootoutput
="jukebox.mi4"
2688 # toolset is the tools within the tools directory that we build for
2689 # this particular target.
2690 toolset
=$scramblebitmaptools
2691 # architecture, manufacturer and model for the target-tree build
2693 t_manufacturer
="pbell"
2699 modelname
="mpiohd200"
2700 target
="-DMPIO_HD200"
2703 tool
="$rootdir/tools/scramble -add=hd20"
2704 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2705 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2706 output
="rockbox.mpio"
2707 bootoutput
="bootloader.mpio"
2708 appextra
="recorder:gui:radio"
2711 # toolset is the tools within the tools directory that we build for
2712 # this particular target.
2713 toolset
="$genericbitmaptools"
2714 # architecture, manufacturer and model for the target-tree build
2716 t_manufacturer
="mpio"
2722 modelname
="application"
2723 target
="-DAPPLICATION"
2725 need_full_path
="yes"
2731 appcc
"$app_platform"
2734 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2735 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2736 appextra
="recorder:gui:radio"
2739 # architecture, manufacturer and model for the target-tree build
2741 t_manufacturer
="$app_platform"
2746 echo "Please select a supported target platform!"
2752 echo "Platform set to $modelname"
2756 ############################################################################
2757 # Amount of memory, for those that can differ. They have $memory unset at
2761 if [ -z "$memory" ]; then
2764 if [ "$ARG_RAM" ]; then
2767 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2780 if [ "$ARG_RAM" ]; then
2783 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2796 echo "Memory size selected: $memory MB"
2797 [ "$ARG_TYPE" ] ||
echo ""
2801 ##################################################################
2802 # Figure out build "type"
2805 # the ifp7x0 is the only platform that supports building a gdb stub like
2809 gdbstub
="(G)DB stub, "
2811 sansae200r|sansae200
)
2812 gdbstub
="(I)nstaller, "
2815 gdbstub
="(E)raser, "
2820 if [ "$ARG_TYPE" ]; then
2823 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2829 appsdir
='\$(ROOTDIR)/bootloader'
2831 extradefines
="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2833 echo "e200R-installer build selected"
2836 appsdir
='\$(ROOTDIR)/bootloader'
2838 echo "C2(4)0 or C2(5)0"
2842 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2843 echo "c240 eraser build selected"
2846 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2847 echo "c240 eraser build selected"
2851 echo "c200 eraser build selected"
2854 if test $t_manufacturer = "archos"; then
2855 # Archos SH-based players do this somewhat differently for
2857 appsdir
='\$(ROOTDIR)/flash/bootbox'
2860 appsdir
='\$(ROOTDIR)/bootloader'
2863 if test -n "$boottool"; then
2866 if test -n "$bootoutput"; then
2870 extradefines
="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2872 echo "Bootloader build selected"
2875 if [ "$modelname" = "sansae200r" ]; then
2876 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2881 extradefines
="$extradefines -DSIMULATOR"
2884 echo "Simulator build selected"
2887 echo "Advanced build selected"
2888 whichadvanced
$btype
2891 extradefines
="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2892 appsdir
='\$(ROOTDIR)/gdb'
2901 echo "GDB stub build selected"
2906 echo "Manual build selected"
2914 extradefines
="$extradefines -DDEBUG"
2915 appsdir
='\$(ROOTDIR)/tools/checkwps';
2916 output
='checkwps.'${modelname};
2918 echo "CheckWPS build selected"
2926 appsdir
='\$(ROOTDIR)/tools/database';
2931 output
="database_${modelname}.exe"
2934 output
='database.'${modelname};
2938 echo "Database tool build selected"
2941 if [ "$modelname" = "sansae200r" ]; then
2942 echo "Do not use the e200R target for regular builds. Use e200 instead."
2946 btype
="N" # set it explicitly since RET only gets here as well
2947 echo "Normal build selected"
2951 # to be able running "make manual" from non-manual configuration
2954 manualdev
="archosfmrecorder"
2957 manualdev
="iriverh100"
2960 manualdev
="ipodmini1g"
2963 manualdev
=$modelname
2967 if [ -z "$debug" ]; then
2968 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
2971 echo "Using source code root directory: $rootdir"
2973 # this was once possible to change at build-time, but no more:
2978 if [ "yes" = "$simulator" ]; then
2979 # setup compiler and things for simulator
2982 if [ -d "simdisk" ]; then
2983 echo "Subdirectory 'simdisk' already present"
2986 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
2990 # Now, figure out version number of the (gcc) compiler we are about to use
2991 gccver
=`$CC -dumpversion`;
2993 # figure out the binutil version too and display it, mostly for the build
2994 # system etc to be able to see it easier
2995 if [ $uname = "Darwin" ]; then
2996 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
2998 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
3001 if [ -z "$gccver" ]; then
3002 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
3003 echo "[WARNING] this may cause your build to fail since we cannot do the"
3004 echo "[WARNING] checks we want now."
3007 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
3010 num1
=`echo $gccver | cut -d . -f1`
3011 num2
=`echo $gccver | cut -d . -f2`
3012 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
3019 echo "Using $CC $gccver ($gccnum)"
3021 if test "$gccnum" -ge "400"; then
3022 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3023 # so we ignore that warnings for now
3025 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
3028 if test "$gccnum" -ge "402"; then
3029 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3030 # and later would throw it for several valid cases
3031 GCCOPTS
="$GCCOPTS -Wno-override-init"
3035 ""|
"$CROSS_COMPILE")
3039 # cross-compile for win32
3042 # Verify that the cross-compiler is of a recommended version!
3043 if test "$gccver" != "$gccchoice"; then
3044 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3045 echo "WARNING: version $gccchoice!"
3046 echo "WARNING: This may cause your build to fail since it may be a version"
3047 echo "WARNING: that isn't functional or known to not be the best choice."
3048 echo "WARNING: If you suffer from build problems, you know that this is"
3049 echo "WARNING: a likely source for them..."
3057 echo "Using $LD $ldver"
3059 # check the compiler for SH platforms
3060 if test "$CC" = "sh-elf-gcc"; then
3061 if test "$gccnum" -lt "400"; then
3062 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3063 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3065 # figure out patch status
3066 gccpatch
=`$CC --version`;
3068 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
3069 echo "gcc $gccver is rockbox patched"
3070 # then convert -O to -Os to get smaller binaries!
3071 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3073 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3074 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3079 if test "$CC" = "m68k-elf-gcc"; then
3080 # convert -O to -Os to get smaller binaries!
3081 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3084 if [ "$ARG_CCACHE" = "1" ]; then
3085 echo "Enable ccache for building"
3087 elif [ "$ARG_CCACHE" != "0" ]; then
3088 ccache
=`findtool ccache`
3089 if test -n "$ccache"; then
3090 echo "Found and uses ccache ($ccache)"
3094 # figure out the full path to the various commands if possible
3095 HOSTCC
=`findtool gcc --lit`
3096 HOSTAR
=`findtool ar --lit`
3097 CC
=`findtool ${CC} --lit`
3098 LD
=`findtool ${AR} --lit`
3099 AR
=`findtool ${AR} --lit`
3100 AS
=`findtool ${AS} --lit`
3101 OC
=`findtool ${OC} --lit`
3102 WINDRES
=`findtool ${WINDRES} --lit`
3103 DLLTOOL
=`findtool ${DLLTOOL} --lit`
3104 DLLWRAP
=`findtool ${DLLWRAP} --lit`
3105 RANLIB
=`findtool ${RANLIB} --lit`
3107 if test -n "$ccache"; then
3111 if test "$ARG_ARM_THUMB" = "1"; then
3112 extradefines
="$extradefines -DUSE_THUMB"
3113 CC
="$toolsdir/thumb-cc.py $CC"
3116 if test "X$endian" = "Xbig"; then
3117 defendian
="ROCKBOX_BIG_ENDIAN"
3119 defendian
="ROCKBOX_LITTLE_ENDIAN"
3122 if [ "$ARG_RBDIR" ]; then
3123 echo "Using alternate rockbox dir: ${rbdir}"
3127 -e "s<@ENDIAN@<${defendian}<g" \
3128 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3129 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3130 -e "s<@config_rtc@<$config_rtc<g" \
3131 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3132 -e "s<@RBDIR@<${rbdir}<g" \
3133 -e "s<@binpath@<${bindir}<g" \
3134 -e "s<@libpath@<${libdir}<g" \
3135 -e "s<@have_backlight@<$have_backlight<g" \
3136 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3137 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3138 -e "s<@lcd_width@<$app_lcd_width<g" \
3139 -e "s<@lcd_height@<$app_lcd_height<g" \
3141 /* This header was made by configure */
3142 #ifndef __BUILD_AUTOCONF_H
3143 #define __BUILD_AUTOCONF_H
3145 /* Define endianess for the target or simulator platform */
3148 /* Define this if you build rockbox to support the logf logging and display */
3149 #undef ROCKBOX_HAS_LOGF
3151 /* Define this to record a chart with timings for the stages of boot */
3154 /* optional define for a backlight modded Ondio */
3157 /* optional define for FM radio mod for iAudio M5 */
3160 /* optional define for ATA poweroff on Player */
3163 /* optional defines for RTC mod for h1x0 */
3167 /* lcd dimensions for application builds from configure */
3171 /* root of Rockbox */
3172 #define ROCKBOX_DIR "@RBDIR@"
3173 #define ROCKBOX_BINARY_PATH "@binpath@"
3174 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3176 #endif /* __BUILD_AUTOCONF_H */
3179 if test -n "$t_cpu"; then
3180 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3181 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3182 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3183 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3185 if [ -n "$app_platform" -a "$app_platform" = "android" ]; then
3186 # android's gcc doesn't add this :/
3187 TARGET_INC
="$TARGET_INC -I$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/include"
3189 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3190 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3194 if test "$simulator" = "yes"; then
3195 # add simul make stuff on the #SIMUL# line
3196 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3197 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3199 # delete the lines that match
3200 simmagic1
='/@SIMUL1@/D'
3201 simmagic2
='/@SIMUL2@/D'
3204 if test "$swcodec" = "yes"; then
3205 voicetoolset
="rbspeexenc voicefont wavtrim"
3207 voicetoolset
="voicefont wavtrim"
3210 if test "$apps" = "apps"; then
3211 # only when we build "real" apps we build the .lng files
3215 #### Fix the cmdline ###
3216 if [ "$ARG_CCACHE" = "1" ]; then
3218 elif [ "$ARG_CCACHE" = "0" ]; then
3219 cmdline
="--no-ccache "
3221 if [ "$ARG_ARM_EABI" = "1" ]; then
3222 cmdline
="$cmdline--eabi "
3224 if [ "$app_platform" = "sdl" ]; then
3225 cmdline
="$cmdline--platform=S "
3226 elif [ "$app_platform" = "android" ]; then
3227 cmdline
="$cmdline--platform=A "
3229 if [ "$modelname" = "application" ]; then
3230 cmdline
="$cmdline--lcdwidth=$ARG_LCDWIDTH --lcdheight=$ARG_LCDHEIGHT "
3232 if [ -n "$ARG_PREFIX" ]; then
3233 cmdline
="$cmdline--prefix=\$(PREFIX) "
3236 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3241 -e "s<@ROOTDIR@<${rootdir}<g" \
3242 -e "s<@DEBUG@<${debug}<g" \
3243 -e "s<@MEMORY@<${memory}<g" \
3244 -e "s<@TARGET_ID@<${target_id}<g" \
3245 -e "s<@TARGET@<${target}<g" \
3246 -e "s<@CPU@<${t_cpu}<g" \
3247 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3248 -e "s<@MODELNAME@<${modelname}<g" \
3249 -e "s<@LANGUAGE@<${language}<g" \
3250 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3251 -e "s<@PWD@<${pwd}<g" \
3252 -e "s<@HOSTCC@<${HOSTCC}<g" \
3253 -e "s<@HOSTAR@<${HOSTAR}<g" \
3254 -e "s<@CC@<${CC}<g" \
3255 -e "s<@LD@<${LD}<g" \
3256 -e "s<@AR@<${AR}<g" \
3257 -e "s<@AS@<${AS}<g" \
3258 -e "s<@OC@<${OC}<g" \
3259 -e "s<@WINDRES@<${WINDRES}<g" \
3260 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3261 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3262 -e "s<@RANLIB@<${RANLIB}<g" \
3263 -e "s<@TOOL@<${tool}<g" \
3264 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3265 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3266 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3267 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3268 -e "s<@OUTPUT@<${output}<g" \
3269 -e "s<@APPEXTRA@<${appextra}<g" \
3270 -e "s<@ARCHOSROM@<${archosrom}<g" \
3271 -e "s<@FLASHFILE@<${flash}<g" \
3272 -e "s<@PLUGINS@<${plugins}<g" \
3273 -e "s<@CODECS@<${swcodec}<g" \
3274 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3275 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3276 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3277 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3278 -e "s<@LDOPTS@<${LDOPTS}<g" \
3279 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3280 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3281 -e "s<@EXTRADEF@<${extradefines}<g" \
3282 -e "s<@APPSDIR@<${appsdir}<g" \
3283 -e "s<@FIRMDIR@<${firmdir}<g" \
3284 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3285 -e "s<@APPS@<${apps}<g" \
3286 -e "s<@APP_TYPE@<${app_type}<g" \
3287 -e "s<@GCCVER@<${gccver}<g" \
3288 -e "s<@GCCNUM@<${gccnum}<g" \
3289 -e "s<@UNAME@<${uname}<g" \
3290 -e "s<@ENDIAN@<${defendian}<g" \
3291 -e "s<@TOOLSET@<${toolset}<g" \
3294 -e "s<@MANUALDEV@<${manualdev}<g" \
3295 -e "s<@ENCODER@<${ENC_CMD}<g" \
3296 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3297 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3298 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3299 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3300 -e "s<@LANGS@<${buildlangs}<g" \
3301 -e "s<@USE_ELF@<${USE_ELF}<g" \
3302 -e "s<@RBDIR@<${rbdir}<g" \
3303 -e "s<@binpath@<${bindir}<g" \
3304 -e "s<@libpath@<${libdir}<g" \
3305 -e "s<@PREFIX@<$ARG_PREFIX<g" \
3306 -e "s<@CMDLINE@<$cmdline<g" \
3307 -e "s<@SDLCONFIG@<$sdl<g" \
3309 ## Automatically generated. http://www.rockbox.org/
3311 export ROOTDIR=@ROOTDIR@
3312 export FIRMDIR=@FIRMDIR@
3313 export APPSDIR=@APPSDIR@
3314 export TOOLSDIR=@TOOLSDIR@
3315 export DOCSDIR=\$(ROOTDIR)/docs
3316 export MANUALDIR=\${ROOTDIR}/manual
3317 export DEBUG=@DEBUG@
3318 export MODELNAME=@MODELNAME@
3319 export ARCHOSROM=@ARCHOSROM@
3320 export FLASHFILE=@FLASHFILE@
3321 export TARGET_ID=@TARGET_ID@
3322 export TARGET=@TARGET@
3324 export MANUFACTURER=@MANUFACTURER@
3326 export BUILDDIR=@PWD@
3327 export LANGUAGE=@LANGUAGE@
3328 export VOICELANGUAGE=@VOICELANGUAGE@
3329 export MEMORYSIZE=@MEMORY@
3330 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3331 export MKFIRMWARE=@TOOL@
3332 export BMP2RB_MONO=@BMP2RB_MONO@
3333 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3334 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3335 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3336 export BINARY=@OUTPUT@
3337 export APPEXTRA=@APPEXTRA@
3338 export ENABLEDPLUGINS=@PLUGINS@
3339 export SOFTWARECODECS=@CODECS@
3340 export EXTRA_DEFINES=@EXTRADEF@
3341 export HOSTCC=@HOSTCC@
3342 export HOSTAR=@HOSTAR@
3348 export WINDRES=@WINDRES@
3349 export DLLTOOL=@DLLTOOL@
3350 export DLLWRAP=@DLLWRAP@
3351 export RANLIB=@RANLIB@
3352 export PREFIX=@PREFIX@
3353 export PROFILE_OPTS=@PROFILE_OPTS@
3354 export APP_TYPE=@APP_TYPE@
3355 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3356 export GCCOPTS=@GCCOPTS@
3357 export TARGET_INC=@TARGET_INC@
3358 export LOADADDRESS=@LOADADDRESS@
3359 export SHARED_FLAG=@SHARED_FLAG@
3360 export LDOPTS=@LDOPTS@
3361 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3362 export GCCVER=@GCCVER@
3363 export GCCNUM=@GCCNUM@
3364 export UNAME=@UNAME@
3365 export MANUALDEV=@MANUALDEV@
3366 export TTS_OPTS=@TTS_OPTS@
3367 export TTS_ENGINE=@TTS_ENGINE@
3368 export ENC_OPTS=@ENC_OPTS@
3369 export ENCODER=@ENCODER@
3370 export USE_ELF=@USE_ELF@
3371 export RBDIR=@RBDIR@
3372 export ROCKBOX_BINARY_PATH=@binpath@
3373 export ROCKBOX_LIBRARY_PATH=@libpath@
3374 export SDLCONFIG=@SDLCONFIG@
3376 CONFIGURE_OPTIONS=@CMDLINE@
3378 include \$(TOOLSDIR)/root.make
3382 echo "Created Makefile"