blob: b4188568a4001dfd00d5fc47277929d07e4cf478 [file] [log] [blame]
Robert Hak40bafc52002-08-21 10:19:23 +00001 __________ __ ___.
2 Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 \/ \/ \/ \/ \/
7
Daniel Stenberge083a1d2003-02-20 21:01:57 +00008Build Your Own Rockbox
Robert Hak40bafc52002-08-21 10:19:23 +00009
Daniel Stenberg39d8db22007-01-11 22:35:28 +0000101. Check out 'rockbox' from SVN (or extract a downloaded archive).
Robert Hak40bafc52002-08-21 10:19:23 +000011
Daniel Stenberg39d8db22007-01-11 22:35:28 +000012 $ svn co svn://svn.rockbox.org/rockbox/trunk rockbox
Robert Hak40bafc52002-08-21 10:19:23 +000013
Björn Stenberg4b392cd2003-07-10 11:52:42 +000014 or
15
Daniel Stenberg39d8db22007-01-11 22:35:28 +000016 $ tar xjf rockbox.tar.bz2
Björn Stenberg4b392cd2003-07-10 11:52:42 +000017
182. Create a build directory, preferably in the same directory as the firmware/
19 and apps/ directories. This is where all generated files will be written.
20
21 $ cd rockbox
22 $ mkdir build
23 $ cd build
Robert Hak40bafc52002-08-21 10:19:23 +000024
254. In your build directory, run the 'tools/configure' script and enter what
Daniel Stenberge083a1d2003-02-20 21:01:57 +000026 target you want to build for and if you want a debug version or not (and a
27 few more questions). It'll prompt you. The debug version is for making a
28 gdb version out of it. It is only useful if you run gdb towards your target
29 Archos.
Robert Hak40bafc52002-08-21 10:19:23 +000030
Björn Stenberg4b392cd2003-07-10 11:52:42 +000031 $ ../tools/configure
32
Daniel Stenberge083a1d2003-02-20 21:01:57 +0000335. *ploink*. Now you have got a Makefile generated for you.
Robert Hak40bafc52002-08-21 10:19:23 +000034
Daniel Stenberg39d8db22007-01-11 22:35:28 +0000356. Make sure you have sh/arm/m68k-elf-gcc and siblings in the PATH. Make sure
36 that you have 'perl' in your PATH too.
Robert Hak40bafc52002-08-21 10:19:23 +000037
Björn Stenberg4b392cd2003-07-10 11:52:42 +000038 $ which sh-elf-gcc
39 $ which perl
40
Daniel Stenberg5059ce52002-11-29 10:21:55 +0000417. Run 'make' and soon the necessary pieces from the firmware and the apps
42 directories have been compiled, linked and scrambled for you.
43
Björn Stenberg4b392cd2003-07-10 11:52:42 +000044 $ make
Daniel Stenberg39d8db22007-01-11 22:35:28 +000045 $ make zip
Björn Stenberg4b392cd2003-07-10 11:52:42 +000046
Daniel Stenberg39d8db22007-01-11 22:35:28 +0000478. unzip the rockbox.zip on your music player, reboot it and
48 *smile*.
Björn Stenberg4b392cd2003-07-10 11:52:42 +000049
Robert Hak40bafc52002-08-21 10:19:23 +000050Whenever the tools/configure script gets updated, you can make your makefile
Björn Stenberg4b392cd2003-07-10 11:52:42 +000051updated too by running 'tools/configure update'.
Robert Hak40bafc52002-08-21 10:19:23 +000052
Björn Stenberg4b392cd2003-07-10 11:52:42 +000053If you want to build for more than one target, just create several build
54directories and create a setup for each target:
Robert Hak40bafc52002-08-21 10:19:23 +000055
Björn Stenberg4b392cd2003-07-10 11:52:42 +000056 $ mkdir build-fmrecorder
57 $ cd build-fmrecorder
58 $ ../tools/configure
59
60 $ mkdir build-player
61 $ cd build-player
62 $ ../tools/configure
63
64Questions anyone? Ask on the mailing list. We'll be happy to help you!