Rockbox
Find a file
Nils Wallménius c7f9ca4067 Accept FS#7264 'Build with -Os switch for coldfire targets'.
Introduces MEM_FUNCTION_WRAPPERS(api) macro which adds wrappers 
functions to a plugin to make plugins link correctly when gcc
calls mem* functions directly.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13625 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 15:35:07 +00:00
apps Accept FS#7264 'Build with -Os switch for coldfire targets'. 2007-06-13 15:35:07 +00:00
bootloader Bring back rolo for mi4-based targets (H10 and Sansa). 2007-06-04 13:48:21 +00:00
docs language fix 2007-06-06 20:31:36 +00:00
firmware Accept FS#7264 'Build with -Os switch for coldfire targets'. 2007-06-13 15:35:07 +00:00
flash Now charcell displays require lcd_update() for updating the main lcd content like bitmap displays. 2007-04-06 22:55:00 +00:00
fonts Additions to the nimbus font family: nimbus-13 made from nimbus-12 with additional spacing, initial commit of nimbus-10 and nimbus-11 (hopefully meeting the style of the other fonts enough) - feel free to improve. 2007-05-05 10:01:13 +00:00
gdb Adapted more Makefiles to the more efficient info printing. 2006-10-30 01:40:20 +00:00
manual Include the Xobox chapter in the Recorder/Ondio manuals (adding a screenshot and keymaps) since it is now available there too. 2007-06-07 15:32:43 +00:00
rbutil Cosmetic change - "ipod2c" should be "bin2c" in the comments in the generated .c/.h files 2007-06-12 14:13:57 +00:00
tools Accept FS#7264 'Build with -Os switch for coldfire targets'. 2007-06-13 15:35:07 +00:00
uisimulator Oops. I should respect the simulator #ifdefs more. 2007-06-11 09:04:50 +00:00
wps iCatcher updates: 1) Add APE icon for Monkey's Audio files; 2) Use a backdrop on greyscale targets to free some image tags (thanks to Marianne Arnold for the suggestion). However, there are still five codecs without icons (SID, ADX, NSF, Speex and SPC), and only two free image slots left... 2007-06-06 17:53:33 +00: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*.

Whenever the tools/configure script gets updated, you can make your makefile
updated too by running 'tools/configure update'.

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!