From 38baf3b19f0369c4b4dcceca1fd03aca5e076d67 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Thu, 19 Mar 2009 18:56:54 +0000 Subject: Added configure support for the Wii and Gamecube port svn-id: r39531 --- backends/platform/wii/Makefile | 254 ------------------------------- backends/platform/wii/main.cpp | 4 +- backends/platform/wii/module.mk | 15 ++ backends/platform/wii/osystem_events.cpp | 4 +- backends/platform/wii/wii.mk | 61 ++++++++ 5 files changed, 80 insertions(+), 258 deletions(-) delete mode 100644 backends/platform/wii/Makefile create mode 100644 backends/platform/wii/module.mk create mode 100644 backends/platform/wii/wii.mk (limited to 'backends') 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=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 #include +#include "osystem.h" + #ifdef USE_WII_DI #include #endif @@ -35,8 +37,6 @@ #include #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 #include +#include "osystem.h" + #ifndef GAMECUBE #include #endif @@ -31,8 +33,6 @@ #include -#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 + -- cgit v1.2.3