aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorAndre Heider2009-03-19 18:56:54 +0000
committerAndre Heider2009-03-19 18:56:54 +0000
commit38baf3b19f0369c4b4dcceca1fd03aca5e076d67 (patch)
tree55f3562f587313ea28152a32cfe24302d86e6fde /backends
parenta0545c413330d5993806e8d7956a1c254d77020b (diff)
downloadscummvm-rg350-38baf3b19f0369c4b4dcceca1fd03aca5e076d67.tar.gz
scummvm-rg350-38baf3b19f0369c4b4dcceca1fd03aca5e076d67.tar.bz2
scummvm-rg350-38baf3b19f0369c4b4dcceca1fd03aca5e076d67.zip
Added configure support for the Wii and Gamecube port
svn-id: r39531
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/wii/Makefile254
-rw-r--r--backends/platform/wii/main.cpp4
-rw-r--r--backends/platform/wii/module.mk15
-rw-r--r--backends/platform/wii/osystem_events.cpp4
-rw-r--r--backends/platform/wii/wii.mk61
5 files changed, 80 insertions, 258 deletions
diff --git a/backends/platform/wii/Makefile b/backends/platform/wii/Makefile
deleted file mode 100644
index a3b651023e..0000000000
--- a/backends/platform/wii/Makefile
+++ /dev/null
@@ -1,254 +0,0 @@
-# This toggle redirects stdout/err over a USB Gecko adapter in memcard slot b.
-# It is safe to keep this enabled, even if no such adapter is present.
-DEBUG_WII_USBGECKO = 1
-
-# This toggle enables simple memory statistics. The amount of physical
-# available memory will be printed to stderr when it shrinks.
-# The buckets of the allocator are not taken into account.
-DEBUG_WII_MEMSTATS = 0
-
-# This toggle sets up the GDB stub. Upon a crash or a reset button press
-# attach a remote GDB via `make debug` (requires a USB Gecko adapter).
-DEBUG_WII_GDB = 0
-
-# Builds a Gamecube version. Cleanup object files before flipping this!
-GAMECUBE = 0
-
-# Enable DVD ISO9660/Joliet support using libdi (included in libogc, but the
-# ISO9660 support has not been commited to the official svn yet, requires the
-# git repository for now).
-# This requires a working DVDX install to function, not available on Gamecube.
-ifeq ($(GAMECUBE),1)
-USE_WII_DI = 0
-else
-USE_WII_DI = 1
-endif
-
-# Enable USB keyboard support through libwiikeyboard (included in libogc, but
-# it has not been commited to the official svn yet, requires the git repository
-# for now). Not available on Gamecube.
-ifeq ($(GAMECUBE),1)
-USE_WII_KBD = 0
-else
-USE_WII_KBD = 1
-endif
-
-# List of game engines to compile in. Comment a to disable the engine.
-ENABLE_SCUMM = STATIC_PLUGIN
-ENABLE_SCUMM_7_8 = STATIC_PLUGIN
-ENABLE_HE = STATIC_PLUGIN
-ENABLE_AGI = STATIC_PLUGIN
-ENABLE_AGOS = STATIC_PLUGIN
-ENABLE_CINE = STATIC_PLUGIN
-ENABLE_CRUISE = STATIC_PLUGIN
-ENABLE_DRASCULA = STATIC_PLUGIN
-ENABLE_GOB = STATIC_PLUGIN
-ENABLE_GROOVIE = STATIC_PLUGIN
-ENABLE_IGOR = STATIC_PLUGIN
-ENABLE_KYRA = STATIC_PLUGIN
-ENABLE_LURE = STATIC_PLUGIN
-ENABLE_M4 = STATIC_PLUGIN
-ENABLE_MADE = STATIC_PLUGIN
-ENABLE_PARALLACTION = STATIC_PLUGIN
-ENABLE_QUEEN = STATIC_PLUGIN
-ENABLE_SAGA = STATIC_PLUGIN
-ENABLE_SCI = STATIC_PLUGIN
-ENABLE_IHNM = STATIC_PLUGIN
-ENABLE_SAGA2 = STATIC_PLUGIN
-ENABLE_SKY = STATIC_PLUGIN
-ENABLE_SWORD1 = STATIC_PLUGIN
-ENABLE_SWORD2 = STATIC_PLUGIN
-ENABLE_TINSEL = STATIC_PLUGIN
-ENABLE_TOUCHE = STATIC_PLUGIN
-ENABLE_TUCKER = STATIC_PLUGIN
-
-# Scalers are currently not supported by this port.
-DISABLE_HQ_SCALERS = 1
-DISABLE_SCALERS = 1
-
-# MT32 emulation, included in ScummVM. The Gamecube does not have enough
-# memory to use it.
-ifeq ($(GAMECUBE),1)
-USE_MT32EMU = 0
-else
-USE_MT32EMU = 1
-endif
-
-# Additional features to compile in. zLib and MAD are inluded in libogc, the
-# others require installed headers and crosscompiled static libraries.
-USE_ZLIB = 1
-USE_MAD = 1
-USE_TREMOR = 1
-USE_FLAC = 1
-#USE_MPEG2 = 1
-
-#
-# Don't change anything below this line unless you know what you are doing.
-#
-
-srcdir = ../../..
-VPATH = $(srcdir)
-HAVE_GCC3 = 1
-DEPDIR = .deps
-
-DISTPATH = $(srcdir)/dists/wii
-
-ifeq ($(strip $(DEVKITPPC)),)
-$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
-endif
-
-PREFIX = $(DEVKITPPC)/bin/powerpc-gekko-
-CXX = $(PREFIX)g++
-AS = $(PREFIX)gcc
-LD = $(PREFIX)gcc
-AR = $(PREFIX)ar cru
-RANLIB = $(PREFIX)ranlib
-STRIP = $(PREFIX)strip -g
-GDB = $(PREFIX)gdb
-MKDIR = mkdir -p
-RM = rm -f
-RM_REC = rm -rf
-CP = cp -f
-
-ifeq ($(GAMECUBE),1)
-TARGET = scummvm-gc
-MACHDEP = -DGEKKO -DGAMECUBE -mogc -mcpu=750 -meabi -mhard-float \
- -ffunction-sections -fdata-sections -fmodulo-sched
-LIBDIR = $(DEVKITPRO)/libogc/lib/cube
-LIBS = -lstdc++ -lfat -logc -lm
-else
-TARGET = scummvm-wii
-MACHDEP = -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float \
- -ffunction-sections -fdata-sections -fmodulo-sched
-LIBDIR = $(DEVKITPRO)/libogc/lib/wii
-LIBS = -lstdc++ -ldi -lfat -lwiiuse -lbte -logc -lwiikeyboard -lm
-endif
-
-INCDIR = $(srcdir) . $(srcdir)/engines/ $(DEVKITPRO)/libogc/include
-
-CXXFLAGS = -g -Os -Wall $(MACHDEP) -D__WII__ -Wno-multichar -Wno-long-long \
- -Wno-unknown-pragmas -Wno-reorder -fno-exceptions -fno-rtti
-
-CXXFLAGS += $(addprefix -I,$(INCDIR))
-LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(TARGET).elf.map
-LDFLAGS += $(addprefix -L,$(LIBDIR))
-
-CXXFLAGS += -I$(DEVKITPRO)/3rd/wii/include
-LDFLAGS += -L$(DEVKITPRO)/3rd/wii/lib
-
-CXXFLAGS += -DENABLE_VKEYBD -DENABLE_KEYMAPPER
-
-ifeq ($(DEBUG_WII_USBGECKO),1)
-CXXFLAGS += -DDEBUG_WII_USBGECKO
-endif
-
-ifeq ($(DEBUG_WII_MEMSTATS),1)
-CXXFLAGS += -DDEBUG_WII_MEMSTATS
-endif
-
-ifeq ($(DEBUG_WII_GDB),1)
-CXXFLAGS += -DDEBUG_WII_GDB
-LIBS += -ldb
-endif
-
-ifeq ($(USE_WII_DI),1)
-CXXFLAGS += -DUSE_WII_DI
-endif
-
-ifeq ($(USE_WII_KBD),1)
-CXXFLAGS += -DUSE_WII_KBD
-endif
-
-ifeq ($(USE_ZLIB),1)
-CXXFLAGS += -DUSE_ZLIB
-LIBS += -lz
-endif
-
-ifeq ($(USE_MAD),1)
-CXXFLAGS += -DUSE_MAD -I$(DEVKITPRO)/libogc/include/mad
-LIBS += -lmad
-endif
-
-ifeq ($(USE_TREMOR),1)
-CXXFLAGS += -DUSE_VORBIS -DUSE_TREMOR
-LIBS += -lvorbisidec
-endif
-
-ifeq ($(USE_FLAC),1)
-CXXFLAGS += -DUSE_FLAC
-LIBS += -lFLAC
-endif
-
-ifeq ($(USE_MPEG2),1)
-CXXFLAGS += -DUSE_MPEG2
-LIBS += -lmpeg2
-endif
-
-ifeq ($(USE_MT32EMU),1)
-CXXFLAGS += -DUSE_MT32EMU
-endif
-
-OBJS := backends/platform/wii/main.o \
- backends/platform/wii/gx_supp.o \
- backends/platform/wii/osystem.o \
- backends/platform/wii/osystem_gfx.o \
- backends/platform/wii/osystem_sfx.o \
- backends/platform/wii/osystem_events.o
-
-include $(srcdir)/Makefile.common
-
-.PHONY: clean-wii distclean-wii upload dist
-
-all: $(TARGET).dol
-
-$(TARGET).dol: $(TARGET).elf
- $(DEVKITPPC)/bin/elf2dol $< $@
-
-$(TARGET).elf: $(OBJS)
- $(LD) $^ $(LDFLAGS) $(LIBS) -o $@
-
-clean: clean-wii
-
-clean-wii:
- @$(RM) $(TARGET).elf $(TARGET).elf.map $(TARGET).dol
-
-distclean: distclean-wii
-
-distclean-wii:
- @$(RM_REC) dist
-
-upload: $(TARGET).dol
-ifeq ($(GAMECUBE),1)
- $(DEVKITPPC)/bin/geckoupload $(TARGET).dol
-else
- $(DEVKITPPC)/bin/wiiload $(TARGET).dol -d3
-endif
-
-gdb:
- $(GDB) -n $(TARGET).elf
-
-debug:
- $(GDB) -n $(TARGET).elf -x gdb.txt
-
-dist:
- $(MKDIR) dist/scummvm
-ifeq ($(GAMECUBE),1)
- $(CP) $(TARGET).dol dist/scummvm/
-else
- $(CP) $(TARGET).dol dist/scummvm/boot.dol
- $(CP) $(DISTPATH)/meta.xml dist/scummvm/
- $(CP) $(DISTPATH)/icon.png dist/scummvm/
-endif
- $(CP) $(DISTPATH)/READMII dist/scummvm/
- $(CP) $(srcdir)/AUTHORS dist/scummvm/
- $(CP) $(srcdir)/COPYING dist/scummvm/
- $(CP) $(srcdir)/COPYING.LGPL dist/scummvm/
- $(CP) $(srcdir)/COPYRIGHT dist/scummvm/
- $(CP) $(srcdir)/NEWS dist/scummvm/
- $(CP) $(srcdir)/README dist/scummvm/
- $(CP) $(srcdir)/dists/pred.dic dist/scummvm/
- $(CP) $(DIST_FILES_THEMES) dist/scummvm/
-ifneq ($(DIST_FILES_ENGINEDATA),)
- $(CP) $(DIST_FILES_ENGINEDATA) dist/scummvm/
-endif
-
diff --git a/backends/platform/wii/main.cpp b/backends/platform/wii/main.cpp
index 1182ddd31b..54c6f49ef2 100644
--- a/backends/platform/wii/main.cpp
+++ b/backends/platform/wii/main.cpp
@@ -27,6 +27,8 @@
#include <ogc/machine/processor.h>
#include <fat.h>
+#include "osystem.h"
+
#ifdef USE_WII_DI
#include <di/di.h>
#endif
@@ -35,8 +37,6 @@
#include <debug.h>
#endif
-#include "osystem.h"
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/backends/platform/wii/module.mk b/backends/platform/wii/module.mk
new file mode 100644
index 0000000000..912389902b
--- /dev/null
+++ b/backends/platform/wii/module.mk
@@ -0,0 +1,15 @@
+MODULE := backends/platform/wii
+
+MODULE_OBJS := \
+ main.o \
+ gx_supp.o \
+ osystem.o \
+ osystem_gfx.o \
+ osystem_sfx.o \
+ osystem_events.o
+
+MODULE_DIRS += \
+ backends/platform/wii/
+
+# We don't use the rules.mk here on purpose
+OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS)) $(OBJS)
diff --git a/backends/platform/wii/osystem_events.cpp b/backends/platform/wii/osystem_events.cpp
index 202c3ecfd7..05f3469e42 100644
--- a/backends/platform/wii/osystem_events.cpp
+++ b/backends/platform/wii/osystem_events.cpp
@@ -22,6 +22,8 @@
#include <unistd.h>
#include <malloc.h>
+#include "osystem.h"
+
#ifndef GAMECUBE
#include <wiiuse/wpad.h>
#endif
@@ -31,8 +33,6 @@
#include <ogc/lwp_watchdog.h>
-#include "osystem.h"
-
#define TIMER_THREAD_STACKSIZE (1024 * 32)
#define TIMER_THREAD_PRIO 64
diff --git a/backends/platform/wii/wii.mk b/backends/platform/wii/wii.mk
new file mode 100644
index 0000000000..030cc997eb
--- /dev/null
+++ b/backends/platform/wii/wii.mk
@@ -0,0 +1,61 @@
+WII_ELF=scummvm.elf
+WII_DOL=scummvm.dol
+WII_DISTPATH=$(srcdir)/dists/wii
+all: $(WII_DOL)
+
+$(WII_DOL): $(WII_ELF)
+ $(DEVKITPPC)/bin/elf2dol $< $@
+
+clean: wiiclean
+
+wiiclean:
+ $(RM) $(WII_DOL)
+
+wiiload: $(WII_DOL)
+ $(DEVKITPPC)/bin/wiiload $(WII_DOL) -d3
+
+geckoupload: $(WII_DOL)
+ $(DEVKITPPC)/bin/geckoupload $(WII_DOL)
+
+wiigdb:
+ $(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_ELF)
+
+wiidebug:
+ $(DEVKITPPC)/bin/powerpc-gekko-gdb -n $(WII_ELF) -x $(srcdir)/backends/platform/wii/gdb.txt
+
+wiidist:
+ $(MKDIR) dist/scummvm
+ $(CP) $(WII_DOL) dist/scummvm/boot.dol
+ $(CP) $(WII_DISTPATH)/meta.xml dist/scummvm/
+ $(CP) $(WII_DISTPATH)/icon.png dist/scummvm/
+ $(CP) $(WII_DISTPATH)/READMII dist/scummvm/
+ $(CP) $(srcdir)/AUTHORS dist/scummvm/
+ $(CP) $(srcdir)/COPYING dist/scummvm/
+ $(CP) $(srcdir)/COPYING.LGPL dist/scummvm/
+ $(CP) $(srcdir)/COPYRIGHT dist/scummvm/
+ $(CP) $(srcdir)/NEWS dist/scummvm/
+ $(CP) $(srcdir)/README dist/scummvm/
+ $(CP) $(srcdir)/dists/pred.dic dist/scummvm/
+ $(CP) $(DIST_FILES_THEMES) dist/scummvm/
+ifneq ($(DIST_FILES_ENGINEDATA),)
+ $(CP) $(DIST_FILES_ENGINEDATA) dist/scummvm/
+endif
+
+gcdist:
+ $(MKDIR) dist/scummvm
+ $(CP) $(WII_DOL) dist/scummvm/
+ $(CP) $(WII_DISTPATH)/READMII dist/scummvm/
+ $(CP) $(srcdir)/AUTHORS dist/scummvm/
+ $(CP) $(srcdir)/COPYING dist/scummvm/
+ $(CP) $(srcdir)/COPYING.LGPL dist/scummvm/
+ $(CP) $(srcdir)/COPYRIGHT dist/scummvm/
+ $(CP) $(srcdir)/NEWS dist/scummvm/
+ $(CP) $(srcdir)/README dist/scummvm/
+ $(CP) $(srcdir)/dists/pred.dic dist/scummvm/
+ $(CP) $(DIST_FILES_THEMES) dist/scummvm/
+ifneq ($(DIST_FILES_ENGINEDATA),)
+ $(CP) $(DIST_FILES_ENGINEDATA) dist/scummvm/
+endif
+
+.PHONY: wiiclean wiiload geckoupload wiigdb wiidebug wiidist gcdist
+