Rockbox
Find a file
Jonathan Gordon e43b856ed0 skin_engine: rework the parser to be closer to the langauge grammar.
The parser was unconditionally scanning things which it thought
were conditional/enum lists (or tag arg lists) when they couldn't
possibly be (i.e < inside a param which should be valid).

This change fixes it (i.e %?and(%if(%pv, <, -50), %if(%mp, > 1))
is perfectly valid now.

This *may* break your exsiting skins if you were using %if with < or >

Change-Id: Ibcb42bc6bb78908f79de024b61276b91b1ce02a0
Reviewed-on: http://gerrit.rockbox.org/214
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-04-17 17:05:20 +02:00
android Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary. 2012-04-04 21:48:19 +02:00
apps mikmod plugin: make functions static when possible 2012-04-14 17:31:14 +02:00
backdrops Add missing cabbiev2 800x480 backdrop 2011-02-19 01:45:08 +00:00
bootloader Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary. 2012-04-04 21:48:19 +02:00
debian Prepare new, unofficial maemo build 2011-12-10 18:34:07 +00:00
docs Set %cs(Current Screen) to "Bookmark browser" when listing bookmarks from the Context Menu 2012-03-03 10:41:52 +01:00
firmware FS#10345 - Gigabeat: Switch volume buttons in Upside Down mode 2012-04-15 23:27:50 +02:00
flash Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
fonts Remove superfluous executable bits on a bunch of files. 2011-06-08 14:22:03 +00:00
gdb Generate C file / header for svn version string 2010-05-27 09:41:46 +00:00
icons The new 12x12 iconset somehow got corrupted. Re-generate. 2011-11-26 16:16:25 +00:00
lib skin_engine: rework the parser to be closer to the langauge grammar. 2012-04-17 17:05:20 +02:00
manual Split sleep timer activation and default duration setting. 2012-03-29 09:01:33 +02:00
packaging Prepare new, unofficial pandora build 2011-12-10 19:25:21 +00:00
rbutil Check for existing firmware file on H100 / H300. 2012-04-10 20:37:29 +02:00
tools configure: remove support for ARM non EABI compiler 2012-04-14 19:17:21 -04:00
uisimulator Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary. 2012-04-04 21:48:19 +02:00
utils Add new tarball generation script. 2012-04-12 21:15:49 +02:00
wps skin_engine: Clean up %x() handling - beware theme issues 2012-02-28 23:51:01 +11:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore ignore ipodpatcher binary 2012-03-25 11:45:31 -04:00

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Check out 'rockbox' from SVN (or extract a downloaded archive).

   $ svn co svn://svn.rockbox.org/rockbox/trunk rockbox

     or

   $ tar xjf rockbox.tar.bz2

2. Create a build directory, preferably in the same directory as the firmware/
   and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Make sure you have sh/arm/m68k-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be acquired with the rockboxdev.sh script in the /tools/ folder of the
   source, or will have been included if you've installed one of the
   toolchains or development environments provided at http://www.rockbox.org/

   $ which sh-elf-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). It'll prompt you. The debug version is for making a
   gdb version out of it. It is only useful if you run gdb towards your target
   Archos.

   $ ../tools/configure

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

If you want to build for more than one target, just create several build
directories and create a setup for each target:

   $ mkdir build-fmrecorder
   $ cd build-fmrecorder
   $ ../tools/configure

   $ mkdir build-player
   $ cd build-player
   $ ../tools/configure

Questions anyone? Ask on the mailing list. We'll be happy to help you!