mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-26 03:37:53 +00:00
bc6649ba45
svn-id: r40624
254 lines
6.6 KiB
Makefile
254 lines
6.6 KiB
Makefile
# ScummVM Makefile for Windows CE port
|
|
# Uses the cegcc toolchain. For build info check out the wiki: http://wiki.scummvm.org
|
|
# $URL$
|
|
# $Id$
|
|
|
|
########################################################################
|
|
## Do you want a debug build or not?
|
|
|
|
#WINCE_DEBUG_BUILD = 1
|
|
#UNOPTIMIZED_BUILD = 1
|
|
|
|
########################################################################
|
|
## Do you want a build using plugins?
|
|
|
|
#DYNAMIC_MODULES = 1
|
|
# TODO: You'll need to change STATIC_PLUGIN to DYNAMIC_PLUGIN below
|
|
|
|
########################################################################
|
|
## Enable whichever engines you want here
|
|
|
|
ENABLE_SCUMM = STATIC_PLUGIN
|
|
ENABLE_SCUMM_7_8 = 1
|
|
ENABLE_HE = 1
|
|
ENABLE_SKY = STATIC_PLUGIN
|
|
ENABLE_QUEEN = STATIC_PLUGIN
|
|
ENABLE_GOB = STATIC_PLUGIN
|
|
ENABLE_LURE = STATIC_PLUGIN
|
|
ENABLE_CINE = STATIC_PLUGIN
|
|
ENABLE_SAGA = STATIC_PLUGIN
|
|
ENABLE_IHNM = 1
|
|
#ENABLE_SAGA2 = 1
|
|
ENABLE_KYRA = STATIC_PLUGIN
|
|
ENABLE_AGI = STATIC_PLUGIN
|
|
ENABLE_AGOS = STATIC_PLUGIN
|
|
ENABLE_SWORD1 = STATIC_PLUGIN
|
|
ENABLE_SWORD2 = STATIC_PLUGIN
|
|
ENABLE_TOUCHE = STATIC_PLUGIN
|
|
ENABLE_PARALLACTION = STATIC_PLUGIN
|
|
ENABLE_DRASCULA = STATIC_PLUGIN
|
|
ENABLE_GROOVIE = STATIC_PLUGIN
|
|
ENABLE_TUCKER = STATIC_PLUGIN
|
|
#ENABLE_SCI = STATIC_PLUGIN
|
|
#ENABLE_TINSEL = STATIC_PLUGIN
|
|
#ENABLE_CRUISE = STATIC_PLUGIN
|
|
#ENABLE_IGOR = STATIC_PLUGIN
|
|
#ENABLE_M4 = STATIC_PLUGIN
|
|
#ENABLE_MADE = STATIC_PLUGIN
|
|
|
|
########################################################################
|
|
## Pick which libraries you want to use here
|
|
|
|
USE_MAD = 1
|
|
USE_MPEG2 = 1
|
|
#USE_TREMOR = 1
|
|
USE_TREMOLO = 1
|
|
USE_FLAC = 1
|
|
USE_ZLIB = 1
|
|
|
|
########################################################################
|
|
## For remote deployment (copying the built files onto a device
|
|
## automatically), we need to know various things, like which
|
|
## tools to use. I use pput and pdel from
|
|
## http://www.xs4all.nl/~itsme/projects/xda/tools.html
|
|
## and I keep my installation on the storage card, but other people
|
|
## may prefer other things.
|
|
|
|
REMOTE_COPY = pput
|
|
REMOTE_DELETE = pdel
|
|
REMOTE_DIRECTORY = \Storage Card\Program Files\Scummvm
|
|
|
|
########################################################################
|
|
## You're probably not going to want to change these defines...
|
|
|
|
#DISABLE_HQ_SCALERS = 1
|
|
USE_ARM_SOUND_ASM = 1
|
|
USE_ARM_SMUSH_ASM = 1
|
|
USE_ARM_GFX_ASM = 1
|
|
USE_ARM_COSTUME_ASM = 1
|
|
|
|
########################################################################
|
|
## Hopefully you shouldn't need to change anything below here. ##
|
|
########################################################################
|
|
|
|
|
|
srcdir = ../../..
|
|
VPATH = $(srcdir)
|
|
|
|
CXX = arm-wince-mingw32ce-g++
|
|
LD = arm-wince-mingw32ce-g++
|
|
AR = arm-wince-mingw32ce-ar cru
|
|
RANLIB = arm-wince-mingw32ce-ranlib
|
|
STRIP = arm-wince-mingw32ce-strip
|
|
WINDRES= arm-wince-mingw32ce-windres
|
|
MKDIR = mkdir -p
|
|
RM = rm -f
|
|
RM_REC = rm -rf
|
|
ECHO = echo -n
|
|
CAT = cat
|
|
AS = arm-wince-mingw32ce-as
|
|
|
|
########################################################################
|
|
## Set up defines, includes, cflags etc
|
|
|
|
DEFINES := -D_WIN32_WCE=300 -D__ARM__ -D_ARM_ -DUNICODE -DSCUMM_NEED_ALIGNMENT
|
|
DEFINES += -DFPM_DEFAULT
|
|
|
|
DEFINES += -DNONSTANDARD_PORT
|
|
DEFINES += -DWIN32
|
|
DEFINES += -Dcdecl= -D__cdecl__= -Wno-multichar
|
|
|
|
INCLUDES := -I$(srcdir) -I. -I$(srcdir)/engines -Imissing/gcc -Ilibs/include -Ilibs/include/sdl -ICEgui -ICEkeys
|
|
|
|
CFLAGS :=
|
|
ifndef UNOPTIMIZED_BUILD
|
|
CFLAGS += -O3 -march=armv4 -mtune=xscale
|
|
endif
|
|
|
|
LDFLAGS := -Wl,-Map,scummvm.exe.map -Wl,--stack,65536
|
|
LIBS := -Llibs/lib -lSDL
|
|
|
|
ifdef WINCE_DEBUG_BUILD
|
|
DEFINES += -DDEBUG -DUSE_WINDBG
|
|
CFLAGS += -g
|
|
LDFLAGS += -debug
|
|
endif
|
|
|
|
ifdef USE_ZLIB
|
|
DEFINES += -DUSE_ZLIB
|
|
LIBS += -lzlib
|
|
endif
|
|
|
|
ifdef USE_MAD
|
|
DEFINES += -DUSE_MAD
|
|
LIBS += -lmad
|
|
endif
|
|
|
|
ifdef USE_MPEG2
|
|
DEFINES += -DUSE_MPEG2
|
|
LIBS += -lmpeg2
|
|
endif
|
|
|
|
ifdef USE_TREMOR
|
|
DEFINES += -DUSE_TREMOR -DUSE_VORBIS
|
|
LIBS += -ltremorce
|
|
endif
|
|
|
|
ifdef USE_TREMOLO
|
|
DEFINES += -DUSE_TREMOR -DUSE_VORBIS -DUSE_TREMOLO
|
|
INCLUDES += -Ilibs/include/tremolo
|
|
LIBS += -llibTremolo
|
|
endif
|
|
|
|
ifdef USE_FLAC
|
|
DEFINES += -DUSE_FLAC
|
|
LIBS += -lFLAC
|
|
endif
|
|
|
|
ifdef USE_ARM_SMUSH_ASM
|
|
DEFINES += -DUSE_ARM_SMUSH_ASM
|
|
endif
|
|
|
|
ifdef USE_ARM_GFX_ASM
|
|
DEFINES += -DUSE_ARM_GFX_ASM
|
|
endif
|
|
|
|
ifdef USE_ARM_COSTUME_ASM
|
|
DEFINES += -DUSE_ARM_COSTUME_ASM
|
|
endif
|
|
|
|
########################################################################
|
|
# Targets follow here
|
|
|
|
EXECUTABLE = scummvm.exe
|
|
CXXFLAGS := $(CFLAGS)
|
|
OBJS :=
|
|
MODULE_DIRS += ./
|
|
DEPDIR = .deps
|
|
|
|
OBJS += CEActionsPocket.o CEDevice.o CEScaler.o \
|
|
CEActionsSmartphone.o CELauncherDialog.o wince-sdl.o
|
|
OBJS += CEgui/GUIElement.o CEgui/Panel.o CEgui/SDL_ImageResource.o \
|
|
CEgui/ItemAction.o CEgui/PanelItem.o CEgui/Toolbar.o \
|
|
CEgui/ItemSwitch.o CEgui/PanelKeyboard.o CEgui/ToolbarHandler.o
|
|
OBJS += CEkeys/EventsBuffer.o
|
|
OBJS += $(srcdir)/gui/Actions.o $(srcdir)/gui/Key.o $(srcdir)/gui/KeysDialog.o
|
|
OBJS += ../sdl/sdl.o ../sdl/graphics.o ../sdl/events.o ../sdl/hardwarekeys.o
|
|
OBJS += missing/missing.o
|
|
OBJS += ARMscaler.o
|
|
ifndef DYNAMIC_MODULES
|
|
OBJS += PocketSCUMM.o
|
|
endif
|
|
|
|
ifdef DYNAMIC_MODULES
|
|
EXECUTABLE = scummvm.dll
|
|
PLUGIN_PREFIX :=
|
|
PLUGIN_SUFFIX := .dll
|
|
PLUGIN_EXTRA_DEPS = $(EXECUTABLE)
|
|
CXXFLAGS += -DDYNAMIC_MODULES
|
|
PLUGIN_LDFLAGS := -shared -L. -lscummvm -Llibs/lib
|
|
PRE_OBJS_FLAGS := -Wl,--whole-archive
|
|
POST_OBJS_FLAGS := -Wl,--export-all-symbols -Wl,--no-whole-archive -Wl,--out-implib,./libscummvm.a -shared
|
|
endif
|
|
|
|
include $(srcdir)/Makefile.common
|
|
|
|
########################################################################
|
|
## Our top level target, and what we deploy depends on whether we are
|
|
## building the plugin version or not...
|
|
ifdef DYNAMIC_MODULES
|
|
|
|
all: dist-plugins
|
|
|
|
deploy: deploy-plugins deploy-exe
|
|
|
|
else
|
|
|
|
all: dist
|
|
|
|
deploy: deploy-exe
|
|
|
|
endif
|
|
|
|
dist: ARMscaler.o PocketSCUMM.o $(EXECUTABLE)
|
|
|
|
dist-plugins: $(EXECUTABLE) plugins PocketSCUMM.o plugins-stub
|
|
|
|
plugins-stub: stub.o
|
|
$(CXX) stub.o PocketSCUMM.o -L. -lscummvm -o scummvm.exe
|
|
|
|
PocketSCUMM.o: PocketSCUMM.rc
|
|
$(WINDRES) $*.rc $@
|
|
|
|
ARMscaler.o: ARMscaler.s
|
|
$(AS) $*.s -o $@
|
|
|
|
all-clean: clean
|
|
$(RM) ARMscaler.o PocketSCUMM.o stub.o
|
|
|
|
deploy-plugins: dist-plugins
|
|
@echo Deploying DLLs
|
|
-$(REMOTE_MKDIR) "$(REMOTE_DIRECTORY)"
|
|
-$(REMOTE_DELETE) "$(REMOTE_DIRECTORY)\*.dll"
|
|
$(REMOTE_COPY) plugins/*.dll "$(REMOTE_DIRECTORY)"
|
|
$(REMOTE_COPY) scummvm.dll "$(REMOTE_DIRECTORY)"
|
|
|
|
deploy-exe: dist
|
|
@echo Deploying modern theme - errors are normal here!
|
|
-$(REMOTE_MKDIR) "$(REMOTE_DIRECTORY)"
|
|
@-$(REMOTE_COPY) ../../../gui/themes/modern.ini "$(REMOTE_DIRECTORY)"
|
|
@-$(REMOTE_COPY) ../../../gui/themes/modern.zip "$(REMOTE_DIRECTORY)"
|
|
@echo Deploying EXE
|
|
-$(REMOTE_DELETE) "$(REMOTE_DIRECTORY)\scummvm.exe"
|
|
$(REMOTE_COPY) scummvm.exe "$(REMOTE_DIRECTORY)"
|