217 lines
6.3 KiB
Text
217 lines
6.3 KiB
Text
# SCUMMVM-PS2 MakeFile
|
|
|
|
|
|
# Use only this section to modify how the makefile behaves ------------
|
|
|
|
# Scummvm engine config: choose which engines are enabled
|
|
ENABLE_AGI = $(ENABLED)
|
|
ENABLE_AGOS = $(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_KYRA = $(ENABLED)
|
|
ENABLE_LOL = 1
|
|
ENABLE_EOB = 1
|
|
# ENABLE_LASTEXPRESS = $(ENABLED)
|
|
ENABLE_LURE = $(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)
|
|
# 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
|
|
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
|
|
|
|
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
|
|
endif
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(LD) $(PRE_OBJS_FLAGS) $(OBJS) $(POST_OBJS_FLAGS) $(LDFLAGS) $(LIBS) -o $@
|