scummvm/backends/platform/gp32/Makefile
2006-09-29 08:14:27 +00:00

188 lines
5.1 KiB
Makefile

CC := arm-elf-gcc
CXX := arm-elf-g++
LD := arm-elf-g++
AS := arm-elf-as
AR := arm-elf-ar cru
RANLIB := arm-elf-ranlib
RM := rm -f
MKDIR := mkdir -p
ECHO := echo -n
CAT := cat
RM := rm -f
# recursive version of RM
RM_REC := $(RM) -r
ZIP := zip -q
CP := cp
OBJCOPY := arm-elf-objcopy
FXETOOL := b2fxec
#######################################################################
# Default compilation parameters. Normally don't edit these #
#######################################################################
CFLAGS = -marm -march=armv4t -mtune=arm920 -mapcs \
-finline-functions \
-fshort-enums \
-mstructure-size-boundary=32 \
-mno-thumb-interwork \
-I$(GPSDK)/include \
-g \
-O2 \
-fomit-frame-pointer
# -ffast-math \
# -fshort-double
CPPFLAGS:= $(CFLAGS)
CXXFLAGS:= $(CFLAGS)
DEFINES :=
LDFLAGS :=
INCLUDES:= -I. -Icommon
LIBS :=
OBJS :=
# Turn on useful warnings
CXXFLAGS+= -Wall -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion
CXXFLAGS+= -Wshadow -Wuninitialized -Wimplicit -Wundef
CXXFLAGS+= -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder
CXXFLAGS+= -Wwrite-strings -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor
# 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
# GPSDK (SDK, Includes and Startup Files) base dir
GPSDK = /usr/compat/gp32/share/sdk
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 -lgpfont \
-lm -lc -lgcc
INCLUDES += -Ibackends/platform/gp32 -Iengines -I$(GPSDK)/include
MODULES += backends/platform/gp32
# Outputs
EXEEXT = .elf
MAPFILE = scummvm.map
BIN = scummvm.gxb
FXE = scummvm.fxe
# Plugins hack
srcdir = ./
DEFINES = -D__GP32__
DEFINES += -DNONSTANDARD_PORT
# Disable new themes. GP32 has LOW memory!
DEFINES += -DDISABLE_FANCY_THEMES
# Support libtremor.
#DEFINES += -DUSE_VORBIS -DUSE_TREMOR -DGP32_SDK
#INCLUDES += -Ibackends/platform/gp32/gptremor
#LIBS += -Lbackends/platform/gp32/gptremor -lgptremor
# Support libmad.
#DEFINES += -DUSE_MAD
#INCLUDES += -Ibackends/platform/gp32/gpmad
#LIBS += -Lbackends/platform/gp32/gpmad -lgpmad
# Support libminilzo.
DEFINES += -DUSE_MINILZO
INCLUDES += -Ibackends/platform/gp32/minilzo
LIBS += -Lbackends/platform/gp32/minilzo -lminilzo
# 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
#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/platform/gp32/debug-gdbstub-usb.o
# Standard librarys and optimization modules
OBJS += backends/platform/gp32/startup.o \
backends/platform/gp32/memcpy.o \
backends/platform/gp32/gp_asmlib.o \
backends/platform/gp32/gp_clipped.o \
backends/platform/gp32/fontdata.o
# Custom GP32 std library
OBJS += backends/platform/gp32/gp32std.o \
backends/platform/gp32/gp32std_file.o \
backends/platform/gp32/gp32std_grap.o \
backends/platform/gp32/gp32std_input.o \
backends/platform/gp32/gp32std_memory.o \
backends/platform/gp32/gp32std_sound.o \
#backends/platform/gp32/dmaaudio_asm.o \
#backends/platform/gp32/dmaaudio.o \
#Main ScummVM for the GP32 Backend
OBJS += backends/platform/gp32/gp32_main.o \
backends/platform/gp32/gp32_launcher.o \
backends/platform/gp32/gp32_osys.o \
backends/fs/gp32/gp32-fs.o
$(FXE): $(BIN)
$(FXETOOL) -f -a "The ScummVM Team" -t "ScummVM for the GP32" -b backends/platform/gp32/scummvm.bmp $< $@
$(BIN): scummvm$(EXEEXT)
$(OBJCOPY) -O binary $< $@
# Uncomment this to use GCC 3.x specific dependency tracking (recommended)
HAVE_GCC3 = 1
#######################################################################
# Control which modules are built - uncomment any to disable module #
#######################################################################
DISABLE_SCALERS = 1
DISABLE_HQ_SCALERS = 1
#DISABLE_SCUMM = 1
# We can play The Dig with GP32 -- without any movies/musics/voices. But who would do that?
DISABLE_SCUMM_7_8 = 1
DISABLE_HE = 1
#DISABLE_AGOS = 1
#DISABLE_SKY = 1
#DISABLE_QUEEN = 1
#DISABLE_GOB = 1
#DISABLE_LURE = 1
#DISABLE_CINE = 1
#DISABLE_SAGA = 1
#DISABLE_KYRA = 1
#DISABLE_AGI = 1
# The engines below are not supported on the GP32 port so there is
# no point compiling support into the binary.
DISABLE_SWORD1 = 1
DISABLE_SWORD2 = 1
#######################################################################
# Misc stuff - you should normally never have to edit this #
#######################################################################
EXECUTABLE := scummvm$(EXEEXT)
include Makefile.common
dist:
$(RM) $(ZIPFILE)
$(ZIP) $(ZIPFILE) $(DISTFILES)