3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 # global CC options for all platforms
12 CCOPTS
="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe -std=gnu99"
14 # global LD options for all platforms
18 use_logf
="#undef ROCKBOX_HAS_LOGF"
19 use_bootchart
="#undef DO_BOOTCHART"
21 scriptver
=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
33 # Begin Function Definitions
43 WINDRES
=${prefix}windres
44 DLLTOOL
=${prefix}dlltool
45 DLLWRAP
=${prefix}dllwrap
46 RANLIB
=${prefix}ranlib
54 echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
55 if [ -z "$ARG_PLATFORM" ]; then
58 choice
="$ARG_PLATFORM"
62 s|S
*) app_platform
="sdl" ;;
63 *|a|A
*) app_platform
="android" ;;
66 echo "Selected $app_platform platform"
67 echo "Enter the LCD width (default: 320)"
68 if [ -z "$ARG_LCDWIDTH" ]; then
71 app_lcd_width
="$ARG_LCDWIDTH"
73 if [ -z "$app_lcd_width" ]; then app_lcd_width
="320"; fi
74 echo "Enter the LCD height (default: 480)"
75 if [ -z "$ARG_LCDHEIGHT" ]; then
76 app_lcd_height
=`input`
78 app_lcd_height
="$ARG_LCDHEIGHT"
80 if [ -z "$app_lcd_height" ]; then app_lcd_height
="480"; fi
81 echo "Selected $app_lcd_width x $app_lcd_height resolution"
82 ARG_LCDWIDTH
=$app_lcd_width
83 ARG_LCDHEIGHT
=$app_lcd_height
85 app_lcd_width
="#define LCD_WIDTH $app_lcd_width"
86 app_lcd_height
="#define LCD_HEIGHT $app_lcd_height"
87 # setup files and paths depending on the platform
88 if [ "$app_platform" = "sdl" ]; then
89 if [ -z "$ARG_PREFIX" ]; then
90 sharedir
="/usr/local/share/rockbox"
91 bindir
="/usr/local/bin"
92 libdir
="/usr/local/lib"
94 if [ -d "$ARG_PREFIX" ]; then
95 if [ -z `echo $ARG_PREFIX | grep "^/"` ]; then
96 ARG_PREFIX
=`realpath $ARG_PREFIX`
97 if [ "0" != "$?" ]; then
98 echo "ERROR: Could not get prefix path (is realpath installed?)."
102 sharedir
="$ARG_PREFIX/share/rockbox"
103 bindir
="$ARG_PREFIX/bin"
104 libdir
="$ARG_PREFIX/lib"
106 echo "ERROR: PREFIX does not exist"
112 elif [ "$app_platform" = "android" ]; then
113 if [ -n "$PREFIX" ]; then
114 echo "WARNING: PREFIX not supported on Android. You can however use --rbdir"
116 if [ -z "$ANDROID_SDK_PATH" ]; then
117 echo "ERROR: You need the Android SDK installed and have the ANDROID_SDK_PATH"
118 echo "environment variable point to the root directory of the Android SDK."
121 if [ -z "$ANDROID_NDK_PATH" ]; then
122 echo "ERROR: You need the Android NDK installed (r5 or higher) and have the ANDROID_NDK_PATH"
123 echo "environment variable point to the root directory of the Android NDK."
126 sharedir
="/data/data/org.rockbox/app_rockbox/rockbox"
127 bindir
="/data/data/org.rockbox/lib"
128 libdir
="/data/data/org.rockbox/app_rockbox"
129 output
="librockbox.so"
130 bootoutput
="librockbox.so"
135 if [ "$ARG_ARM_EABI" != "0" ]; then
136 prefixtools arm-elf-eabi-
144 # scan the $PATH for the given command
151 # echo "checks for $file in $path" >&2
152 if test -f "$path/$file"; then
157 # check whether caller wants literal return value if not found
158 if [ "$2" = "--lit" ]; then
163 # scan the $PATH for sdl-config - check whether for a (cross-)win32
172 #echo "checks for $file in $path" >&2
173 if test -f "$path/$file"; then
174 if [ "0" != `$path/$file --libs |grep -c mwindows` ]; then
175 if [ "yes" = "${winbuild}" ]; then
180 if [ "yes" != "${winbuild}" ]; then
190 if [ "$1" = "sdl" ]; then
192 elif [ "$1" = "android" ]; then
200 # default tool setup for native building
201 prefixtools
"$CROSS_COMPILE"
202 ARG_ARM_THUMB
=0 # can't use thumb in native builds
206 GCCOPTS
=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef// -e s/-O//`
207 GCCOPTS
="$GCCOPTS -fno-builtin -g"
209 LDOPTS
='-lm' # button-sdl.c uses sqrt()
211 # default output binary name, don't override app_get_platform()
212 if [ "$app_type" != "sdl-app" ]; then
216 # default share option, override below if needed
217 SHARED_FLAG
="-shared"
219 if [ "$win32crosscompile" = "yes" ]; then
220 LDOPTS
="$LDOPTS -mconsole"
226 echo "Cygwin host detected"
228 LDOPTS
="$LDOPTS -mconsole"
234 echo "MinGW host detected"
236 LDOPTS
="$LDOPTS -mconsole"
242 echo "Linux host detected"
243 LDOPTS
="$LDOPTS -ldl"
247 echo "FreeBSD host detected"
248 LDOPTS
="$LDOPTS -ldl"
252 echo "Darwin host detected"
253 LDOPTS
="$LDOPTS -ldl"
255 SHARED_FLAG
="-dynamiclib -Wl\,-single_module"
259 echo "*Solaris host detected"
261 GCCOPTS
="$GCCOPTS -fPIC"
262 LDOPTS
="$LDOPTS -ldl"
266 echo "[ERROR] Unsupported system: $uname, fix configure and retry"
272 [ "$winbuild" != "yes" ] && GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -Wl,-z,defs"
273 sdl
=`findsdl $winbuild`
275 if [ -n `echo $app_type | grep "sdl"` ]; then
276 if [ -z "$sdl" ]; then
277 echo "configure didn't find sdl-config, which indicates that you"
278 echo "don't have SDL (properly) installed. Please correct and"
279 echo "re-run configure!"
282 # generic sdl-config checker
283 GCCOPTS
="$GCCOPTS `$sdl --cflags`"
284 LDOPTS
="$LDOPTS `$sdl --libs`"
289 GCCOPTS
="$GCCOPTS -I\$(SIMDIR)"
291 if test "X$win32crosscompile" != "Xyes"; then
294 # fPIC is needed to make shared objects link
295 # setting visibility to hidden is necessary to avoid strange crashes
296 # due to symbol clashing
297 GCCOPTS
="$GCCOPTS -fPIC -fvisibility=hidden"
298 # x86_64 supports MMX by default
302 echo "Enabling MMX support"
303 GCCOPTS
="$GCCOPTS -mmmx"
308 cat >$tmpdir/conftest-
$id.c
<<EOF
310 int main(int argc, char **argv)
313 char *varp = (char *)&var;
321 $CC -o $tmpdir/conftest-
$id $tmpdir/conftest-
$id.c
2>/dev
/null
323 # when cross compiling, the endianess cannot be detected because the above program doesn't run
324 # on the local machine. assume little endian but print a warning
325 endian
=`$tmpdir/conftest-$id 2> /dev/null`
326 if [ "$endian" != "" ] && [ $endian -gt "1" ]; then
334 if [ "$CROSS_COMPILE" != "" ]; then
335 echo "WARNING: Cross Compiling, cannot detect endianess. Assuming little endian!"
338 if [ "$app_type" = "sdl-sim" ]; then
339 echo "Simulator environment deemed $endian endian"
340 elif [ "$app_type" = "sdl-app" ]; then
341 echo "Application environment deemed $endian endian"
342 elif [ "$app_type" = "checkwps" ]; then
343 echo "CheckWPS environment deemed $endian endian"
346 # use wildcard here to make it work even if it was named *.exe like
348 rm -f $tmpdir/conftest-
$id*
350 # We are crosscompiling
351 # add cross-compiler option(s)
352 prefixtools i586-mingw32msvc-
353 LDOPTS
="$LDOPTS -mconsole"
354 output
="rockboxui.exe"
355 endian
="little" # windows is little endian
356 echo "Enabling MMX support"
357 GCCOPTS
="$GCCOPTS -mmmx"
362 # functions for setting up cross-compiler names and options
363 # also set endianess and what the exact recommended gcc version is
364 # the gcc version should most likely match what versions we build with
369 GCCOPTS
="$CCOPTS -m1"
370 GCCOPTIMIZE
="-fomit-frame-pointer -fschedule-insns"
376 prefixtools calmrisc16-unknown-elf-
377 GCCOPTS
="-Wl\,--no-check-sections $CCOPTS"
378 GCCOPTIMIZE
="-fomit-frame-pointer"
383 prefixtools m68k-elf-
384 GCCOPTS
="$CCOPTS -mcpu=5249 -malign-int -mstrict-align"
385 GCCOPTIMIZE
="-fomit-frame-pointer"
392 GCCOPTS
="$CCOPTS -mcpu=arm7tdmi"
393 if test "X$1" != "Xshort" -a "$ARG_ARM_EABI" = "0"; then
394 GCCOPTS
="$GCCOPTS -mlong-calls"
396 GCCOPTIMIZE
="-fomit-frame-pointer"
402 GCCOPTS
="$CCOPTS -mcpu=arm9tdmi"
403 if test "$modelname" != "gigabeatfx" -a "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
404 GCCOPTS
="$GCCOPTS -mlong-calls"
406 GCCOPTIMIZE
="-fomit-frame-pointer"
412 GCCOPTS
="$CCOPTS -mbig-endian -mcpu=arm940t"
413 if test "$ARG_ARM_EABI" = "0"; then
414 GCCOPTS
="$GCCOPTS -mlong-calls"
416 GCCOPTIMIZE
="-fomit-frame-pointer"
422 GCCOPTS
="$CCOPTS -mcpu=arm940t"
423 if test "$ARG_ARM_EABI" = "0"; then
424 GCCOPTS
="$GCCOPTS -mlong-calls"
426 GCCOPTIMIZE
="-fomit-frame-pointer"
432 GCCOPTS
="$CCOPTS -mcpu=arm9e"
433 if test "$ARG_ARM_EABI" = "0"; then
434 GCCOPTS
="$GCCOPTS -mlong-calls"
436 GCCOPTIMIZE
="-fomit-frame-pointer"
442 GCCOPTS
="$CCOPTS -mcpu=arm926ej-s"
443 if test "$t_manufacturer" != "as3525" -a "$ARG_ARM_EABI" = "0"; then
444 GCCOPTS
="$GCCOPTS -mlong-calls"
446 GCCOPTIMIZE
="-fomit-frame-pointer"
452 GCCOPTS
="$CCOPTS -mcpu=arm1136jf-s"
453 if test "$modelname" != "gigabeats" -a "$ARG_ARM_EABI" = "0"; then
454 GCCOPTS
="$GCCOPTS -mlong-calls"
456 GCCOPTIMIZE
="-fomit-frame-pointer"
462 GCCOPTS
="$CCOPTS -mcpu=arm1176jz-s"
463 if test "$ARG_ARM_EABI" = "0"; then
464 GCCOPTS
="$GCCOPTS -mlong-calls"
466 GCCOPTIMIZE
="-fomit-frame-pointer"
471 prefixtools mipsel-elf-
472 # mips is predefined, but we want it for paths. use __mips instead
473 GCCOPTS
="$CCOPTS -march=mips32 -mtune=r4600 -mno-mips16 -mno-long-calls -Umips"
474 GCCOPTS
="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses"
475 GCCOPTIMIZE
="-fomit-frame-pointer"
481 buildhost
=`uname | tr [:upper:] [:lower:]`
483 gcctarget
="arm-linux-androideabi-"
484 gccprefix
=$ANDROID_NDK_PATH/toolchains
/$gcctarget$gccchoice/prebuilt
/$buildhost-x86
485 PATH
=$PATH:$gccprefix/bin
486 prefixtools
$gcctarget
487 GCCOPTS
=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//`
488 GCCOPTS
="$GCCOPTS -ffunction-sections -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer \
489 --sysroot=$ANDROID_NDK_PATH/platforms/android-4/arch-arm"
490 GLOBAL_LDOPTS
="$GLOBAL_LDOPTS -nostdlib -lc -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack \
491 --sysroot=$ANDROID_NDK_PATH/platforms/android-4/arch-arm"
492 LDOPTS
="$LDOPTS -shared -nostdlib -ldl -llog"
493 extradefines
="$extradefines -DANDROID"
495 SHARED_FLAG
="-shared"
499 atype
=`echo "$1" | cut -c 2-`
500 ##################################################################
501 # Prompt for specific developer options
503 if [ "$atype" ]; then
508 printf "Enter your developer options (press only enter when done)\n\
509 (D)EBUG, (L)ogf, Boot(c)hart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile,\n\
510 (T)est plugins, S(m)all C lib:"
511 if [ "$memory" = "2" ]; then
514 if [ "$modelname" = "archosplayer" ]; then
515 printf ", Use (A)TA poweroff"
517 if [ "$t_model" = "ondio" ]; then
518 printf ", (B)acklight MOD"
520 if [ "$modelname" = "iaudiom5" ]; then
521 printf ", (F)M radio MOD"
523 if [ "$modelname" = "iriverh120" ]; then
530 while [ $cont = "1" ]; do
532 if [ "$interact" ]; then
535 option
=`echo "$atype" | cut -c 1`
540 if [ "yes" = "$profile" ]; then
541 echo "Debug is incompatible with profiling"
543 echo "DEBUG build enabled"
548 echo "logf() support enabled"
552 echo "Using Rockbox' small C library"
553 extradefines
="$extradefines -DHAVE_ROCKBOX_C_LIBRARY"
556 echo "Including test plugins"
557 extradefines
="$extradefines -DHAVE_TEST_PLUGINS"
560 echo "bootchart enabled (logf also enabled)"
565 echo "Simulator build enabled"
569 if [ "yes" = "$use_debug" ]; then
570 echo "Profiling is incompatible with debug"
572 echo "Profiling support is enabled"
577 echo "Voice build selected"
581 if [ "$memory" = "2" ]; then
583 echo "Memory size selected: 8MB"
587 if [ "$modelname" = "archosplayer" ]; then
588 have_ata_poweroff
="#define HAVE_ATA_POWER_OFF"
589 echo "ATA power off enabled"
593 if [ "$t_model" = "ondio" ]; then
594 have_backlight
="#define HAVE_BACKLIGHT"
595 echo "Backlight functions enabled"
599 if [ "$modelname" = "iaudiom5" ]; then
600 have_fmradio_in
="#define HAVE_FMRADIO_IN"
601 echo "FM radio functions enabled"
605 if [ "$modelname" = "iriverh120" ]; then
606 config_rtc
="#define CONFIG_RTC RTC_DS1339_DS3231"
607 have_rtc_alarm
="#define HAVE_RTC_ALARM"
608 echo "RTC functions enabled (DS1339/DS3231)"
612 echo "Enabling Windows 32 cross-compiling"
613 win32crosscompile
="yes"
615 "") # Match enter press when finished with advanced options
619 echo "[ERROR] Option $option unsupported"
622 if [ "$interact" ]; then
623 btype
="$btype$option"
625 atype
=`echo "$atype" | cut -c 2-`
626 [ "$atype" ] || cont
=0
631 if [ "yes" = "$voice" ]; then
632 # Ask about languages to build
634 voicelanguage
=`whichlang`
635 echo "Voice language set to $voicelanguage"
637 # Configure encoder and TTS engine for each language
638 for thislang
in `echo $voicelanguage | sed 's/,/ /g'`; do
639 voiceconfig
"$thislang"
642 if [ "yes" = "$use_debug" ]; then
644 GCCOPTS
="$GCCOPTS -g -DDEBUG"
646 if [ "yes" = "$logf" ]; then
647 use_logf
="#define ROCKBOX_HAS_LOGF 1"
649 if [ "yes" = "$bootchart" ]; then
650 use_bootchart
="#define DO_BOOTCHART 1"
652 if [ "yes" = "$simulator" ]; then
654 extradefines
="$extradefines -DSIMULATOR"
658 if [ "yes" = "$profile" ]; then
659 extradefines
="$extradefines -DRB_PROFILE"
660 PROFILE_OPTS
="-finstrument-functions"
664 # Configure voice settings
667 if [ ! "$ARG_TTS" ]; then
668 echo "Building $thislang voice for $modelname. Select options"
672 if [ -n "`findtool flite`" ]; then
676 DEFAULT_TTS_OPTS
=$FLITE_OPTS
677 DEFAULT_NOISEFLOOR
="500"
680 if [ -n "`findtool espeak`" ]; then
684 DEFAULT_TTS_OPTS
=$ESPEAK_OPTS
685 DEFAULT_NOISEFLOOR
="500"
688 if [ -n "`findtool festival`" ]; then
689 FESTIVAL
="(F)estival "
692 FESTIVAL_OPTS
="--language italian"
695 FESTIVAL_OPTS
="--language spanish"
698 FESTIVAL_OPTS
="--language finnish"
701 FESTIVAL_OPTS
="--language czech"
707 DEFAULT_TTS
="festival"
708 DEFAULT_TTS_OPTS
=$FESTIVAL_OPTS
709 DEFAULT_NOISEFLOOR
="500"
712 if [ -n "`findtool swift`" ]; then
716 DEFAULT_TTS_OPTS
=$SWIFT_OPTS
717 DEFAULT_NOISEFLOOR
="500"
720 # Allow SAPI if Windows is in use
721 if [ -n "`findtool winver`" ]; then
725 DEFAULT_TTS_OPTS
=$SAPI_OPTS
726 DEFAULT_NOISEFLOOR
="500"
730 if [ "$FESTIVAL" = "$FLITE" ] && [ "$FLITE" = "$ESPEAK" ] && [ "$ESPEAK" = "$SAPI" ] && [ "$SAPI" = "$SWIFT" ]; then
731 echo "You need Festival, eSpeak or Flite in your path, or SAPI available to build voice files"
735 if [ "$ARG_TTS" ]; then
738 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}${SAPI}${SWIFT}(${DEFAULT_CHOICE})?"
741 advopts
="$advopts --tts=$option"
745 NOISEFLOOR
="500" # TODO: check this value
751 TTS_OPTS
=$ESPEAK_OPTS
754 TTS_ENGINE
="festival"
756 TTS_OPTS
=$FESTIVAL_OPTS
769 TTS_ENGINE
=$DEFAULT_TTS
770 TTS_OPTS
=$DEFAULT_TTS_OPTS
771 NOISEFLOOR
=$DEFAULT_NOISEFLOOR
773 echo "Using $TTS_ENGINE for TTS"
775 # Select which voice to use for Festival
776 if [ "$TTS_ENGINE" = "festival" ]; then
777 voicelist
=`echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1/'|sort`
778 for voice
in $voicelist; do
779 TTS_FESTIVAL_VOICE
="$voice" # Default choice
782 if [ "$ARG_VOICE" ]; then
786 for voice
in $voicelist; do
787 printf "%3d. %s\n" "$i" "$voice"
790 printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
794 for voice
in $voicelist; do
795 if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
796 TTS_FESTIVAL_VOICE
="$voice"
800 advopts
="$advopts --voice=$CHOICE"
801 echo "Festival voice set to $TTS_FESTIVAL_VOICE"
802 echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
805 # Read custom tts options from command line
806 if [ "$ARG_TTSOPTS" ]; then
807 TTS_OPTS
="$ARG_TTSOPTS"
808 advopts
="$advopts --ttsopts='$TTS_OPTS'"
809 echo "$TTS_ENGINE options set to $TTS_OPTS"
812 if [ "$swcodec" = "yes" ]; then
815 ENC_OPTS
="-q 4 -c 10"
817 if [ -n "`findtool lame`" ]; then
820 ENC_OPTS
="--resample 12 -t -m m -h -V 9.999 -S -B 64 --vbr-new"
822 echo "You need LAME in the system path to build voice files for"
823 echo "HWCODEC targets."
828 echo "Using $ENCODER for encoding voice clips"
830 # Read custom encoder options from command line
831 if [ "$ARG_ENCOPTS" ]; then
832 ENC_OPTS
="$ARG_ENCOPTS"
833 advopts
="$advopts --encopts='$ENC_OPTS'"
834 echo "$ENCODER options set to $ENC_OPTS"
838 if [ -n "`findtool cygpath`" ]; then
839 TEMPDIR
=`cygpath . -a -w`
844 # figure out which languages that are around
845 for file in $rootdir/apps
/lang
/*.lang
; do
846 clean
=`basename $file .lang`
847 langs
="$langs $clean"
850 if [ "$ARG_LANG" ]; then
853 echo "Select a number for the language to use (default is english)"
854 # FIXME The multiple-language feature is currently broken
855 # echo "You may enter a comma-separated list of languages to build"
858 for one
in $langs; do
864 advopts
="$advopts --language=$pick"
869 # Allow the user to pass a comma-separated list of langauges
870 for thispick
in `echo $pick | sed 's/,/ /g'`; do
872 for one
in $langs; do
873 # Accept both the language number and name
874 if [ "$num" = "$thispick" ] ||
[ "$thispick" = "$one" ]; then
875 if [ "$output" = "" ]; then
884 if [ -z "$output" ]; then
892 echo "Rockbox configure script."
893 echo "Invoke this in a directory to generate a Makefile to build Rockbox"
894 echo "Do *NOT* run this within the tools directory!"
897 Usage: configure [OPTION]...
899 --target=TARGET Sets the target, TARGET can be either the target ID or
900 corresponding string. Run without this option to see all
903 --ram=RAM Sets the RAM for certain targets. Even though any number
904 is accepted, not every number is correct. The default
905 value will be applied, if you entered a wrong number
906 (which depends on the target). Watch the output. Run
907 without this option if you are not sure which the right
910 --type=TYPE Sets the build type. Shortcuts are also valid.
911 Run without this option to see all available types.
912 Multiple values are allowed and managed in the input
913 order. So --type=b stands for Bootloader build, while
914 --type=ab stands for "Backlight MOD" build.
916 --language=LANG Set the language used for voice generation (used only if
919 --tts=ENGINE Set the TTS engine used for voice generation (used only
922 --voice=VOICE Set voice to use with selected TTS (used only if TYPE is
925 --ttsopts=OPTS Set TTS engine manual options (used only if TYPE is AV).
927 --encopts=OPTS Set encoder manual options (used only if ATYPE is AV).
929 --rbdir=dir Use alternative rockbox directory (default: ${rbdir}).
930 This is useful for having multiple alternate builds on
931 your device that you can load with ROLO. However as the
932 bootloader looks for .rockbox you won't be able to boot
935 --ccache Enable ccache use (done by default these days)
936 --no-ccache Disable ccache use
938 --eabi Make configure prefer toolchains that are able to compile
939 for the new ARM standard abi EABI
940 --no-eabi The opposite of --eabi (prefer old non-eabi toolchains)
941 --thumb Build with -mthumb (for ARM builds)
942 --no-thumb The opposite of --thumb (don't use thumb even for targets
943 where this is the default
944 --prefix Target installation directory
945 --help Shows this message (must not be used with other options)
968 --ccache) ARG_CCACHE
=1;;
969 --no-ccache) ARG_CCACHE
=0;;
970 --encopts=*) ARG_ENCOPTS
=`echo "$arg" | cut -d = -f 2`;;
971 --language=*) ARG_LANG
=`echo "$arg" | cut -d = -f 2`;;
972 --lcdwidth=*) ARG_LCDWIDTH
=`echo "$arg" | cut -d = -f 2`;;
973 --lcdheight=*) ARG_LCDHEIGHT
=`echo "$arg" | cut -d = -f 2`;;
974 --platform=*) ARG_PLATFORM
=`echo "$arg" | cut -d = -f 2`;;
975 --ram=*) ARG_RAM
=`echo "$arg" | cut -d = -f 2`;;
976 --rbdir=*) ARG_RBDIR
=`echo "$arg" | cut -d = -f 2`;;
977 --target=*) ARG_TARGET
=`echo "$arg" | cut -d = -f 2`;;
978 --tts=*) ARG_TTS
=`echo "$arg" | cut -d = -f 2`;;
979 --ttsopts=*) ARG_TTSOPTS
=`echo "$arg" | cut -d = -f 2`;;
980 --type=*) ARG_TYPE
=`echo "$arg" | cut -d = -f 2`;;
981 --voice=*) ARG_VOICE
=`echo "$arg" | cut -d = -f 2`;;
982 --eabi) ARG_ARM_EABI
=1;;
983 --no-eabi) ARG_ARM_EABI
=0;;
984 --thumb) ARG_ARM_THUMB
=1;;
985 --no-thumb) ARG_ARM_THUMB
=0;;
986 --prefix=*) ARG_PREFIX
=`echo "$arg" | cut -d = -f 2`;;
988 *) err
=1; echo "[ERROR] Option '$arg' unsupported";;
995 if [ "$TMPDIR" != "" ]; then
1000 echo Using temporary directory
$tmpdir
1002 if test -r "configure"; then
1003 # this is a check for a configure script in the current directory, it there
1004 # is one, try to figure out if it is this one!
1006 if { grep "^# Jukebox" configure
>/dev
/null
2>&1 ; } then
1007 echo "WEEEEEEEEP. Don't run this configure script within the tools directory."
1008 echo "It will only cause you pain and grief. Instead do this:"
1011 echo " mkdir build-dir"
1012 echo " cd build-dir"
1013 echo " ../tools/configure"
1015 echo "Much happiness will arise from this. Enjoy"
1020 # get our current directory
1023 if { echo $pwd |
grep " "; } then
1024 echo "You're running this script in a path that contains space. The build"
1025 echo "system is unfortunately not clever enough to deal with this. Please"
1026 echo "run the script from a different path, rename the path or fix the build"
1031 if [ -z "$rootdir" ]; then
1032 ##################################################################
1033 # Figure out where the source code root is!
1035 rootdir
=`dirname $0`/..
/
1037 #####################################################################
1038 # Convert the possibly relative directory name to an absolute version
1044 # cd back to the build dir
1049 appsdir
='\$(ROOTDIR)/apps'
1050 firmdir
='\$(ROOTDIR)/firmware'
1051 toolsdir
='\$(ROOTDIR)/tools'
1054 ##################################################################
1055 # Figure out target platform
1058 if [ "$ARG_TARGET" ]; then
1059 buildfor
=$ARG_TARGET
1061 echo "Enter target platform:"
1063 ==Archos== ==iriver== ==Apple iPod==
1064 0) Player/Studio 10) H120/H140 20) Color/Photo
1065 1) Recorder 11) H320/H340 21) Nano 1G
1066 2) FM Recorder 12) iHP-100/110/115 22) Video
1067 3) Recorder v2 13) iFP-790 23) 3G
1068 4) Ondio SP 14) H10 20Gb 24) 4G Grayscale
1069 5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
1070 6) AV300 26) Mini 2G
1071 ==Toshiba== 27) 1G, 2G
1072 ==Cowon/iAudio== 40) Gigabeat F/X 28) Nano 2G
1073 30) X5/X5V/X5L 41) Gigabeat S 29) Classic/6G
1075 32) 7 ==Olympus= ==SanDisk==
1076 33) D2 70) M:Robe 500 50) Sansa e200
1077 34) M3/M3L 71) M:Robe 100 51) Sansa e200R
1079 ==Creative== ==Philips== 53) Sansa m200
1080 90) Zen Vision:M 30GB 100) GoGear SA9200 54) Sansa c100
1081 91) Zen Vision:M 60GB 101) GoGear HDD1630/ 55) Sansa Clip
1082 92) Zen Vision HDD1830 56) Sansa e200v2
1083 102) GoGear HDD6330 57) Sansa m200v4
1084 ==Onda== 58) Sansa Fuze
1085 120) VX747 ==Meizu== 59) Sansa c200v2
1086 121) VX767 110) M6SL 60) Sansa Clipv2
1087 122) VX747+ 111) M6SP 61) Sansa View
1088 123) VX777 112) M3 62) Sansa Clip+
1090 ==Samsung== ==Tatung==
1091 140) YH-820 150) Elio TPJ-1022 ==Logik==
1092 141) YH-920 80) DAX 1GB MP3/DAB
1093 142) YH-925 ==Packard Bell==
1094 143) YP-S3 160) Vibe 500 ==Lyre project==
1096 ==MPIO== == Application == 131) Mini2440
1097 170) HD200 200) Application
1105 # Set of tools built for all target platforms:
1106 toolset
="rdf2binary convbdf codepages"
1108 # Toolsets for some target families:
1109 archosbitmaptools
="$toolset scramble descramble sh2d uclpack bmp2rb"
1110 iriverbitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1111 iaudiobitmaptools
="$toolset scramble descramble mkboot bmp2rb"
1112 ipodbitmaptools
="$toolset scramble bmp2rb"
1113 gigabeatbitmaptools
="$toolset scramble descramble bmp2rb"
1114 tccbitmaptools
="$toolset scramble bmp2rb"
1115 # generic is used by IFP, Meizu and Onda
1116 genericbitmaptools
="$toolset bmp2rb"
1117 # scramble is used by all other targets
1118 scramblebitmaptools
="$genericbitmaptools scramble"
1121 # ---- For each target ----
1124 # target_id: a unique number identifying this target, IS NOT the menu number.
1125 # Just use the currently highest number+1 when you add a new
1127 # modelname: short model name used all over to identify this target
1128 # memory: number of megabytes of RAM this target has. If the amount can
1129 # be selected by the size prompt, let memory be unset here
1130 # target: -Ddefine passed to the build commands to make the correct
1131 # config-*.h file get included etc
1132 # tool: the tool that takes a plain binary and converts that into a
1133 # working "firmware" file for your target
1134 # output: the final output file name
1135 # boottool: the tool that takes a plain binary and generates a bootloader
1136 # file for your target (or blank to use $tool)
1137 # bootoutput:the final output file name for the bootloader (or blank to use
1139 # appextra: passed to the APPEXTRA variable in the Makefiles.
1140 # TODO: add proper explanation
1141 # archosrom: used only for Archos targets that build a special flashable .ucl
1143 # flash: name of output for flashing, for targets where there's a special
1144 # file output for this.
1145 # plugins: set to 'yes' to build the plugins. Early development builds can
1146 # set this to no in the early stages to have an easier life for a
1148 # swcodec: set 'yes' on swcodec targets
1149 # toolset: lists what particular tools in the tools/ directory that this
1150 # target needs to have built prior to building Rockbox
1153 # *cc: sets up gcc and compiler options for your target builds. Note
1154 # that if you select a simulator build, the compiler selection is
1155 # overridden later in the script.
1161 modelname
="archosplayer"
1162 target
="-DARCHOS_PLAYER"
1164 tool
="$rootdir/tools/scramble"
1166 appextra
="player:gui"
1167 archosrom
="$pwd/rombox.ucl"
1168 flash
="$pwd/rockbox.ucl"
1172 # toolset is the tools within the tools directory that we build for
1173 # this particular target.
1174 toolset
="$toolset scramble descramble sh2d player_unifont uclpack"
1176 # Note: the convbdf is present in the toolset just because: 1) the
1177 # firmware/Makefile assumes it is present always, and 2) we will need it when we
1178 # build the player simulator
1181 t_manufacturer
="archos"
1187 modelname
="archosrecorder"
1188 target
="-DARCHOS_RECORDER"
1190 tool
="$rootdir/tools/scramble"
1191 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1192 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1194 appextra
="recorder:gui:radio"
1195 #archosrom="$pwd/rombox.ucl"
1196 flash
="$pwd/rockbox.ucl"
1199 # toolset is the tools within the tools directory that we build for
1200 # this particular target.
1201 toolset
=$archosbitmaptools
1203 t_manufacturer
="archos"
1209 modelname
="archosfmrecorder"
1210 target
="-DARCHOS_FMRECORDER"
1212 tool
="$rootdir/tools/scramble -fm"
1213 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1214 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1216 appextra
="recorder:gui:radio"
1217 #archosrom="$pwd/rombox.ucl"
1218 flash
="$pwd/rockbox.ucl"
1221 # toolset is the tools within the tools directory that we build for
1222 # this particular target.
1223 toolset
=$archosbitmaptools
1225 t_manufacturer
="archos"
1231 modelname
="archosrecorderv2"
1232 target
="-DARCHOS_RECORDERV2"
1234 tool
="$rootdir/tools/scramble -v2"
1235 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1236 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1238 appextra
="recorder:gui:radio"
1239 #archosrom="$pwd/rombox.ucl"
1240 flash
="$pwd/rockbox.ucl"
1243 # toolset is the tools within the tools directory that we build for
1244 # this particular target.
1245 toolset
=$archosbitmaptools
1247 t_manufacturer
="archos"
1253 modelname
="archosondiosp"
1254 target
="-DARCHOS_ONDIOSP"
1256 tool
="$rootdir/tools/scramble -osp"
1257 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1258 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1260 appextra
="recorder:gui:radio"
1261 #archosrom="$pwd/rombox.ucl"
1262 flash
="$pwd/rockbox.ucl"
1265 # toolset is the tools within the tools directory that we build for
1266 # this particular target.
1267 toolset
=$archosbitmaptools
1269 t_manufacturer
="archos"
1275 modelname
="archosondiofm"
1276 target
="-DARCHOS_ONDIOFM"
1278 tool
="$rootdir/tools/scramble -ofm"
1279 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1280 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1282 appextra
="recorder:gui:radio"
1283 #archosrom="$pwd/rombox.ucl"
1284 flash
="$pwd/rockbox.ucl"
1287 toolset
=$archosbitmaptools
1289 t_manufacturer
="archos"
1295 modelname
="archosav300"
1296 target
="-DARCHOS_AV300"
1299 tool
="$rootdir/tools/scramble -mm=C"
1300 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1301 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1303 appextra
="recorder:gui:radio"
1306 # toolset is the tools within the tools directory that we build for
1307 # this particular target.
1308 toolset
="$toolset scramble descramble bmp2rb"
1309 # architecture, manufacturer and model for the target-tree build
1311 t_manufacturer
="archos"
1317 modelname
="iriverh120"
1318 target
="-DIRIVER_H120"
1321 tool
="$rootdir/tools/scramble -add=h120"
1322 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1323 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1324 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1325 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1326 output
="rockbox.iriver"
1327 bootoutput
="bootloader.iriver"
1328 appextra
="recorder:gui:radio"
1329 flash
="$pwd/rombox.iriver"
1332 # toolset is the tools within the tools directory that we build for
1333 # this particular target.
1334 toolset
=$iriverbitmaptools
1336 t_manufacturer
="iriver"
1342 modelname
="iriverh300"
1343 target
="-DIRIVER_H300"
1346 tool
="$rootdir/tools/scramble -add=h300"
1347 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1348 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1349 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1350 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1351 output
="rockbox.iriver"
1352 appextra
="recorder:gui:radio"
1355 # toolset is the tools within the tools directory that we build for
1356 # this particular target.
1357 toolset
=$iriverbitmaptools
1359 t_manufacturer
="iriver"
1365 modelname
="iriverh100"
1366 target
="-DIRIVER_H100"
1369 tool
="$rootdir/tools/scramble -add=h100"
1370 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1371 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1372 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1373 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1374 output
="rockbox.iriver"
1375 bootoutput
="bootloader.iriver"
1376 appextra
="recorder:gui:radio"
1377 flash
="$pwd/rombox.iriver"
1380 # toolset is the tools within the tools directory that we build for
1381 # this particular target.
1382 toolset
=$iriverbitmaptools
1384 t_manufacturer
="iriver"
1390 modelname
="iriverifp7xx"
1391 target
="-DIRIVER_IFP7XX"
1395 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1396 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1397 output
="rockbox.wma"
1398 appextra
="recorder:gui:radio"
1401 # toolset is the tools within the tools directory that we build for
1402 # this particular target.
1403 toolset
=$genericbitmaptools
1405 t_manufacturer
="pnx0101"
1406 t_model
="iriver-ifp7xx"
1411 modelname
="iriverh10"
1412 target
="-DIRIVER_H10"
1415 tool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBOS"
1416 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1417 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1418 output
="rockbox.mi4"
1419 appextra
="recorder:gui:radio"
1422 boottool
="$rootdir/tools/scramble -mi4v3 -model=h10 -type=RBBL"
1423 bootoutput
="H10_20GC.mi4"
1424 # toolset is the tools within the tools directory that we build for
1425 # this particular target.
1426 toolset
=$scramblebitmaptools
1427 # architecture, manufacturer and model for the target-tree build
1429 t_manufacturer
="iriver"
1435 modelname
="iriverh10_5gb"
1436 target
="-DIRIVER_H10_5GB"
1439 tool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBOS"
1440 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1441 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1442 output
="rockbox.mi4"
1443 appextra
="recorder:gui:radio"
1446 boottool
="$rootdir/tools/scramble -mi4v2 -model=h105 -type=RBBL"
1447 bootoutput
="H10.mi4"
1448 # toolset is the tools within the tools directory that we build for
1449 # this particular target.
1450 toolset
=$scramblebitmaptools
1451 # architecture, manufacturer and model for the target-tree build
1453 t_manufacturer
="iriver"
1459 modelname
="ipodcolor"
1460 target
="-DIPOD_COLOR"
1463 tool
="$rootdir/tools/scramble -add=ipco"
1464 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1465 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1466 output
="rockbox.ipod"
1467 appextra
="recorder:gui:radio"
1470 bootoutput
="bootloader-$modelname.ipod"
1471 # toolset is the tools within the tools directory that we build for
1472 # this particular target.
1473 toolset
=$ipodbitmaptools
1474 # architecture, manufacturer and model for the target-tree build
1476 t_manufacturer
="ipod"
1482 modelname
="ipodnano1g"
1483 target
="-DIPOD_NANO"
1486 tool
="$rootdir/tools/scramble -add=nano"
1487 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1488 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
1489 output
="rockbox.ipod"
1490 appextra
="recorder:gui:radio"
1493 bootoutput
="bootloader-$modelname.ipod"
1494 # toolset is the tools within the tools directory that we build for
1495 # this particular target.
1496 toolset
=$ipodbitmaptools
1497 # architecture, manufacturer and model for the target-tree build
1499 t_manufacturer
="ipod"
1505 modelname
="ipodvideo"
1506 target
="-DIPOD_VIDEO"
1507 memory
=64 # always. This is reduced at runtime if needed
1509 tool
="$rootdir/tools/scramble -add=ipvd"
1510 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1511 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1512 output
="rockbox.ipod"
1513 appextra
="recorder:gui:radio"
1516 bootoutput
="bootloader-$modelname.ipod"
1517 # toolset is the tools within the tools directory that we build for
1518 # this particular target.
1519 toolset
=$ipodbitmaptools
1520 # architecture, manufacturer and model for the target-tree build
1522 t_manufacturer
="ipod"
1532 tool
="$rootdir/tools/scramble -add=ip3g"
1533 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1534 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1535 output
="rockbox.ipod"
1536 appextra
="recorder:gui:radio"
1539 bootoutput
="bootloader-$modelname.ipod"
1540 # toolset is the tools within the tools directory that we build for
1541 # this particular target.
1542 toolset
=$ipodbitmaptools
1543 # architecture, manufacturer and model for the target-tree build
1545 t_manufacturer
="ipod"
1555 tool
="$rootdir/tools/scramble -add=ip4g"
1556 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1557 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1558 output
="rockbox.ipod"
1559 appextra
="recorder:gui:radio"
1562 bootoutput
="bootloader-$modelname.ipod"
1563 # toolset is the tools within the tools directory that we build for
1564 # this particular target.
1565 toolset
=$ipodbitmaptools
1566 # architecture, manufacturer and model for the target-tree build
1568 t_manufacturer
="ipod"
1574 modelname
="ipodmini1g"
1575 target
="-DIPOD_MINI"
1578 tool
="$rootdir/tools/scramble -add=mini"
1579 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1580 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1581 output
="rockbox.ipod"
1582 appextra
="recorder:gui:radio"
1585 bootoutput
="bootloader-$modelname.ipod"
1586 # toolset is the tools within the tools directory that we build for
1587 # this particular target.
1588 toolset
=$ipodbitmaptools
1589 # architecture, manufacturer and model for the target-tree build
1591 t_manufacturer
="ipod"
1597 modelname
="ipodmini2g"
1598 target
="-DIPOD_MINI2G"
1601 tool
="$rootdir/tools/scramble -add=mn2g"
1602 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1603 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1604 output
="rockbox.ipod"
1605 appextra
="recorder:gui:radio"
1608 bootoutput
="bootloader-$modelname.ipod"
1609 # toolset is the tools within the tools directory that we build for
1610 # this particular target.
1611 toolset
=$ipodbitmaptools
1612 # architecture, manufacturer and model for the target-tree build
1614 t_manufacturer
="ipod"
1620 modelname
="ipod1g2g"
1621 target
="-DIPOD_1G2G"
1624 tool
="$rootdir/tools/scramble -add=1g2g"
1625 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1626 bmp2rb_native
="$rootdir/tools/bmp2rb -f 6"
1627 output
="rockbox.ipod"
1628 appextra
="recorder:gui:radio"
1631 bootoutput
="bootloader-$modelname.ipod"
1632 # toolset is the tools within the tools directory that we build for
1633 # this particular target.
1634 toolset
=$ipodbitmaptools
1635 # architecture, manufacturer and model for the target-tree build
1637 t_manufacturer
="ipod"
1643 modelname
="ipodnano2g"
1644 target
="-DIPOD_NANO2G"
1647 tool
="$rootdir/tools/scramble -add=nn2g"
1648 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1649 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1650 output
="rockbox.ipod"
1651 appextra
="recorder:gui:radio"
1654 bootoutput
="bootloader-$modelname.ipod"
1655 # toolset is the tools within the tools directory that we build for
1656 # this particular target.
1657 toolset
=$ipodbitmaptools
1658 # architecture, manufacturer and model for the target-tree build
1660 t_manufacturer
="s5l8700"
1661 t_model
="ipodnano2g"
1670 tool
="$rootdir/tools/scramble -add=ip6g"
1671 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1672 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1673 output
="rockbox.ipod"
1674 appextra
="recorder:gui:radio"
1677 bootoutput
="bootloader-$modelname.ipod"
1678 # toolset is the tools within the tools directory that we build for
1679 # this particular target.
1680 toolset
=$ipodbitmaptools
1681 # architecture, manufacturer and model for the target-tree build
1683 t_manufacturer
="s5l8702"
1689 modelname
="iaudiox5"
1690 target
="-DIAUDIO_X5"
1693 tool
="$rootdir/tools/scramble -add=iax5"
1694 boottool
="$rootdir/tools/scramble -iaudiox5"
1695 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1696 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1697 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1698 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1699 output
="rockbox.iaudio"
1700 bootoutput
="x5_fw.bin"
1701 appextra
="recorder:gui:radio"
1704 # toolset is the tools within the tools directory that we build for
1705 # this particular target.
1706 toolset
="$iaudiobitmaptools"
1707 # architecture, manufacturer and model for the target-tree build
1709 t_manufacturer
="iaudio"
1715 modelname
="iaudiom5"
1716 target
="-DIAUDIO_M5"
1719 tool
="$rootdir/tools/scramble -add=iam5"
1720 boottool
="$rootdir/tools/scramble -iaudiom5"
1721 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1722 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
1723 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1724 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 7"
1725 output
="rockbox.iaudio"
1726 bootoutput
="m5_fw.bin"
1727 appextra
="recorder:gui:radio"
1730 # toolset is the tools within the tools directory that we build for
1731 # this particular target.
1732 toolset
="$iaudiobitmaptools"
1733 # architecture, manufacturer and model for the target-tree build
1735 t_manufacturer
="iaudio"
1745 tool
="$rootdir/tools/scramble -add=i7"
1746 boottool
="$rootdir/tools/scramble -tcc=crc"
1747 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1748 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1749 output
="rockbox.iaudio"
1750 appextra
="recorder:gui:radio"
1753 bootoutput
="I7_FW.BIN"
1754 # toolset is the tools within the tools directory that we build for
1755 # this particular target.
1756 toolset
="$tccbitmaptools"
1757 # architecture, manufacturer and model for the target-tree build
1759 t_manufacturer
="tcc77x"
1769 tool
="$rootdir/tools/scramble -add=d2"
1771 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1772 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1774 bootoutput
="bootloader-cowond2.bin"
1775 appextra
="recorder:gui:radio"
1778 toolset
="$tccbitmaptools"
1779 # architecture, manufacturer and model for the target-tree build
1781 t_manufacturer
="tcc780x"
1787 modelname
="iaudiom3"
1788 target
="-DIAUDIO_M3"
1791 tool
="$rootdir/tools/scramble -add=iam3"
1792 boottool
="$rootdir/tools/scramble -iaudiom3"
1793 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1794 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
1795 output
="rockbox.iaudio"
1796 bootoutput
="cowon_m3.bin"
1797 appextra
="recorder:gui:radio"
1800 # toolset is the tools within the tools directory that we build for
1801 # this particular target.
1802 toolset
="$iaudiobitmaptools"
1803 # architecture, manufacturer and model for the target-tree build
1805 t_manufacturer
="iaudio"
1811 modelname
="gigabeatfx"
1812 target
="-DGIGABEAT_F"
1815 tool
="$rootdir/tools/scramble -add=giga"
1816 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1817 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1818 output
="rockbox.gigabeat"
1819 appextra
="recorder:gui:radio"
1822 toolset
=$gigabeatbitmaptools
1823 boottool
="$rootdir/tools/scramble -gigabeat"
1824 bootoutput
="FWIMG01.DAT"
1825 # architecture, manufacturer and model for the target-tree build
1827 t_manufacturer
="s3c2440"
1828 t_model
="gigabeat-fx"
1833 modelname
="gigabeats"
1834 target
="-DGIGABEAT_S"
1837 tool
="$rootdir/tools/scramble -add=gigs"
1838 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1839 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1840 output
="rockbox.gigabeat"
1841 appextra
="recorder:gui:radio"
1844 toolset
="$gigabeatbitmaptools"
1845 boottool
="$rootdir/tools/scramble -gigabeats"
1847 # architecture, manufacturer and model for the target-tree build
1849 t_manufacturer
="imx31"
1850 t_model
="gigabeat-s"
1855 modelname
="mrobe500"
1856 target
="-DMROBE_500"
1859 tool
="$rootdir/tools/scramble -add=m500"
1860 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1861 bmp2rb_native
="$rootdir/tools/bmp2rb -f 8"
1862 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1863 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1864 output
="rockbox.mrobe500"
1865 appextra
="recorder:gui:radio"
1868 toolset
=$gigabeatbitmaptools
1870 bootoutput
="rockbox.mrboot"
1871 # architecture, manufacturer and model for the target-tree build
1873 t_manufacturer
="tms320dm320"
1879 modelname
="mrobe100"
1880 target
="-DMROBE_100"
1883 tool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS"
1884 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1885 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1886 bmp2rb_remotemono
="$rootdir/tools/bmp2rb -f 0"
1887 bmp2rb_remotenative
="$rootdir/tools/bmp2rb -f 0"
1888 output
="rockbox.mi4"
1889 appextra
="recorder:gui:radio"
1892 boottool
="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL"
1893 bootoutput
="pp5020.mi4"
1894 # toolset is the tools within the tools directory that we build for
1895 # this particular target.
1896 toolset
=$scramblebitmaptools
1897 # architecture, manufacturer and model for the target-tree build
1899 t_manufacturer
="olympus"
1905 modelname
="logikdax"
1906 target
="-DLOGIK_DAX"
1909 tool
="$rootdir/tools/scramble -add=ldax"
1910 boottool
="$rootdir/tools/scramble -tcc=crc"
1911 bootoutput
="player.rom"
1912 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1913 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
1914 output
="rockbox.logik"
1915 appextra
="recorder:gui:radio"
1918 # toolset is the tools within the tools directory that we build for
1919 # this particular target.
1920 toolset
=$tccbitmaptools
1921 # architecture, manufacturer and model for the target-tree build
1923 t_manufacturer
="tcc77x"
1929 modelname
="zenvisionm30gb"
1930 target
="-DCREATIVE_ZVM"
1933 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1934 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1935 tool
="$rootdir/tools/scramble -creative=zvm"
1937 output
="rockbox.zvm"
1938 appextra
="recorder:gui:radio"
1941 toolset
=$ipodbitmaptools
1942 boottool
="$rootdir/tools/scramble -creative=zvm -no-ciff"
1943 bootoutput
="rockbox.zvmboot"
1944 # architecture, manufacturer and model for the target-tree build
1946 t_manufacturer
="tms320dm320"
1947 t_model
="creative-zvm"
1952 modelname
="zenvisionm60gb"
1953 target
="-DCREATIVE_ZVM60GB"
1956 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1957 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1958 tool
="$rootdir/tools/scramble -creative=zvm60 -no-ciff"
1960 output
="rockbox.zvm60"
1961 appextra
="recorder:gui:radio"
1964 toolset
=$ipodbitmaptools
1965 boottool
="$rootdir/tools/scramble -creative=zvm60"
1966 bootoutput
="rockbox.zvm60boot"
1967 # architecture, manufacturer and model for the target-tree build
1969 t_manufacturer
="tms320dm320"
1970 t_model
="creative-zvm"
1975 modelname
="zenvision"
1976 target
="-DCREATIVE_ZV"
1979 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
1980 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
1981 tool
="$rootdir/tools/scramble -creative=zenvision -no-ciff"
1984 appextra
="recorder:gui:radio"
1987 toolset
=$ipodbitmaptools
1988 boottool
="$rootdir/tools/scramble -creative=zenvision"
1989 bootoutput
="rockbox.zvboot"
1990 # architecture, manufacturer and model for the target-tree build
1992 t_manufacturer
="tms320dm320"
1993 t_model
="creative-zvm"
1998 modelname
="sansae200"
1999 target
="-DSANSA_E200"
2000 memory
=32 # supposedly
2002 tool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBOS"
2003 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2004 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2005 output
="rockbox.mi4"
2006 appextra
="recorder:gui:radio"
2009 boottool
="$rootdir/tools/scramble -mi4v3 -model=e200 -type=RBBL"
2010 bootoutput
="PP5022.mi4"
2011 # toolset is the tools within the tools directory that we build for
2012 # this particular target.
2013 toolset
=$scramblebitmaptools
2014 # architecture, manufacturer and model for the target-tree build
2016 t_manufacturer
="sandisk"
2017 t_model
="sansa-e200"
2021 # the e200R model is pretty much identical to the e200, it only has a
2022 # different option to the scramble tool when building a bootloader and
2023 # makes the bootloader output file name in all lower case.
2025 modelname
="sansae200r"
2026 target
="-DSANSA_E200"
2027 memory
=32 # supposedly
2029 tool
="$rootdir/tools/scramble -mi4v3 -model=e20r -type=RBOS"
2030 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2031 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2032 output
="rockbox.mi4"
2033 appextra
="recorder:gui:radio"
2036 boottool
="$rootdir/tools/scramble -mi4r -model=e20r -type=RBBL"
2037 bootoutput
="pp5022.mi4"
2038 # toolset is the tools within the tools directory that we build for
2039 # this particular target.
2040 toolset
=$scramblebitmaptools
2041 # architecture, manufacturer and model for the target-tree build
2043 t_manufacturer
="sandisk"
2044 t_model
="sansa-e200"
2049 modelname
="sansac200"
2050 target
="-DSANSA_C200"
2051 memory
=32 # supposedly
2053 tool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBOS"
2054 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2055 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2056 output
="rockbox.mi4"
2057 appextra
="recorder:gui:radio"
2060 boottool
="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
2061 bootoutput
="firmware.mi4"
2062 # toolset is the tools within the tools directory that we build for
2063 # this particular target.
2064 toolset
=$scramblebitmaptools
2065 # architecture, manufacturer and model for the target-tree build
2067 t_manufacturer
="sandisk"
2068 t_model
="sansa-c200"
2073 modelname
="sansam200"
2074 target
="-DSANSA_M200"
2077 tool
="$rootdir/tools/scramble -add=m200"
2078 boottool
="$rootdir/tools/scramble -tcc=crc"
2079 bootoutput
="player.rom"
2080 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2081 bmp2rb_native
="$rootdir/tools/bmp2rb -f 0"
2082 output
="rockbox.m200"
2083 appextra
="recorder:gui:radio"
2086 # toolset is the tools within the tools directory that we build for
2087 # this particular target.
2088 toolset
=$tccbitmaptools
2089 # architecture, manufacturer and model for the target-tree build
2091 t_manufacturer
="tcc77x"
2097 modelname
="sansac100"
2098 target
="-DSANSA_C100"
2101 tool
="$rootdir/tools/scramble -add=c100"
2102 boottool
="$rootdir/tools/scramble -tcc=crc"
2103 bootoutput
="player.rom"
2104 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2105 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2106 output
="rockbox.c100"
2107 appextra
="recorder:gui:radio"
2110 # toolset is the tools within the tools directory that we build for
2111 # this particular target.
2112 toolset
=$tccbitmaptools
2113 # architecture, manufacturer and model for the target-tree build
2115 t_manufacturer
="tcc77x"
2121 modelname
="sansaclip"
2122 target
="-DSANSA_CLIP"
2124 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2125 bmp2rb_native
="$bmp2rb_mono"
2126 tool
="$rootdir/tools/scramble -add=clip"
2127 output
="rockbox.sansa"
2128 bootoutput
="bootloader-clip.sansa"
2129 appextra
="recorder:gui:radio"
2132 toolset
=$scramblebitmaptools
2134 t_manufacturer
="as3525"
2135 t_model
="sansa-clip"
2136 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2138 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2144 modelname
="sansae200v2"
2145 target
="-DSANSA_E200V2"
2147 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2148 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2149 tool
="$rootdir/tools/scramble -add=e2v2"
2150 output
="rockbox.sansa"
2151 bootoutput
="bootloader-e200v2.sansa"
2152 appextra
="recorder:gui:radio"
2155 toolset
=$scramblebitmaptools
2157 t_manufacturer
="as3525"
2158 t_model
="sansa-e200v2"
2165 modelname
="sansam200v4"
2166 target
="-DSANSA_M200V4"
2168 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2169 bmp2rb_native
="$bmp2rb_mono"
2170 tool
="$rootdir/tools/scramble -add=m2v4"
2171 output
="rockbox.sansa"
2172 bootoutput
="bootloader-m200v4.sansa"
2173 appextra
="recorder:gui:radio"
2176 toolset
=$scramblebitmaptools
2178 t_manufacturer
="as3525"
2179 t_model
="sansa-m200v4"
2180 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2182 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2188 modelname
="sansafuze"
2189 target
="-DSANSA_FUZE"
2191 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2192 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2193 tool
="$rootdir/tools/scramble -add=fuze"
2194 output
="rockbox.sansa"
2195 bootoutput
="bootloader-fuze.sansa"
2196 appextra
="recorder:gui:radio"
2199 toolset
=$scramblebitmaptools
2201 t_manufacturer
="as3525"
2202 t_model
="sansa-fuze"
2209 modelname
="sansac200v2"
2210 target
="-DSANSA_C200V2"
2211 memory
=2 # as per OF diagnosis mode
2212 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2213 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2214 tool
="$rootdir/tools/scramble -add=c2v2"
2215 output
="rockbox.sansa"
2216 bootoutput
="bootloader-c200v2.sansa"
2217 appextra
="recorder:gui:radio"
2220 # toolset is the tools within the tools directory that we build for
2221 # this particular target.
2222 toolset
=$scramblebitmaptools
2223 # architecture, manufacturer and model for the target-tree build
2225 t_manufacturer
="as3525"
2226 t_model
="sansa-c200v2"
2227 if [ "$ARG_ARM_THUMB" != 0 ]; then ARG_ARM_THUMB
=1; fi
2229 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
2234 modelname
="sansaclipv2"
2235 target
="-DSANSA_CLIPV2"
2237 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2238 bmp2rb_native
="$bmp2rb_mono"
2239 tool
="$rootdir/tools/scramble -add=clv2"
2240 output
="rockbox.sansa"
2241 bootoutput
="bootloader-clipv2.sansa"
2242 appextra
="recorder:gui:radio"
2245 toolset
=$scramblebitmaptools
2247 t_manufacturer
="as3525"
2248 t_model
="sansa-clipv2"
2253 echo "Sansa View is not yet supported!"
2256 modelname
="sansaview"
2257 target
="-DSANSA_VIEW"
2260 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2261 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2262 output
="rockbox.mi4"
2266 boottool
="$rootdir/tools/scramble -mi4v3 -model=view -type=RBBL"
2267 bootoutput
="firmware.mi4"
2268 # toolset is the tools within the tools directory that we build for
2269 # this particular target.
2270 toolset
=$scramblebitmaptools
2272 t_manufacturer
="sandisk"
2273 t_model
="sansa-view"
2278 modelname
="sansaclipplus"
2279 target
="-DSANSA_CLIPPLUS"
2281 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2282 bmp2rb_native
="$bmp2rb_mono"
2283 tool
="$rootdir/tools/scramble -add=cli+"
2284 output
="rockbox.sansa"
2285 bootoutput
="bootloader-clipplus.sansa"
2286 appextra
="recorder:gui:radio"
2289 toolset
=$scramblebitmaptools
2291 t_manufacturer
="as3525"
2292 t_model
="sansa-clipplus"
2298 modelname
="sansafuzev2"
2299 target
="-DSANSA_FUZEV2"
2301 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2302 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2303 tool
="$rootdir/tools/scramble -add=fuz2"
2304 output
="rockbox.sansa"
2305 bootoutput
="bootloader-fuzev2.sansa"
2306 appextra
="recorder:gui:radio"
2309 toolset
=$scramblebitmaptools
2311 t_manufacturer
="as3525"
2312 t_model
="sansa-fuzev2"
2318 modelname
="tatungtpj1022"
2319 target
="-DTATUNG_TPJ1022"
2322 tool
="$rootdir/tools/scramble -add tpj2"
2323 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2324 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2325 output
="rockbox.elio"
2326 appextra
="recorder:gui:radio"
2329 boottool
="$rootdir/tools/scramble -mi4v2"
2330 bootoutput
="pp5020.mi4"
2331 # toolset is the tools within the tools directory that we build for
2332 # this particular target.
2333 toolset
=$scramblebitmaptools
2334 # architecture, manufacturer and model for the target-tree build
2336 t_manufacturer
="tatung"
2342 modelname
="gogearsa9200"
2343 target
="-DPHILIPS_SA9200"
2344 memory
=32 # supposedly
2346 tool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBOS"
2347 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2348 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2349 output
="rockbox.mi4"
2350 appextra
="recorder:gui:radio"
2353 boottool
="$rootdir/tools/scramble -mi4v3 -model=9200 -type=RBBL"
2354 bootoutput
="FWImage.ebn"
2355 # toolset is the tools within the tools directory that we build for
2356 # this particular target.
2357 toolset
=$scramblebitmaptools
2358 # architecture, manufacturer and model for the target-tree build
2360 t_manufacturer
="philips"
2366 modelname
="gogearhdd1630"
2367 target
="-DPHILIPS_HDD1630"
2368 memory
=32 # supposedly
2370 tool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBOS"
2371 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2372 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2373 output
="rockbox.mi4"
2374 appextra
="recorder:gui:radio"
2377 boottool
="$rootdir/tools/scramble -mi4v3 -model=1630 -type=RBBL"
2378 bootoutput
="FWImage.ebn"
2379 # toolset is the tools within the tools directory that we build for
2380 # this particular target.
2381 toolset
=$scramblebitmaptools
2382 # architecture, manufacturer and model for the target-tree build
2384 t_manufacturer
="philips"
2390 modelname
="gogearhdd6330"
2391 target
="-DPHILIPS_HDD6330"
2394 tool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBOS"
2395 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2396 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2397 output
="rockbox.mi4"
2398 appextra
="recorder:gui:radio"
2401 boottool
="$rootdir/tools/scramble -mi4v3 -model=6330 -type=RBBL"
2402 bootoutput
="FWImage.ebn"
2403 # toolset is the tools within the tools directory that we build for
2404 # this particular target.
2405 toolset
=$scramblebitmaptools
2406 # architecture, manufacturer and model for the target-tree build
2408 t_manufacturer
="philips"
2414 modelname
="meizum6sl"
2415 target
="-DMEIZU_M6SL"
2419 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2420 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2421 output
="rockbox.meizu"
2422 appextra
="recorder:gui:radio"
2425 toolset
=$genericbitmaptools
2427 bootoutput
="rockboot.ebn"
2428 # architecture, manufacturer and model for the target-tree build
2430 t_manufacturer
="s5l8700"
2431 t_model
="meizu-m6sl"
2436 modelname
="meizum6sp"
2437 target
="-DMEIZU_M6SP"
2441 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2442 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2443 output
="rockbox.meizu"
2444 appextra
="recorder:gui:radio"
2447 toolset
=$genericbitmaptools
2449 bootoutput
="rockboot.ebn"
2450 # architecture, manufacturer and model for the target-tree build
2452 t_manufacturer
="s5l8700"
2453 t_model
="meizu-m6sp"
2463 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2464 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2465 output
="rockbox.meizu"
2466 appextra
="recorder:gui:radio"
2469 toolset
=$genericbitmaptools
2471 bootoutput
="rockboot.ebn"
2472 # architecture, manufacturer and model for the target-tree build
2474 t_manufacturer
="s5l8700"
2480 modelname
="ondavx747"
2481 target
="-DONDA_VX747"
2484 tool
="$rootdir/tools/scramble -add=x747"
2485 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2486 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2487 output
="rockbox.vx747"
2488 appextra
="recorder:gui:radio"
2491 toolset
=$genericbitmaptools
2492 boottool
="$rootdir/tools/scramble -ccpmp"
2493 bootoutput
="ccpmp.bin"
2494 # architecture, manufacturer and model for the target-tree build
2496 t_manufacturer
="ingenic_jz47xx"
2497 t_model
="onda_vx747"
2502 modelname
="ondavx767"
2503 target
="-DONDA_VX767"
2507 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2508 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2509 output
="rockbox.vx767"
2510 appextra
="recorder:gui:radio"
2513 toolset
=$genericbitmaptools
2514 boottool
="$rootdir/tools/scramble -ccpmp"
2515 bootoutput
="ccpmp.bin"
2516 # architecture, manufacturer and model for the target-tree build
2518 t_manufacturer
="ingenic_jz47xx"
2519 t_model
="onda_vx767"
2524 modelname
="ondavx747p"
2525 target
="-DONDA_VX747P"
2528 tool
="$rootdir/tools/scramble -add=747p"
2529 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2530 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2531 output
="rockbox.vx747p"
2532 appextra
="recorder:gui:radio"
2535 toolset
=$genericbitmaptools
2536 boottool
="$rootdir/tools/scramble -ccpmp"
2537 bootoutput
="ccpmp.bin"
2538 # architecture, manufacturer and model for the target-tree build
2540 t_manufacturer
="ingenic_jz47xx"
2541 t_model
="onda_vx747"
2546 modelname
="ondavx777"
2547 target
="-DONDA_VX777"
2550 tool
="$rootdir/tools/scramble -add=x777"
2551 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2552 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2553 output
="rockbox.vx777"
2554 appextra
="recorder:gui:radio"
2557 toolset
=$genericbitmaptools
2558 boottool
="$rootdir/tools/scramble -ccpmp"
2559 bootoutput
="ccpmp.bin"
2560 # architecture, manufacturer and model for the target-tree build
2562 t_manufacturer
="ingenic_jz47xx"
2563 t_model
="onda_vx747"
2568 modelname
="lyreproto1"
2569 target
="-DLYRE_PROTO1"
2573 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2574 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2575 output
="rockbox.lyre"
2576 appextra
="recorder:gui:radio"
2579 toolset
=$scramblebitmaptools
2581 bootoutput
="bootloader-proto1.lyre"
2582 # architecture, manufacturer and model for the target-tree build
2584 t_manufacturer
="at91sam"
2585 t_model
="lyre_proto1"
2590 modelname
="mini2440"
2594 tool
="$rootdir/tools/scramble -add=m244"
2595 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2596 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2597 output
="rockbox.mini2440"
2598 appextra
="recorder:gui:radio"
2601 toolset
=$scramblebitmaptools
2603 bootoutput
="bootloader-mini2440.lyre"
2604 # architecture, manufacturer and model for the target-tree build
2606 t_manufacturer
="s3c2440"
2612 modelname
="samsungyh820"
2613 target
="-DSAMSUNG_YH820"
2616 tool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBOS"
2617 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2618 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2619 output
="rockbox.mi4"
2620 appextra
="recorder:gui:radio"
2623 boottool
="$rootdir/tools/scramble -mi4v2 -model=y820 -type=RBBL"
2624 bootoutput
="FW_YH820.mi4"
2625 # toolset is the tools within the tools directory that we build for
2626 # this particular target.
2627 toolset
=$scramblebitmaptools
2628 # architecture, manufacturer and model for the target-tree build
2630 t_manufacturer
="samsung"
2636 modelname
="samsungyh920"
2637 target
="-DSAMSUNG_YH920"
2640 tool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBOS"
2641 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2642 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2643 output
="rockbox.mi4"
2644 appextra
="recorder:gui:radio"
2647 boottool
="$rootdir/tools/scramble -mi4v2 -model=y920 -type=RBBL"
2648 bootoutput
="PP5020.mi4"
2649 # toolset is the tools within the tools directory that we build for
2650 # this particular target.
2651 toolset
=$scramblebitmaptools
2652 # architecture, manufacturer and model for the target-tree build
2654 t_manufacturer
="samsung"
2660 modelname
="samsungyh925"
2661 target
="-DSAMSUNG_YH925"
2664 tool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBOS"
2665 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2666 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2667 output
="rockbox.mi4"
2668 appextra
="recorder:gui:radio"
2671 boottool
="$rootdir/tools/scramble -mi4v2 -model=y925 -type=RBBL"
2672 bootoutput
="FW_YH925.mi4"
2673 # toolset is the tools within the tools directory that we build for
2674 # this particular target.
2675 toolset
=$scramblebitmaptools
2676 # architecture, manufacturer and model for the target-tree build
2678 t_manufacturer
="samsung"
2684 modelname
="samsungyps3"
2685 target
="-DSAMSUNG_YPS3"
2689 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2690 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2691 output
="rockbox.yps3"
2692 appextra
="recorder:gui:radio"
2695 toolset
=$genericbitmaptools
2697 bootoutput
="rockboot.ebn"
2698 # architecture, manufacturer and model for the target-tree build
2700 t_manufacturer
="s5l8700"
2707 target
="-DPBELL_VIBE500"
2710 tool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBOS"
2711 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2712 bmp2rb_native
="$rootdir/tools/bmp2rb -f 5"
2713 output
="rockbox.mi4"
2714 appextra
="recorder:gui:radio"
2717 boottool
="$rootdir/tools/scramble -mi4v3 -model=v500 -type=RBBL"
2718 bootoutput
="jukebox.mi4"
2719 # toolset is the tools within the tools directory that we build for
2720 # this particular target.
2721 toolset
=$scramblebitmaptools
2722 # architecture, manufacturer and model for the target-tree build
2724 t_manufacturer
="pbell"
2730 modelname
="mpiohd200"
2731 target
="-DMPIO_HD200"
2734 tool
="$rootdir/tools/scramble -add=hd20"
2735 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2736 bmp2rb_native
="$rootdir/tools/bmp2rb -f 7"
2737 output
="rockbox.mpio"
2738 bootoutput
="bootloader.mpio"
2739 appextra
="recorder:gui:radio"
2742 # toolset is the tools within the tools directory that we build for
2743 # this particular target.
2744 toolset
="$genericbitmaptools"
2745 # architecture, manufacturer and model for the target-tree build
2747 t_manufacturer
="mpio"
2753 modelname
="mpiohd300"
2754 target
="-DMPIO_HD300"
2757 tool
="$rootdir/tools/scramble -add=hd30"
2758 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2759 bmp2rb_native
="$rootdir/tools/bmp2rb -f 2"
2760 output
="rockbox.mpio"
2761 bootoutput
="bootloader.mpio"
2762 appextra
="recorder:gui:radio"
2765 # toolset is the tools within the tools directory that we build for
2766 # this particular target.
2767 toolset
="$genericbitmaptools"
2768 # architecture, manufacturer and model for the target-tree build
2770 t_manufacturer
="mpio"
2776 modelname
="application"
2777 target
="-DAPPLICATION"
2779 need_full_path
="yes"
2785 appcc
"$app_platform"
2788 bmp2rb_mono
="$rootdir/tools/bmp2rb -f 0"
2789 bmp2rb_native
="$rootdir/tools/bmp2rb -f 4"
2790 appextra
="recorder:gui:radio"
2793 # architecture, manufacturer and model for the target-tree build
2795 t_manufacturer
="$app_platform"
2800 echo "Please select a supported target platform!"
2806 echo "Platform set to $modelname"
2810 ############################################################################
2811 # Amount of memory, for those that can differ. They have $memory unset at
2815 if [ -z "$memory" ]; then
2818 if [ "$ARG_RAM" ]; then
2821 echo "Enter size of your RAM (in MB): (Defaults to 32)"
2834 if [ "$ARG_RAM" ]; then
2837 echo "Enter size of your RAM (in MB): (Defaults to 2)"
2850 echo "Memory size selected: $memory MB"
2851 [ "$ARG_TYPE" ] ||
echo ""
2855 ##################################################################
2856 # Figure out build "type"
2859 # the ifp7x0 is the only platform that supports building a gdb stub like
2863 gdbstub
="(G)DB stub, "
2865 sansae200r|sansae200
)
2866 gdbstub
="(I)nstaller, "
2869 gdbstub
="(E)raser, "
2874 if [ "$ARG_TYPE" ]; then
2877 echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, $gdbstub(M)anual: (Defaults to N)"
2883 appsdir
='\$(ROOTDIR)/bootloader'
2885 extradefines
="$extradefines -DBOOTLOADER -DE200R_INSTALLER -ffunction-sections -fdata-sections"
2887 echo "e200R-installer build selected"
2890 appsdir
='\$(ROOTDIR)/bootloader'
2892 echo "C2(4)0 or C2(5)0"
2896 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC240_ERASE -ffunction-sections -fdata-sections"
2897 echo "c240 eraser build selected"
2900 extradefines
="$extradefines -DBOOTLOADER -DC200_ERASE -DC250_ERASE -ffunction-sections -fdata-sections"
2901 echo "c240 eraser build selected"
2905 echo "c200 eraser build selected"
2908 if test $t_manufacturer = "archos"; then
2909 # Archos SH-based players do this somewhat differently for
2911 appsdir
='\$(ROOTDIR)/flash/bootbox'
2914 appsdir
='\$(ROOTDIR)/bootloader'
2917 if test -n "$boottool"; then
2920 if test -n "$bootoutput"; then
2924 extradefines
="$extradefines -DBOOTLOADER -ffunction-sections -fdata-sections"
2926 echo "Bootloader build selected"
2929 if [ "$modelname" = "sansae200r" ]; then
2930 echo "Do not use the e200R target for simulator builds. Use e200 instead."
2935 extradefines
="$extradefines -DSIMULATOR"
2938 echo "Simulator build selected"
2941 echo "Advanced build selected"
2942 whichadvanced
$btype
2945 extradefines
="$extradefines -DSTUB" # for target makefile symbol EXTRA_DEFINES
2946 appsdir
='\$(ROOTDIR)/gdb'
2955 echo "GDB stub build selected"
2960 echo "Manual build selected"
2968 extradefines
="$extradefines -DDEBUG"
2969 appsdir
='\$(ROOTDIR)/tools/checkwps';
2970 output
='checkwps.'${modelname};
2972 echo "CheckWPS build selected"
2980 appsdir
='\$(ROOTDIR)/tools/database';
2985 output
="database_${modelname}.exe"
2988 output
='database.'${modelname};
2992 echo "Database tool build selected"
2995 if [ "$modelname" = "sansae200r" ]; then
2996 echo "Do not use the e200R target for regular builds. Use e200 instead."
3000 btype
="N" # set it explicitly since RET only gets here as well
3001 echo "Normal build selected"
3005 # to be able running "make manual" from non-manual configuration
3008 manualdev
="archosfmrecorder"
3011 manualdev
="iriverh100"
3014 manualdev
="ipodmini1g"
3017 manualdev
=$modelname
3021 if [ -z "$debug" ]; then
3022 GCCOPTS
="$GCCOPTS $GCCOPTIMIZE"
3025 echo "Using source code root directory: $rootdir"
3027 # this was once possible to change at build-time, but no more:
3032 if [ "yes" = "$simulator" ]; then
3033 # setup compiler and things for simulator
3036 if [ -d "simdisk" ]; then
3037 echo "Subdirectory 'simdisk' already present"
3040 echo "Created a 'simdisk' subdirectory for simulating the hard disk"
3044 # Now, figure out version number of the (gcc) compiler we are about to use
3045 gccver
=`$CC -dumpversion`;
3047 # figure out the binutil version too and display it, mostly for the build
3048 # system etc to be able to see it easier
3049 if [ $uname = "Darwin" ]; then
3050 ldver
=`$LD -v 2>&1 | sed -e 's/[^0-9.-]//g'`
3052 ldver
=`$LD --version | head -n 1 | sed -e 's/[^0-9.]//g'`
3055 if [ -z "$gccver" ]; then
3056 echo "[WARNING] The compiler you must use ($CC) is not in your path!"
3057 echo "[WARNING] this may cause your build to fail since we cannot do the"
3058 echo "[WARNING] checks we want now."
3061 # gccver should now be "3.3.5", "3.4.3", "2.95.3-6" and similar, but don't
3064 num1
=`echo $gccver | cut -d . -f1`
3065 num2
=`echo $gccver | cut -d . -f2`
3066 gccnum
=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
3073 echo "Using $CC $gccver ($gccnum)"
3075 if test "$gccnum" -ge "400"; then
3076 # gcc 4.0 is just *so* much pickier on arguments that differ in signedness
3077 # so we ignore that warnings for now
3079 GCCOPTS
="$GCCOPTS -Wno-pointer-sign"
3082 if test "$gccnum" -ge "402"; then
3083 # disable warning about "warning: initialized field overwritten" as gcc 4.2
3084 # and later would throw it for several valid cases
3085 GCCOPTS
="$GCCOPTS -Wno-override-init"
3089 ""|
"$CROSS_COMPILE")
3093 # cross-compile for win32
3096 # Verify that the cross-compiler is of a recommended version!
3097 if test "$gccver" != "$gccchoice"; then
3098 echo "WARNING: Your cross-compiler $CC $gccver is not of the recommended"
3099 echo "WARNING: version $gccchoice!"
3100 echo "WARNING: This may cause your build to fail since it may be a version"
3101 echo "WARNING: that isn't functional or known to not be the best choice."
3102 echo "WARNING: If you suffer from build problems, you know that this is"
3103 echo "WARNING: a likely source for them..."
3111 echo "Using $LD $ldver"
3113 # check the compiler for SH platforms
3114 if test "$CC" = "sh-elf-gcc"; then
3115 if test "$gccnum" -lt "400"; then
3116 echo "WARNING: Consider upgrading your compiler to the 4.0.X series!"
3117 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3119 # figure out patch status
3120 gccpatch
=`$CC --version`;
3122 if { echo $gccpatch |
grep "rockbox" >/dev
/null
2>&1; } then
3123 echo "gcc $gccver is rockbox patched"
3124 # then convert -O to -Os to get smaller binaries!
3125 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3127 echo "WARNING: You use an unpatched gcc compiler: $gccver"
3128 echo "WARNING: http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler"
3133 if test "$CC" = "m68k-elf-gcc"; then
3134 # convert -O to -Os to get smaller binaries!
3135 GCCOPTS
=`echo $GCCOPTS | sed 's/ -O / -Os /'`
3138 if [ "$ARG_CCACHE" = "1" ]; then
3139 echo "Enable ccache for building"
3141 elif [ "$ARG_CCACHE" != "0" ]; then
3142 ccache
=`findtool ccache`
3143 if test -n "$ccache"; then
3144 echo "Found and uses ccache ($ccache)"
3148 # figure out the full path to the various commands if possible
3149 HOSTCC
=`findtool gcc --lit`
3150 HOSTAR
=`findtool ar --lit`
3151 CC
=`findtool ${CC} --lit`
3152 LD
=`findtool ${AR} --lit`
3153 AR
=`findtool ${AR} --lit`
3154 AS
=`findtool ${AS} --lit`
3155 OC
=`findtool ${OC} --lit`
3156 WINDRES
=`findtool ${WINDRES} --lit`
3157 DLLTOOL
=`findtool ${DLLTOOL} --lit`
3158 DLLWRAP
=`findtool ${DLLWRAP} --lit`
3159 RANLIB
=`findtool ${RANLIB} --lit`
3161 if test -n "$ccache"; then
3165 if test "$ARG_ARM_THUMB" = "1"; then
3166 extradefines
="$extradefines -DUSE_THUMB"
3167 CC
="$toolsdir/thumb-cc.py $CC"
3170 if test "X$endian" = "Xbig"; then
3171 defendian
="ROCKBOX_BIG_ENDIAN"
3173 defendian
="ROCKBOX_LITTLE_ENDIAN"
3176 if [ "$ARG_RBDIR" != "" ]; then
3177 if [ -z `echo $ARG_RBDIR | grep '^/'` ]; then
3182 echo "Using alternate rockbox dir: ${rbdir}"
3186 -e "s<@ENDIAN@<${defendian}<g" \
3187 -e "s<^#undef ROCKBOX_HAS_LOGF<$use_logf<g" \
3188 -e "s<^#undef DO_BOOTCHART<$use_bootchart<g" \
3189 -e "s<@config_rtc@<$config_rtc<g" \
3190 -e "s<@have_rtc_alarm@<$have_rtc_alarm<g" \
3191 -e "s<@RBDIR@<${rbdir}<g" \
3192 -e "s<@sharepath@<${sharedir}<g" \
3193 -e "s<@binpath@<${bindir}<g" \
3194 -e "s<@libpath@<${libdir}<g" \
3195 -e "s<@have_backlight@<$have_backlight<g" \
3196 -e "s<@have_fmradio_in@<$have_fmradio_in<g" \
3197 -e "s<@have_ata_poweroff@<$have_ata_poweroff<g" \
3198 -e "s<@lcd_width@<$app_lcd_width<g" \
3199 -e "s<@lcd_height@<$app_lcd_height<g" \
3201 /* This header was made by configure */
3202 #ifndef __BUILD_AUTOCONF_H
3203 #define __BUILD_AUTOCONF_H
3205 /* Define endianess for the target or simulator platform */
3208 /* Define this if you build rockbox to support the logf logging and display */
3209 #undef ROCKBOX_HAS_LOGF
3211 /* Define this to record a chart with timings for the stages of boot */
3214 /* optional define for a backlight modded Ondio */
3217 /* optional define for FM radio mod for iAudio M5 */
3220 /* optional define for ATA poweroff on Player */
3223 /* optional defines for RTC mod for h1x0 */
3227 /* lcd dimensions for application builds from configure */
3231 /* root of Rockbox */
3232 #define ROCKBOX_DIR "@RBDIR@"
3233 #define ROCKBOX_SHARE_PATH "@sharepath@"
3234 #define ROCKBOX_BINARY_PATH "@binpath@"
3235 #define ROCKBOX_LIBRARY_PATH "@libpath@"
3237 #endif /* __BUILD_AUTOCONF_H */
3240 if test -n "$t_cpu"; then
3241 TARGET_INC
="-I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer/$t_model"
3242 if [ "$simulator" = "yes" ]; then # a few more includes for the sim target tree
3243 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/"
3244 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/hosted/"
3246 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer"
3247 TARGET_INC
="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu"
3251 if test "$simulator" = "yes"; then
3252 # add simul make stuff on the #SIMUL# line
3253 simmagic1
="s<@SIMUL1@<\$(SILENT)\$(MAKE) -C \$(SIMDIR) OBJDIR=\$(BUILDDIR)/sim<"
3254 simmagic2
="s<@SIMUL2@<\$(SILENT)\$(MAKE) -C \$(ROOTDIR)/uisimulator/common OBJDIR=\$(BUILDDIR)/comsim<"
3256 # delete the lines that match
3257 simmagic1
='/@SIMUL1@/D'
3258 simmagic2
='/@SIMUL2@/D'
3261 if test "$swcodec" = "yes"; then
3262 voicetoolset
="rbspeexenc voicefont wavtrim"
3264 voicetoolset
="voicefont wavtrim"
3267 if test "$apps" = "apps"; then
3268 # only when we build "real" apps we build the .lng files
3272 #### Fix the cmdline ###
3273 if [ "$ARG_CCACHE" = "1" ]; then
3275 elif [ "$ARG_CCACHE" = "0" ]; then
3276 cmdline
="--no-ccache "
3278 if [ "$ARG_ARM_EABI" = "1" ]; then
3279 cmdline
="$cmdline--eabi "
3281 if [ "$app_platform" = "sdl" ]; then
3282 cmdline
="$cmdline--platform=S "
3283 elif [ "$app_platform" = "android" ]; then
3284 cmdline
="$cmdline--platform=A "
3286 if [ "$modelname" = "application" ]; then
3287 cmdline
="$cmdline--lcdwidth=$ARG_LCDWIDTH --lcdheight=$ARG_LCDHEIGHT "
3289 if [ -n "$ARG_PREFIX" ]; then
3290 cmdline
="$cmdline--prefix=\$(PREFIX) "
3293 cmdline
="$cmdline--target=\$(MODELNAME) --ram=\$(MEMORYSIZE) --rbdir=\$(RBDIR) --type=$btype$advopts"
3298 -e "s<@ROOTDIR@<${rootdir}<g" \
3299 -e "s<@DEBUG@<${debug}<g" \
3300 -e "s<@MEMORY@<${memory}<g" \
3301 -e "s<@TARGET_ID@<${target_id}<g" \
3302 -e "s<@TARGET@<${target}<g" \
3303 -e "s<@CPU@<${t_cpu}<g" \
3304 -e "s<@MANUFACTURER@<${t_manufacturer}<g" \
3305 -e "s<@MODELNAME@<${modelname}<g" \
3306 -e "s<@LANGUAGE@<${language}<g" \
3307 -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \
3308 -e "s<@PWD@<${pwd}<g" \
3309 -e "s<@HOSTCC@<${HOSTCC}<g" \
3310 -e "s<@HOSTAR@<${HOSTAR}<g" \
3311 -e "s<@CC@<${CC}<g" \
3312 -e "s<@LD@<${LD}<g" \
3313 -e "s<@AR@<${AR}<g" \
3314 -e "s<@AS@<${AS}<g" \
3315 -e "s<@OC@<${OC}<g" \
3316 -e "s<@WINDRES@<${WINDRES}<g" \
3317 -e "s<@DLLTOOL@<${DLLTOOL}<g" \
3318 -e "s<@DLLWRAP@<${DLLWRAP}<g" \
3319 -e "s<@RANLIB@<${RANLIB}<g" \
3320 -e "s<@TOOL@<${tool}<g" \
3321 -e "s<@BMP2RB_NATIVE@<${bmp2rb_native}<g" \
3322 -e "s<@BMP2RB_MONO@<${bmp2rb_mono}<g" \
3323 -e "s<@BMP2RB_REMOTENATIVE@<${bmp2rb_remotenative}<g" \
3324 -e "s<@BMP2RB_REMOTEMONO@<${bmp2rb_remotemono}<g" \
3325 -e "s<@OUTPUT@<${output}<g" \
3326 -e "s<@APPEXTRA@<${appextra}<g" \
3327 -e "s<@ARCHOSROM@<${archosrom}<g" \
3328 -e "s<@FLASHFILE@<${flash}<g" \
3329 -e "s<@PLUGINS@<${plugins}<g" \
3330 -e "s<@CODECS@<${swcodec}<g" \
3331 -e "s<@PROFILE_OPTS@<${PROFILE_OPTS}<g" \
3332 -e "s<@SHARED_FLAG@<${SHARED_FLAG}<g" \
3333 -e "s<@GCCOPTS@<${GCCOPTS}<g" \
3334 -e "s<@TARGET_INC@<${TARGET_INC}<g" \
3335 -e "s<@LDOPTS@<${LDOPTS}<g" \
3336 -e "s<@GLOBAL_LDOPTS@<${GLOBAL_LDOPTS}<g" \
3337 -e "s<@LOADADDRESS@<${loadaddress}<g" \
3338 -e "s<@EXTRADEF@<${extradefines}<g" \
3339 -e "s<@APPSDIR@<${appsdir}<g" \
3340 -e "s<@FIRMDIR@<${firmdir}<g" \
3341 -e "s<@TOOLSDIR@<${toolsdir}<g" \
3342 -e "s<@APPS@<${apps}<g" \
3343 -e "s<@APP_TYPE@<${app_type}<g" \
3344 -e "s<@GCCVER@<${gccver}<g" \
3345 -e "s<@GCCNUM@<${gccnum}<g" \
3346 -e "s<@UNAME@<${uname}<g" \
3347 -e "s<@ENDIAN@<${defendian}<g" \
3348 -e "s<@TOOLSET@<${toolset}<g" \
3351 -e "s<@MANUALDEV@<${manualdev}<g" \
3352 -e "s<@ENCODER@<${ENC_CMD}<g" \
3353 -e "s<@ENC_OPTS@<${ENC_OPTS}<g" \
3354 -e "s<@TTS_ENGINE@<${TTS_ENGINE}<g" \
3355 -e "s<@TTS_OPTS@<${TTS_OPTS}<g" \
3356 -e "s<@VOICETOOLSET@<${voicetoolset}<g" \
3357 -e "s<@LANGS@<${buildlangs}<g" \
3358 -e "s<@USE_ELF@<${USE_ELF}<g" \
3359 -e "s<@RBDIR@<${rbdir}<g" \
3360 -e "s<@sharepath@<${sharedir}<g" \
3361 -e "s<@binpath@<${bindir}<g" \
3362 -e "s<@libpath@<${libdir}<g" \
3363 -e "s<@PREFIX@<$ARG_PREFIX<g" \
3364 -e "s<@CMDLINE@<$cmdline<g" \
3365 -e "s<@SDLCONFIG@<$sdl<g" \
3367 ## Automatically generated. http://www.rockbox.org/
3369 export ROOTDIR=@ROOTDIR@
3370 export FIRMDIR=@FIRMDIR@
3371 export APPSDIR=@APPSDIR@
3372 export TOOLSDIR=@TOOLSDIR@
3373 export DOCSDIR=\$(ROOTDIR)/docs
3374 export MANUALDIR=\${ROOTDIR}/manual
3375 export DEBUG=@DEBUG@
3376 export MODELNAME=@MODELNAME@
3377 export ARCHOSROM=@ARCHOSROM@
3378 export FLASHFILE=@FLASHFILE@
3379 export TARGET_ID=@TARGET_ID@
3380 export TARGET=@TARGET@
3382 export MANUFACTURER=@MANUFACTURER@
3384 export BUILDDIR=@PWD@
3385 export LANGUAGE=@LANGUAGE@
3386 export VOICELANGUAGE=@VOICELANGUAGE@
3387 export MEMORYSIZE=@MEMORY@
3388 export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d')
3389 export MKFIRMWARE=@TOOL@
3390 export BMP2RB_MONO=@BMP2RB_MONO@
3391 export BMP2RB_NATIVE=@BMP2RB_NATIVE@
3392 export BMP2RB_REMOTEMONO=@BMP2RB_REMOTEMONO@
3393 export BMP2RB_REMOTENATIVE=@BMP2RB_REMOTENATIVE@
3394 export BINARY=@OUTPUT@
3395 export APPEXTRA=@APPEXTRA@
3396 export ENABLEDPLUGINS=@PLUGINS@
3397 export SOFTWARECODECS=@CODECS@
3398 export EXTRA_DEFINES=@EXTRADEF@
3399 export HOSTCC=@HOSTCC@
3400 export HOSTAR=@HOSTAR@
3406 export WINDRES=@WINDRES@
3407 export DLLTOOL=@DLLTOOL@
3408 export DLLWRAP=@DLLWRAP@
3409 export RANLIB=@RANLIB@
3410 export PREFIX=@PREFIX@
3411 export PROFILE_OPTS=@PROFILE_OPTS@
3412 export APP_TYPE=@APP_TYPE@
3413 export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
3414 export GCCOPTS=@GCCOPTS@
3415 export TARGET_INC=@TARGET_INC@
3416 export LOADADDRESS=@LOADADDRESS@
3417 export SHARED_FLAG=@SHARED_FLAG@
3418 export LDOPTS=@LDOPTS@
3419 export GLOBAL_LDOPTS=@GLOBAL_LDOPTS@
3420 export GCCVER=@GCCVER@
3421 export GCCNUM=@GCCNUM@
3422 export UNAME=@UNAME@
3423 export MANUALDEV=@MANUALDEV@
3424 export TTS_OPTS=@TTS_OPTS@
3425 export TTS_ENGINE=@TTS_ENGINE@
3426 export ENC_OPTS=@ENC_OPTS@
3427 export ENCODER=@ENCODER@
3428 export USE_ELF=@USE_ELF@
3429 export RBDIR=@RBDIR@
3430 export ROCKBOX_SHARE_PATH=@sharepath@
3431 export ROCKBOX_BINARY_PATH=@binpath@
3432 export ROCKBOX_LIBRARY_PATH=@libpath@
3433 export SDLCONFIG=@SDLCONFIG@
3435 CONFIGURE_OPTIONS=@CMDLINE@
3437 include \$(TOOLSDIR)/root.make
3441 echo "Created Makefile"