Wiki > Main > HowToCompile (compare)
Difference: HowToCompile (r20 vs. r19)
Note: This page provides a high level overview for experienced c developers. For more detailed information, see DevelopmentGuide.
Do you have the cross compilers installed? Rockbox cannot be built on your standard compilers. Instructions for installing the cross compilers can be found at http://www.rockbox.org/wiki/CrossCompiler
Check out the trunk from SVN.
$ svn co svn://svn.rockbox.org/rockbox/trunk rockbox
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
In your build directory, run the 'tools/configure' script and enter what target you want to build for and kind of build you want to build. Normally you want to compile the normal build, which is also the default value at this promt. 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.
After you followed the instruction, it will automatically generate a Makefile for you.
$ ../tools/configure --help
for more information and command line arguments, which enable you to automate building.
Make sure you have the compiler and siblings in the PATH. Make sure that you have 'perl' in your PATH too. For SH1 ARM targets (Archos) (Ipods, Sansa, Olympus, Toshiba, Iriver H10) this is
$ which sh-elf-gcc arm-elf-eabi-gcc $ which perl
Or, If building for a Coldfire target (Iriver H100, H300; Iaudio M / X, MPIO):
$ which m68k-elf-gcc
Or, If building for an ARM SH1 target (Ipods, (Archos) Sansa, Olympus, Toshiba, Iriver H10)
$ which arm-elf-eabi-gcc sh-elf-gcc
Or, If building for a MIPS target (Onda VX7x7)
$ which mipsel-elf-gcc
Run 'make' in the build dir and soon the necessary pieces from the firmware and the apps directories have been compiled, linked and scrambled for you.
If you have a multicore processor, you might want to use it to its full potential to build faster :
$ make -j
$ make zip
Extract the newly created rockbox.zip file on your target, reboot it and smile. You can also just run the Rockbox binary from the Rockbox filebrowser and it'll be loaded and replace the currently running version.
If you would like to build a full zip with the fonts included as well, you'd use this command line instead:
$ make fullzip
If you want to have more than one source tree on your PC, just alter the SVN checkout command a bit:
$ svn co svn://svn.rockbox.org/rockbox/trunk rockbox_another_tree
or extract the source archive in another folder.
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
The Ui Simulator simulates Rockbox right on your PC. Please visit UiSimulator for more information about it.
r21 - 24 Jan 2012 - 12:24:19 - MarcinBukatRevision r20 - 16 Dec 2011 - 23:41 - MichaelGiacomelli
Revision r19 - 10 Dec 2010 - 09:01 - ThomasMartitz
Copyright © by the contributing authors.