Find a file
Solomon Peachy a88ef80560 lang: Complain if there are multiple target matches for a given string
The tooling will always use the *final* match, which may or may not be
what is desired.  Treat this as a bug, and complain appropriately.

However, there is a special case.  The RTC set screen uses strings that
include the device button names. There should be an entry for the
specific device, but if not, we wanted to fall back to the string
specified by the 'rtc' feature flag as opposed to falling back to the
default, empty string.

To still support this, add a special "FALLBACK" value; If we end up
using this for a device, the tooling will treat this as a bug, and
complain accordingly.

This should fix FS#13615 and FS13616, and may introduce build failures
on targets that are missing appropriate entries.  We'll see.

Change-Id: Ie78bb247f968e19d450a0fbf6e1177b6d01126a1
2025-05-04 08:53:22 -04:00
android build: instead of 'ifdef NODEPS' use 'ifneq ($NODEPS,)' 2025-03-29 14:33:20 -04:00
apps lang: Complain if there are multiple target matches for a given string 2025-05-04 08:53:22 -04:00
backdrops add cabbie bitmap for 128 x 96 greyscale screen 2025-03-27 22:25:56 -04:00
bootloader hibyos: "run script" now invokes "/bin/sh" instead of "sh" 2025-04-26 09:57:59 -04:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs FS#13618: Updated German translation (Yannic Schmidt) 2025-05-04 07:14:05 -04:00
firmware Add support for double buffering to hosted framebuffer code 2025-05-02 13:48:31 -04:00
fonts FS#9906: Correct SWIDTH, DWIDTH for ETHIOPIC SYLLABLE NO in 15-Adobe-Helvetica (Maurus Cuelenaere) 2025-03-25 21:25:21 -04:00
gdb Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib misc: Properly annotate some intentional case fallthroughs 2025-04-22 20:54:37 -04:00
manual manual: add 'manual-7zip' build target for 7zipped HTML manual. 2025-04-18 11:24:40 -04:00
packaging Prepare unofficial pandora release 2013-03-10 14:09:30 +01:00
tools lang: Complain if there are multiple target matches for a given string 2025-05-04 08:53:22 -04:00
uisimulator Remove BATTERY_TYPES 2025-03-11 02:26:38 -04:00
utils stm32: add sample files for OpenOCD and GDB usage 2025-04-21 18:15:15 -04:00
wps [Feature] skinengine subline timeout hide line for n seconds 2024-12-07 23:02:22 -05:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore gitignore: Add the output directory of the release scripts 2025-04-29 20:20:16 -04:00
.gitreview misc: Add a .gitreview file for better gerrit integration 2021-06-24 07:22:19 -04: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.xz

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 mips/m68k/arm-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 generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-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-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

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

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