dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: bmp support in the build system

Re: bmp support in the build system

From: Dave Chapman <>
Date: Mon, 26 Dec 2005 23:05:52 +0100

Linus Nielsen Feltzing wrote:
>> The configure script has been modified to create a BMP2RB variable
>> containing the bmp2rb command for native bitmaps for that target -
>> e.g. "$(toolsdir)/bmp2rb -f 2" for iriver h1x0.
> Perhaps it should be two BMP2RB variables, one for the main LCD and one
> for the remote?

The problem then becomes how to tell the build system which BMP2RB
variable to use.

> BTW, I don't see the need for the #ifdef in misc.c for the
> rockboxmonologo. Why isn't rockboxlogo in the native monochrome format
> instead?

It's to do with names. There are the following versions of the logo in
the apps/bitmaps/ directory:


bmp2rb uses the filename up to the first . to name the bitmap in the
generated .c file - which is why (for the irivers) the mono and
greyscale logos have to have different names.

I agree that it would be nice if the mono logo was called rockboxlogo as
well when it was being used as the logo for the main screen on the
Archos, but my current Makefiles can't deal with the case of the same
input bitmap having two different output names, depending on the target.

>> 1) Each target uses multiple bitmaps formats - potentially we could
>> have three different formats - mono, native (main unit), and native
>> (remote). These could potentially requre different parameters passed
>> to bmp2rb.c
>> In the current patch, this has been resolved by adding a "-m" option
>> to bmp2rb. For non-mono targets, this causes bmp2rb to ignore the -f
>> option and output a "-f 0" bitmap if the input bitmap has depth 1.
> This could probably be solved by using two BMP2RB variables in the
> config script.

But the problem is how to tell the build system which BMP2RB variable
needs to be used.

If we take the extreme case, then we will need three BMP2RB variables -
one for the mono format (which may differ from the existing format for
as yet unsupported mono LCD targets), one for the main unit, and one for
the remote.

We may also want the build system to process the same bitmap in
different ways for different targets, and to give the same bitmap
different names for different targets.

So this would mean the SOURCES file would have to have lines of the format:

[mono|native|remote] bitmapname.bmp outputname

Which I'm not quite sure how we could parse in a Makefile - unless we
generate a Makefile based on the bitmap SOURCES, and then run make with
that second Makefile. Which all gets a bit complicated.

Received on 2005-12-26

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy