diff options
Diffstat (limited to 'backends/gp32/build.rules')
-rw-r--r-- | backends/gp32/build.rules | 166 |
1 files changed, 131 insertions, 35 deletions
diff --git a/backends/gp32/build.rules b/backends/gp32/build.rules index bdcfb25279..605afdee36 100644 --- a/backends/gp32/build.rules +++ b/backends/gp32/build.rules @@ -1,35 +1,131 @@ -# Makefile for GP32 development using devkitadv under Win32 -# Written 2002 by Christian Nowak <chnowak@web.de> -# Modified by ph0x (ph0x@freemail.hu) - -# devkitadv base dir -CCBASE=c:/devkitadv - -CXX = $(CCBASE)/bin/g++ -CXXFLAGS= -mcpu=arm9tdmi \ - -mtune=arm9tdmi \ - -mapcs \ - -O2 \ - -fomit-frame-pointer \ - -finline-functions \ - -fno-exceptions \ - -fno-common \ - -fno-builtin \ - -fshort-enums \ - -ffast-math \ - -fshort-double \ - -fallow-single-precision \ - -ffreestanding \ - -fexpensive-optimizations \ - -mstructure-size-boundary=32 \ - -mno-thumb-interwork \ - -I$(CCBASE)/arm-agb-elf/include/gp32 \ - -Wno-multichar - -DEFINES = -D__GP32__ -DNONSTANDARD_PORT -LNKSCRIPT =$(CCBASE)/arm-agb-elf/lib/lnkscript -LDFLAGS = -Wl,-T $(LNKSCRIPT) -LIBS += -lgpgraphic -lgpmem -lgpos -lgpstdlib -lgpstdio -lgpsound -lgpfont -INCLUDES += -Ibackends/gp32 -MODULES += backends/gp32 -OBJS += $(CCBASE)/arm-agb-elf/lib/gpstart/gpstart.o backends/gp32/gp32.o backends/gp32/gp-fs.o +# ScummVM - Scumm Interpreter +# Copyright (C) 2001 Ludvig Strigeus +# Copyright (C) 2001/2004 The ScummVM project +# Copyright (C) 2002 ph0x - GP32 port +# Copyright (C) 2003-4 DJWillis - GP32 port +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Module Details - ScummVM for the GP32 +# Build.Rules for GP32 Backend. +# +# Port Maintainer - DJWillis <gp32@distant-earth.co.uk> + +# GPSDK (SDK, Includes and Startup Files) base dir +GPSDK = /usr/compat/gp32/share/sdk + +# Outputs +EXEEXT = .elf +MAPFILE = scummvm.map +BIN = scummvm.gxb +FXE = scummvm.fxe + +# Stripped Build? (Smaller ELF, Minimal debug symbol information). +# You MUST comment this out with a # if you wish to debug your code. +# STRIP_DEBUG = -Wl,--strip-debug + +# Plugins hack +srcdir = ./ + +# GP32 Direct Execute Tool (i.e. pclink -e on Windows, gplink run on Linux) +EXECUTE_TOOL = pclink -e + +# GCC Tool-chain +CC = arm-elf-gcc +CXX = arm-elf-g++ +LD = arm-elf-g++ +AS = arm-elf-as +OBJCOPY = arm-elf-objcopy +FXETOOL = b2fxec + +CFLAGS = -marm \ + -march=armv4t \ + -mapcs \ + -finline-functions \ + -fshort-enums \ + -ffast-math \ + -fshort-double \ + -mstructure-size-boundary=32 \ + -mno-thumb-interwork \ + -I$(GPSDK)/include \ + -g \ + #-Wno-multichar \ + #-O3 \ + #-fomit-frame-pointer + + # Remove the below from the above flags for Debug. + #-O3 \ + #-fomit-frame-pointer + +CPPFLAGS = $(CFLAGS) + +DEFINES = -D__GP32__ +DEFINES += -DNONSTANDARD_PORT + +# Support Vorbis Tremor Patches. +#DEFINES += -DVORBIS_TREMOR + +# Support LIBMAD Patches. +#DEFINES += -DGP32_MADMP3 + +# Support for 8:3 save files names (The GP32 uses FAT12/16 (no vFAT) for the file system). +DEFINES += -DSHORT_SAVENAMES + +# Support for the unsigned sound mixer. +DEFINES += -DOUTPUT_UNSIGNED_AUDIO + +# Support for the GP32 (fmOPL derived) MIDI engine. +# - NOT fully implemented yet. +DEFINES += -DUSE_GP32_FMOPL + +LDSPECS = -specs=gp32_gpsdk.specs + +LDFLAGS = $(STRIP_DEBUG) \ + -Wl,-Map,$(MAPFILE) \ + $(LDSPECS) -Wl,--no-warn-mismatch + +LIBS += -L$(GPSDK)/lib \ + -lgpmem -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpgraphic -lgpgraphic16 -lgpfont -lgpfont16 \ + -lm -lc -lgcc + +INCLUDES += -Ibackends/gp32 -I$(GPSDK)/include + +MODULES += backends/gp32 + +#GP32 Debug - Remove from Release builds +# This builds in the GP32 GDB USB Stub. Don't use it unless you know what your doing. +# You also need to remove ANY optemisation from the compiler flags. +DEFINES += -DGP32_GDB +OBJS += backends/gp32/debug-gdbstub-usb.o + +#GamePark SDK startup. +OBJS += backends/gp32/startup.o + +#Main ScummVM for the GP32 Backend +OBJS += backends/gp32/gp32.o \ + backends/gp32/gp-fs.o \ + backends/gp32/cpuspeed.o \ + + #backends/gp32/dmaaudio_asm.o \ + #backends/gp32/dmaaudio.o \ + +#install: all + #$(EXECUTE_TOOL) $(BIN) + +$(FXE): $(BIN) + $(FXETOOL) -f -a "DJWillis/ScummVM Team" -t "ScummVM for the GP32" -b scummvm.bmp $< $@ + +$(BIN): scummvm$(EXEEXT) + $(OBJCOPY) -O binary $< $@ |