Desktop Linux
Firstly make sure that you have the necessary devel libraries installed (plus the libSDL_ttf-devel library if you are not using the pixmap font option) and then type "make".
If you are editing the source code and modify any header files then type "make clean && make".
The build system has been set-up so that by default GNU Robbo runs from the installation folder. If you want to install this software then you should simply comment the existing PACKAGE_DATA_DIR, BINDIR and DOCDIR group towards the top of the Makefile and uncomment the ones that interest you. Then type :-
- make clean
- make
- (If installing system-wide then login as root now)
- make install
GP2X
Type "make -f Makefile.gp2x". This creates a tarball using the GPH toolchain.
Type "make -f Makefile.open2x". This creates a tarball using the Open2x toolchain.
Maemo 5 Fremantle
Type "make -f Makefile.fremantle". This creates a Maemo 5 Fremantle package.
Sharp Zaurus
Type "make -f Makefile.zaurus". This creates an ipk for the Sharp ROM.
Sony Playstation Portable (PSP)
Type "make -f Makefile.psp". This creates an EBOOT.PBP.
FONT_USE_PIXMAP/FONT_USE_SDL_TTF
The project renders the text using SDL_ttf by default, but there are similar pixmap fonts available that can be enabled by selecting FONT_USE_PIXMAP instead of FONT_USE_SDL_TTF in the Makefile.
You may want to use the pixmap fonts if the target platform...
- uses a lower resolution or has a smaller screen (pixmap is crisper).
- would benefit from the speed advantage of rendering simple pixmaps.
- doesn't accept the Bitstream Vera Fonts licence LICENSE-ttf.
- doesn't have (or can't locate) the SDL_ttf library or devel package.
MUSIC
There is support for music which can be enabled/disabled by [un]commenting the line MUSIC=-DHAVE_MUSIC within the Makefile (please see the README for more information about configuring music).
DESIGNER
There is support for a mouse driven level designer which can be enabled/disabled by [un]commenting the line DESIGNER=-DHAVE_DESIGNER within the Makefile (please see the README for more information about the level designer).
Porting to Other Platforms
The build system and this project have been designed to make it as easy as possible to port to other platforms and devices. The source code has official support for Win32, PC (Linux desktop), GPH GP2X, Sharp Zaurus, Maemo 5 Fremantle and the Sony PlayStation PSP. Platform dependent code is wrapped in PLATFORM_WIN32, PLATFORM_PC, PLATFORM_GP2X, PLATFORM_ZAURUS, PLATFORM_FREMANTLE and PLATFORM_PSP compiler directives respectively, so initially you'll want to append these #if #elif... #endif conditional groups with a suitable directive for your platform and either copy and paste the code from one of the others or add your own.
This project will run centred in any resolution greater than 240x240 via the -XRESxYRES command line option, therefore it can be run on anything from a portrait orientated mobile/cellular phone to a widescreen internet tablet or netbook without having to reengineer the graphics rendering code.