Rockbox
Find a file
Solomon Peachy 9e15c19891 build: Make it easier to disable plugins
Instead of 'ifdef ENABLEPLUGINS' (which always gets set) use
'ifeq(yes,$(ENABLEPLUGINS))' which means any value other than 'yes' is
treated as a negative.

Change-Id: I6c92eef5565328f1bb9f64a4d379dec697354224
2021-04-01 15:45:38 -04:00
android
apps (Fix FS#13281) Revert "Restore playlist state as necessary before checking whether current playlist has been modified" 2021-04-01 07:57:12 +02:00
backdrops
bootloader New port: FiiO M3K on bare metal 2021-03-28 00:01:37 +00:00
debian
docs erosq: change keymap to fix back button 2021-03-14 17:06:22 +00:00
firmware PP: More cache invalidation fixes 2021-04-01 10:57:29 -04:00
fonts
gdb Remove the firmware decompressor and a few more other SH-stragglers. 2020-11-03 23:43:32 +00:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib Increase id3v2 max item size on high mem targets 2021-03-22 02:50:51 +00:00
manual Manual: Mention/reference viewing playlists through the File Browser 2021-03-17 13:13:14 +01:00
packaging
rbutil rbutil: Add a new entry for the Hifiwalker H2 v1.3 variant 2021-02-05 17:27:40 +00:00
tools build: Make it easier to disable plugins 2021-04-01 15:45:38 -04:00
uisimulator Add M3K native to the simulator 2021-03-28 12:08:31 -04:00
utils New port: FiiO M3K on bare metal 2021-03-28 00:01:37 +00:00
wps New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
.gitattributes
.gitignore New port: FiiO M3K on bare metal 2021-03-28 00:01:37 +00:00

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

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/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!