diff options
Diffstat (limited to 'backends/platform/ps2/Makefile.ps2')
-rw-r--r-- | backends/platform/ps2/Makefile.ps2 | 232 |
1 files changed, 171 insertions, 61 deletions
diff --git a/backends/platform/ps2/Makefile.ps2 b/backends/platform/ps2/Makefile.ps2 index d6ce08ae84..3631c653f6 100644 --- a/backends/platform/ps2/Makefile.ps2 +++ b/backends/platform/ps2/Makefile.ps2 @@ -1,107 +1,217 @@ -# $Header: Exp $ - include $(PS2SDK)/Defs.make +# SCUMMVM-PS2 MakeFile -PS2_EXTRA = /works/devel/ps2/sdk-extra -PS2_EXTRA_INCS = /zlib/include /libmad/ee/include /SjPcm/ee/src /tremor -PS2_EXTRA_LIBS = /zlib/lib /libmad/ee/lib /SjPcm/ee/lib /tremor/tremor -ENABLED=STATIC_PLUGIN +# Use only this section to modify how the makefile behaves ------------ -ENABLE_SCUMM = $(ENABLED) -ENABLE_SCUMM_7_8 = $(ENABLED) -ENABLE_HE = $(ENABLED) +# Scummvm engine config: choose which engines are enabled ENABLE_AGI = $(ENABLED) ENABLE_AGOS = $(ENABLED) -ENABLE_AGOS2 = $(ENABLED) +ENABLE_AGOS2 = 1 +# ENABLE_AVALANCHE = $(ENABLED) +ENABLE_CGE = $(ENABLED) ENABLE_CINE = $(ENABLED) +ENABLE_COMPOSER = $(ENABLED) ENABLE_CRUISE = $(ENABLED) ENABLE_DRACI = $(ENABLED) ENABLE_DRASCULA = $(ENABLED) +ENABLE_DREAMWEB = $(ENABLED) +# ENABLE_FULLPIPE = $(ENABLED) ENABLE_GOB = $(ENABLED) ENABLE_GROOVIE = $(ENABLED) # ENABLE_GROOVIE2 = $(ENABLED) +# ENABLE_HOPKINS = $(ENABLED) ENABLE_HUGO = $(ENABLED) -ENABLE_IHNM = $(ENABLED) ENABLE_KYRA = $(ENABLED) -# ENABLE_LOL = $(ENABLED) +ENABLE_LOL = 1 +ENABLE_EOB = 1 +# ENABLE_LASTEXPRESS = $(ENABLED) ENABLE_LURE = $(ENABLED) -# ENABLE_M4 = $(ENABLED) ENABLE_MADE = $(ENABLED) ENABLE_MOHAWK = $(ENABLED) +# ENABLE_CSTIME = $(ENABLED) +# ENABLE_RIVEN = $(ENABLED) +# ENABLE_MYST = $(ENABLED) +ENABLE_MORTEVIELLE = $(ENABLED) +ENABLE_NEVERHOOD = $(ENABLED) ENABLE_PARALLACTION = $(ENABLED) +# ENABLE_PEGASUS = $(ENABLED) ENABLE_QUEEN = $(ENABLED) ENABLE_SAGA = $(ENABLED) +ENABLE_IHNM = 1 # ENABLE_SAGA2 = $(ENABLED) ENABLE_SCI = $(ENABLED) # ENABLE_SCI32 = $(ENABLED) +ENABLE_SCUMM = $(ENABLED) +ENABLE_SCUMM_7_8 = 1 +ENABLE_HE = 1 ENABLE_SKY = $(ENABLED) ENABLE_SWORD1 = $(ENABLED) ENABLE_SWORD2 = $(ENABLED) +# ENABLE_SWORD25 = $(ENABLED) ENABLE_TEENAGENT = $(ENABLED) +# ENABLE_TESTBED = $(ENABLED) ENABLE_TINSEL = $(ENABLED) +ENABLE_TOLTECS = $(ENABLED) +# ENABLE_TONY = $(ENABLED) ENABLE_TOON = $(ENABLED) ENABLE_TOUCHE = $(ENABLED) +ENABLE_TSAGE = $(ENABLED) ENABLE_TUCKER = $(ENABLED) - - -HAVE_GCC3 = true - -CC = ee-gcc -CXX = ee-g++ -AS = ee-gcc -LD = ee-gcc +# ENABLE_WINTERMUTE = $(ENABLED) +# ENABLE_ZVISION = $(ENABLED) + +# Set to 1 to enable seeing the commands to gcc +VERBOSE_BUILD = 0 +# Set to 1 to enable, 0 to disable dynamic modules +DYNAMIC_MODULES = 1 +# Set to 1 to enable debugging +ENABLE_DEBUG = 0 +# Set to 1 to enable profiling +ENABLE_PROFILING = 0 +# Set to 1 to disable HDD+NET +DISABLE_NETWORK = 0 +# Set to 1 to enable, 0 to disable libmad and libogg +USE_LIBMAD = 1 +USE_LIBOGG = 1 + +# --------------------------------------------------------------------- + + +# General variables +srcdir = ../../.. +VPATH = $(srcdir) +TARGET = scummvm.elf +# PS2 SDK location variables +# PS2SDK = /works/tools/devel/ps2/sdk + +# Check PS2SDK presence +ifeq ($(PS2SDK),) +$(error $$(PS2SDK) needs to be set.) +endif + +# Variables for common Scummvm makefile +CC = ee-gcc +CXX = ee-g++ +FLAGS = -pedantic -Wall -W +FLAGS += -Wcast-qual -Wconversion -Wpointer-arith -Wshadow -Wwrite-strings +FLAGS += -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-unused-parameter +CFLAGS = $(FLAGS) -std=c99 +CXXFLAGS = $(FLAGS) -Wnon-virtual-dtor -Wno-reorder -fno-exceptions -fno-rtti + +DEFINES = -D_EE -D__PLAYSTATION2__ -D__NEW_PS2SDK__ -DUSE_ZLIB -DFORCE_RTL -DDATA_PATH=\"host:data\" +DEFINES += -DDISABLE_SAVEGAME_SORTING -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE -DDISABLE_DOSBOX_OPL -DDISABLE_SID -DDISABLE_NES_APU +# DEFINES += -DLOGORRHEIC + +INCDIR := $(PS2SDK)/ee/include $(PS2SDK)/common/include $(PS2SDK)/ports/include . $(srcdir) $(srcdir)/engines +INCLUDES := $(addprefix -I, $(INCDIR)) +DEPDIR = .deps +MODULE_DIRS += ./ +MKDIR = mkdir -p +RM = rm -f +RM_REC = rm -rf AR = ee-ar cru RANLIB = ee-ranlib STRIP = ee-strip -MKDIR = mkdir -p -RM = rm -f - -srcdir = ../../.. -VPATH = $(srcdir) -INCDIR = ../../../ -# DEPDIR = .deps - -DEFINES = -DUSE_VORBIS -DUSE_TREMOR -DUSE_MAD -DUSE_ZLIB -DFORCE_RTL -DDISABLE_SAVEGAME_SORTING -D_EE -D__PLAYSTATION2__ -G2 -O2 -Wall -Wno-multichar -fno-rtti -fno-exceptions # -DNO_ADAPTOR -# for release builds: -#DEFINES += -DRELEASE_BUILD - -INCLUDES = $(addprefix -I$(PS2_EXTRA),$(PS2_EXTRA_INCS)) -INCLUDES += -I $(PS2SDK)/ee/include -I $(PS2SDK)/common/include -I ./common -I . -I $(srcdir) -I $(srcdir)/engines - -CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP - -TARGET = elf/scummvm.elf +AS = ee-gcc +LD = ee-gcc +HAVE_GCC3 = true +CXX_UPDATE_DEP_FLAG = -MMD -MF "$(*D)/$(DEPDIR)/$(*F).d" -MQ "$@" -MP + +# Variables for dynamic plugin building +PLUGIN_PREFIX = +PLUGIN_SUFFIX = .plg +PLUGIN_EXTRA_DEPS = $(TARGET) +PLUGIN_LDFLAGS = -nostartfiles $(srcdir)/backends/plugins/elf/version.o -Wl,-q,--just-symbols,$(TARGET),--retain-symbols-file,$(srcdir)/backends/plugins/elf/plugin.syms +PLUGIN_LDFLAGS += -mno-crt0 $(PS2SDK)/ee/startup/crt0.o -Wl,-T$(srcdir)/backends/plugins/ps2/plugin.ld -lstdc++ -lc + +# Test for adding different libs +ifeq ($(USE_LIBMAD),1) +DEFINES += -DUSE_MAD +LIBS += -lmad +endif +ifeq ($(USE_LIBOGG), 1) +DEFINES += -DUSE_VORBIS -DUSE_TREMOR +LIBS += -ltremor +endif + +# Test for dynamic plugins +ifeq ($(DYNAMIC_MODULES),1) +ENABLED = DYNAMIC_PLUGIN +DEFINES += -DDYNAMIC_MODULES -DUSE_ELF_LOADER -DMIPS_TARGET -DUNCACHED_PLUGINS -DPLUGIN_DIRECTORY=\"host:plugins\" +PRE_OBJS_FLAGS = -Wl,--whole-archive +POST_OBJS_FLAGS = -Wl,--no-whole-archive +else +ENABLED = STATIC_PLUGIN +endif + +# Test for debug +ifeq ($(ENABLE_DEBUG),1) +DEFINES += -D__PS2_DEBUG__ +FLAGS += -G2 -g +LIBS += -lps2gdbStub -lps2ip -ldebug +else +DEFINES += -DRELEASE_BUILD +FLAGS += -G2 -O2 -s -Wuninitialized +# LDFLAGS += -s +endif + +# Test for profiling +ifeq ($(ENABLE_PROFILING),1) +DEFINES += -DENABLE_PROFILING +FLAGS += -G2 -pg -g +LDFLAGS += -pg +endif + +# Test for net support +ifeq ($(DISABLE_NETWORK),1) +DEFINES += -DNO_ADAPTOR +endif + +# PS2 LIBS +PS2LIBS = -lmc -lpad -lmouse -lhdd -lpoweroff -lsjpcm -lz -lm -lc -lfileXio -lkernel -lstdc++ + +# Add in PS2SDK includes and libraries. +LIBS += $(PS2LIBS) OBJS := $(srcdir)/backends/platform/ps2/DmaPipe.o \ - $(srcdir)/backends/platform/ps2/Gs2dScreen.o \ - $(srcdir)/backends/platform/ps2/irxboot.o \ - $(srcdir)/backends/platform/ps2/ps2input.o \ - $(srcdir)/backends/platform/ps2/ps2pad.o \ - $(srcdir)/backends/platform/ps2/savefilemgr.o \ - $(srcdir)/backends/platform/ps2/fileio.o \ - $(srcdir)/backends/platform/ps2/asyncfio.o \ - $(srcdir)/backends/platform/ps2/icon.o \ - $(srcdir)/backends/platform/ps2/cd.o \ - $(srcdir)/backends/platform/ps2/eecodyvdfs.o \ - $(srcdir)/backends/platform/ps2/rpckbd.o \ - $(srcdir)/backends/platform/ps2/systemps2.o \ - $(srcdir)/backends/platform/ps2/ps2mutex.o \ - $(srcdir)/backends/platform/ps2/ps2time.o \ - $(srcdir)/backends/platform/ps2/ps2debug.o - -MODULE_DIRS += . + $(srcdir)/backends/platform/ps2/Gs2dScreen.o \ + $(srcdir)/backends/platform/ps2/irxboot.o \ + $(srcdir)/backends/platform/ps2/ps2input.o \ + $(srcdir)/backends/platform/ps2/ps2pad.o \ + $(srcdir)/backends/platform/ps2/savefilemgr.o \ + $(srcdir)/backends/platform/ps2/fileio.o \ + $(srcdir)/backends/platform/ps2/asyncfio.o \ + $(srcdir)/backends/platform/ps2/icon.o \ + $(srcdir)/backends/platform/ps2/cd.o \ + $(srcdir)/backends/platform/ps2/eecodyvdfs.o \ + $(srcdir)/backends/platform/ps2/rpckbd.o \ + $(srcdir)/backends/platform/ps2/systemps2.o \ + $(srcdir)/backends/platform/ps2/ps2mutex.o \ + $(srcdir)/backends/platform/ps2/ps2time.o \ + $(srcdir)/backends/platform/ps2/ps2debug.o + +ifeq ($(DYNAMIC_MODULES),1) +OBJS += $(srcdir)/backends/plugins/elf/elf-loader.o \ + $(srcdir)/backends/plugins/elf/elf-provider.o \ + $(srcdir)/backends/plugins/elf/shorts-segment-manager.o \ + $(srcdir)/backends/plugins/elf/memory-manager.o \ + $(srcdir)/backends/plugins/elf/mips-loader.o \ + $(srcdir)/backends/plugins/elf/version.o +endif BACKEND := ps2 +# Include common Scummvm makefile include $(srcdir)/Makefile.common +LDFLAGS += -L$(PS2SDK)/ee/lib -L$(PS2SDK)/ports/lib +ifeq ($(DYNAMIC_MODULES),1) +LDFLAGS += -mno-crt0 $(PS2SDK)/ee/startup/crt0.o -Wl,-T$(srcdir)/backends/plugins/ps2/main_prog.ld +else LDFLAGS += -mno-crt0 $(PS2SDK)/ee/startup/crt0.o -T $(PS2SDK)/ee/startup/linkfile -LDFLAGS += -L $(PS2SDK)/ee/lib -L . -LDFLAGS += $(addprefix -L$(PS2_EXTRA),$(PS2_EXTRA_LIBS)) -LDFLAGS += -lmc -lpad -lmouse -lhdd -lpoweroff -lsjpcm -lmad -ltremor -lz -lm -lc -lfileXio -lkernel -lstdc++ -LDFLAGS += -s +endif all: $(TARGET) $(TARGET): $(OBJS) - $(LD) $^ $(LDFLAGS) -o $@ + $(LD) $(PRE_OBJS_FLAGS) $(OBJS) $(POST_OBJS_FLAGS) $(LDFLAGS) $(LIBS) -o $@ |