scummvm/ports.mk

318 lines
11 KiB
Makefile
Raw Normal View History

# This file contains port specific Makefile rules. It is automatically
# included by the default (main) Makefile.
#
#
2011-06-09 09:17:15 +00:00
# POSIX specific
#
2011-04-14 10:41:26 +00:00
install:
2011-04-10 19:59:04 +00:00
$(INSTALL) -d "$(DESTDIR)$(bindir)"
$(INSTALL) -c -s -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(bindir)/$(EXECUTABLE)"
2011-05-28 06:49:12 +00:00
$(INSTALL) -d "$(DESTDIR)$(mandir)/man6/"
2012-01-06 10:37:57 +00:00
$(INSTALL) -c -m 644 "$(srcdir)/dists/residualvm.6" "$(DESTDIR)$(mandir)/man6/residualvm.6"
2011-04-10 19:59:04 +00:00
$(INSTALL) -d "$(DESTDIR)$(datarootdir)/pixmaps/"
2012-01-06 10:37:57 +00:00
$(INSTALL) -c -m 644 "$(srcdir)/icons/residualvm.xpm" "$(DESTDIR)$(datarootdir)/pixmaps/residualvm.xpm"
2011-04-10 19:59:04 +00:00
$(INSTALL) -d "$(DESTDIR)$(docdir)"
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) "$(DESTDIR)$(docdir)"
$(INSTALL) -d "$(DESTDIR)$(datadir)"
2012-01-28 09:44:25 +00:00
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) "$(DESTDIR)$(datadir)/"
2009-05-25 20:49:53 +00:00
ifdef DYNAMIC_MODULES
2012-01-06 10:37:57 +00:00
$(INSTALL) -d "$(DESTDIR)$(libdir)/residualvm/"
$(INSTALL) -c -s -m 644 $(PLUGINS) "$(DESTDIR)$(libdir)/residualvm/"
2009-05-25 20:49:53 +00:00
endif
uninstall:
2011-04-10 19:59:04 +00:00
rm -f "$(DESTDIR)$(bindir)/$(EXECUTABLE)"
2012-01-06 10:37:57 +00:00
rm -f "$(DESTDIR)$(mandir)/man6/residualvm.6"
rm -f "$(DESTDIR)$(datarootdir)/pixmaps/residualvm.xpm"
2011-04-10 19:59:04 +00:00
rm -rf "$(DESTDIR)$(docdir)"
rm -rf "$(DESTDIR)$(datadir)"
2009-05-25 20:49:53 +00:00
ifdef DYNAMIC_MODULES
2012-01-06 10:37:57 +00:00
rm -rf "$(DESTDIR)$(libdir)/residualvm/"
2009-05-25 20:49:53 +00:00
endif
2012-01-06 21:56:21 +00:00
#ResidualVM only:
deb:
ln -sf dists/debian;
debian/prepare
fakeroot debian/rules binary
# Special target to create a application wrapper for Mac OS X
2012-01-06 10:37:57 +00:00
bundle_name = ResidualVM.app
bundle: residualvm-static
mkdir -p $(bundle_name)/Contents/MacOS
mkdir -p $(bundle_name)/Contents/Resources
echo "APPL????" > $(bundle_name)/Contents/PkgInfo
cp $(srcdir)/dists/macosx/Info.plist $(bundle_name)/Contents/
2012-01-06 21:56:21 +00:00
ifdef USE_SPARKLE
mkdir -p $(bundle_name)/Contents/Frameworks
cp $(srcdir)/dists/macosx/dsa_pub.pem $(bundle_name)/Contents/Resources/
cp -R $(STATICLIBPATH)/Sparkle.framework $(bundle_name)/Contents/Frameworks/
endif
2012-01-06 10:37:57 +00:00
cp $(srcdir)/icons/residualvm.icns $(bundle_name)/Contents/Resources/
2009-10-05 08:33:46 +00:00
cp $(DIST_FILES_DOCS) $(bundle_name)/
2009-10-10 18:54:25 +00:00
cp $(DIST_FILES_THEMES) $(bundle_name)/Contents/Resources/
2011-04-11 00:28:51 +00:00
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(bundle_name)/Contents/Resources/
endif
2011-04-17 22:18:15 +00:00
$(srcdir)/devtools/credits.pl --rtf > $(bundle_name)/Contents/Resources/Credits.rtf
chmod 644 $(bundle_name)/Contents/Resources/*
2012-01-06 10:37:57 +00:00
cp residualvm-static $(bundle_name)/Contents/MacOS/residualvm
chmod 755 $(bundle_name)/Contents/MacOS/residualvm
$(STRIP) $(bundle_name)/Contents/MacOS/residualvm
2009-10-05 08:33:46 +00:00
iphonebundle: iphone
mkdir -p $(bundle_name)
cp $(srcdir)/dists/iphone/Info.plist $(bundle_name)/
cp $(DIST_FILES_DOCS) $(bundle_name)/
2009-10-10 18:54:25 +00:00
cp $(DIST_FILES_THEMES) $(bundle_name)/
2011-04-11 00:28:51 +00:00
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(bundle_name)/
endif
2012-01-06 10:37:57 +00:00
$(STRIP) residualvm
ldid -S residualvm
chmod 755 residualvm
2012-01-07 16:27:31 +00:00
cp residualvm $(bundle_name)/ResidualVM
2011-04-11 13:40:01 +00:00
cp $(srcdir)/dists/iphone/icon.png $(bundle_name)/
2011-04-14 10:41:26 +00:00
cp $(srcdir)/dists/iphone/icon-72.png $(bundle_name)/
2011-04-11 13:40:01 +00:00
cp $(srcdir)/dists/iphone/Default.png $(bundle_name)/
# Location of static libs for the iPhone
2009-04-04 14:43:23 +00:00
ifneq ($(BACKEND), iphone)
2012-01-06 10:37:57 +00:00
# Static libaries, used for the residualvm-static and iphone targets
2012-01-28 09:44:25 +00:00
#ResidualVM path for SDL
OSX_STATIC_LIBS := `$(SDLCONFIG) --static-libs`
endif
ifdef USE_VORBIS
OSX_STATIC_LIBS += \
2009-04-04 14:43:23 +00:00
$(STATICLIBPATH)/lib/libvorbisfile.a \
$(STATICLIBPATH)/lib/libvorbis.a \
$(STATICLIBPATH)/lib/libogg.a
endif
ifdef USE_TREMOR
2009-04-04 14:43:23 +00:00
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libvorbisidec.a
endif
ifdef USE_FLAC
2009-04-04 14:43:23 +00:00
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libFLAC.a
endif
ifdef USE_MAD
2009-04-04 14:43:23 +00:00
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libmad.a
endif
2012-01-06 21:56:21 +00:00
#ResidualVM use it:
ifdef USE_MPEG2
2009-04-04 14:43:23 +00:00
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libmpeg2.a
endif
2011-04-14 10:41:26 +00:00
ifdef USE_PNG
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libpng.a
endif
ifdef USE_THEORADEC
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libtheoradec.a
endif
2011-06-09 09:17:15 +00:00
ifdef USE_FAAD
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libfaad.a
endif
2010-01-21 19:25:03 +00:00
ifdef USE_ZLIB
2012-01-28 09:44:25 +00:00
OSX_ZLIB ?= $(STATICLIBPATH)/lib/libz.a
2010-01-21 19:25:03 +00:00
endif
2012-01-06 21:56:21 +00:00
ifdef USE_SPARKLE
OSX_STATIC_LIBS += -framework Sparkle -F$(STATICLIBPATH)
endif
2011-04-11 00:28:51 +00:00
ifdef USE_TERMCONV
OSX_ICONV ?= -liconv
endif
# Special target to create a static linked binary for Mac OS X.
# We use -force_cpusubtype_ALL to ensure the binary runs on every
# PowerPC machine.
2012-01-06 10:37:57 +00:00
residualvm-static: $(OBJS)
$(CXX) $(LDFLAGS) -force_cpusubtype_ALL -o residualvm-static $(OBJS) \
-framework CoreMIDI \
$(OSX_STATIC_LIBS) \
2010-01-21 19:25:03 +00:00
$(OSX_ZLIB) \
2012-01-06 21:56:21 +00:00
$(OSX_ICONV)
# Special target to create a static linked binary for the iPhone
iphone: $(OBJS)
2012-01-06 10:37:57 +00:00
$(CXX) $(LDFLAGS) -o residualvm $(OBJS) \
$(OSX_STATIC_LIBS) \
2009-10-05 08:33:46 +00:00
-framework UIKit -framework CoreGraphics -framework OpenGLES \
2009-04-04 14:43:23 +00:00
-framework GraphicsServices -framework CoreFoundation -framework QuartzCore \
-framework Foundation -framework AudioToolbox -framework CoreAudio \
-lobjc -lz
# Special target to create a snapshot disk image for Mac OS X
# TODO: Replace AUTHORS by Credits.rtf
2008-07-05 16:10:08 +00:00
osxsnap: bundle
2012-01-06 10:37:57 +00:00
mkdir ResidualVM-snapshot
2011-04-17 22:18:15 +00:00
$(srcdir)/devtools/credits.pl --text > $(srcdir)/AUTHORS
2012-01-06 10:37:57 +00:00
cp $(srcdir)/AUTHORS ./ResidualVM-snapshot/Authors
cp $(srcdir)/COPYING ./ResidualVM-snapshot/License\ \(GPL\)
cp $(srcdir)/COPYING.LGPL ./ResidualVM-snapshot/License\ \(LGPL\)
cp $(srcdir)/COPYRIGHT ./ResidualVM-snapshot/Copyright\ Holders
cp $(srcdir)/NEWS ./ResidualVM-snapshot/News
cp $(srcdir)/README ./ResidualVM-snapshot/Residual\ ReadMe
2012-02-25 19:54:59 +00:00
mkdir ResidualVM-snapshot/doc
cp $(srcdir)/doc/QuickStart ./ResidualVM-snapshot/doc/QuickStart
2012-01-06 10:37:57 +00:00
/Developer/Tools/SetFile -t ttro -c ttxt ./ResidualVM-snapshot/*
/Developer/Tools/CpMac -r $(bundle_name) ./ResidualVM-snapshot/
#cp $(srcdir)/dists/macosx/DS_Store ./ResidualVM-snapshot/.DS_Store
#cp $(srcdir)/dists/macosx/background.jpg ./ResidualVM-snapshot/background.jpg
#/Developer/Tools/SetFile -a V ./ResidualVM-snapshot/.DS_Store
#/Developer/Tools/SetFile -a V ./ResidualVM-snapshot/background.jpg
hdiutil create -ov -format UDZO -imagekey zlib-level=9 -fs HFS+ \
2012-01-06 10:37:57 +00:00
-srcfolder ResidualVM-snapshot \
-volname "ResidualVM" \
ResidualVM-snapshot.dmg
rm -rf ResidualVM-snapshot
#
# Windows specific
#
2012-01-06 10:37:57 +00:00
residualvmwinres.o: $(srcdir)/icons/residualvm.ico $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(srcdir)/dists/residualvm.rc
$(QUIET_WINDRES)$(WINDRES) -DHAVE_CONFIG_H $(WINDRESFLAGS) $(DEFINES) -I. -I$(srcdir) $(srcdir)/dists/residualvm.rc residualvmwinres.o
2012-02-10 06:51:41 +00:00
# Special target to create a win32 snapshot binary (for Inno Setup)
2009-04-04 14:43:23 +00:00
win32dist: $(EXECUTABLE)
mkdir -p $(WIN32PATH)
2011-07-20 04:58:19 +00:00
mkdir -p $(WIN32PATH)/graphics
2012-01-28 09:44:25 +00:00
mkdir -p $(WIN32PATH)/doc
2009-04-04 14:43:23 +00:00
$(STRIP) $(EXECUTABLE) -o $(WIN32PATH)/$(EXECUTABLE)
2009-10-10 18:54:25 +00:00
cp $(DIST_FILES_THEMES) $(WIN32PATH)
2011-04-11 00:28:51 +00:00
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(WIN32PATH)
endif
2008-06-13 12:29:57 +00:00
cp $(srcdir)/AUTHORS $(WIN32PATH)/AUTHORS.txt
2010-03-14 08:07:27 +00:00
cp $(srcdir)/COPYING $(WIN32PATH)/COPYING.txt
2011-04-10 19:59:04 +00:00
cp $(srcdir)/COPYING.LGPL $(WIN32PATH)/COPYING.LGPL.txt
2012-02-10 06:51:41 +00:00
cp $(srcdir)/COPYING.FREEFONT $(WIN32PATH)/COPYING.FREEFONT.txt
2011-04-16 23:13:21 +00:00
cp $(srcdir)/COPYRIGHT $(WIN32PATH)/COPYRIGHT.txt
2008-06-13 12:29:57 +00:00
cp $(srcdir)/NEWS $(WIN32PATH)/NEWS.txt
2012-02-24 11:15:44 +00:00
cp $(srcdir)/doc/QuickStart $(WIN32PATH)/doc/QuickStart.txt
cp $(srcdir)/README $(WIN32PATH)/README.txt
cp /usr/local/README-SDL.txt $(WIN32PATH)
cp /usr/local/bin/SDL.dll $(WIN32PATH)
2012-01-06 10:37:57 +00:00
cp $(srcdir)/icons/residualvm.ico $(WIN32PATH)
2012-02-24 11:15:44 +00:00
cp $(srcdir)/dists/win32/ResidualVM.iss $(WIN32PATH)
2011-05-08 13:38:26 +00:00
unix2dos $(WIN32PATH)/*.txt
2012-01-31 09:35:29 +00:00
# unix2dos $(WIN32PATH)/doc/*.txt
2012-01-06 21:56:21 +00:00
# Special target to create a win32 NSIS installer
win32setup: $(EXECUTABLE)
mkdir -p $(srcdir)/$(STAGINGPATH)
$(STRIP) $(EXECUTABLE) -o $(srcdir)/$(STAGINGPATH)/$(EXECUTABLE)
cp /usr/local/bin/SDL.dll $(srcdir)/$(STAGINGPATH)
makensis -V2 -Dtop_srcdir="../.." -Dstaging_dir="../../$(STAGINGPATH)" -Darch=$(ARCH) $(srcdir)/dists/win32/residualvm.nsi
#
# Special target to generate project files for various IDEs
# Mainly Win32-specific
#
# The release branch is in form 'heads/branch-1-4-1', for this case
# $CUR_BRANCH will be equal to '1', for the rest cases it will be empty
CUR_BRANCH := $(shell cd $(srcdir); git describe --all |cut -d '-' -f 4-)
ideprojects: devtools/create_project
ifeq ($(VER_DIRTY), -dirty)
$(error You have uncommitted changes)
endif
ifeq "$(CUR_BRANCH)" "heads/master"
$(error You cannot do it on master)
else ifeq "$(CUR_BRANCH)" ""
$(error You must be on a release branch)
endif
@echo Creating Code::Blocks project files...
@cd $(srcdir)/dists/codeblocks && ../../devtools/create_project/create_project ../.. --codeblocks >/dev/null && git add -f *.workspace *.cbp
@echo Creating MSVC8 project files...
@cd $(srcdir)/dists/msvc8 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 8 >/dev/null && git add -f *.sln *.vcproj *.vsprops
@echo Creating MSVC9 project files...
@cd $(srcdir)/dists/msvc9 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 9 >/dev/null && git add -f *.sln *.vcproj *.vsprops
@echo Creating MSVC10 project files...
@cd $(srcdir)/dists/msvc10 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 10 >/dev/null && git add -f *.sln *.vcxproj *.vcxproj.filters *.props
@echo
@echo All is done.
@echo Now run
@echo "\tgit commit 'DISTS: Generated Code::Blocks and MSVC project files'"
2008-07-13 15:08:23 +00:00
# Special target to create a win32 snapshot binary under Debian Linux using cross mingw32 toolchain
2009-04-04 14:43:23 +00:00
crosswin32dist: $(EXECUTABLE)
2012-01-06 10:37:57 +00:00
mkdir -p ResidualVMWin32
$(STRIP) $(EXECUTABLE) -o ResidualVMWin32/$(EXECUTABLE)
cp $(DIST_FILES_THEMES) ResidualVMWin32
2011-04-11 00:28:51 +00:00
ifdef DIST_FILES_ENGINEDATA
2012-01-06 10:37:57 +00:00
cp $(DIST_FILES_ENGINEDATA) ResidualVMWin32
endif
cp $(srcdir)/AUTHORS ResidualVMWin32/AUTHORS.txt
cp $(srcdir)/COPYING ResidualVMWin32/COPYING.txt
cp $(srcdir)/COPYING.LGPL ResidualVMWin32/COPYING.LGPL.txt
cp $(srcdir)/COPYING.FREEFONT ResidualVMWin32/COPYING.FREEFONT.txt
2012-01-06 10:37:57 +00:00
cp $(srcdir)/COPYRIGHT ResidualVMWin32/COPYRIGHT.txt
cp $(srcdir)/NEWS ResidualVMWin32/NEWS.txt
2012-02-24 11:15:44 +00:00
cp $(srcdir)/doc/QuickStart ResidualVMWin32/doc/QuickStart.txt
2012-01-06 10:37:57 +00:00
cp $(srcdir)/README ResidualVMWin32/README.txt
2012-02-24 11:15:44 +00:00
cp $(srcdir)/dists/win32/ResidualVM.iss ResidualVMWin32
2012-01-06 10:37:57 +00:00
cp /usr/i586-mingw32msvc/README-SDL.txt ResidualVMWin32
cp /usr/i586-mingw32msvc/bin/SDL.dll ResidualVMWin32
toms ResidualVMWin32/*.txt
toms ResidualVMWin32/residualvm.iss
2008-07-13 15:08:23 +00:00
#
# AmigaOS specific
#
# Special target to create an AmigaOS snapshot installation
2009-04-04 14:43:23 +00:00
aos4dist: $(EXECUTABLE)
mkdir -p $(AOS4PATH)
2011-04-10 19:59:04 +00:00
$(STRIP) $(EXECUTABLE) -o $(AOS4PATH)/$(EXECUTABLE)
2012-01-06 10:37:57 +00:00
cp icons/residualvm.info $(AOS4PATH)/$(EXECUTABLE).info
2009-10-10 18:54:25 +00:00
cp $(DIST_FILES_THEMES) $(AOS4PATH)/themes/
2011-04-11 00:28:51 +00:00
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(AOS4PATH)/extras/
endif
2011-04-14 10:41:26 +00:00
cp $(DIST_FILES_DOCS) $(AOS4PATH)
2009-10-05 08:33:46 +00:00
2011-07-20 04:58:19 +00:00
#
# PlayStation 3 specific
#
ps3pkg: $(EXECUTABLE)
$(STRIP) $(EXECUTABLE)
sprxlinker $(EXECUTABLE)
mkdir -p ps3pkg/USRDIR/data/
mkdir -p ps3pkg/USRDIR/doc/
mkdir -p ps3pkg/USRDIR/saves/
2012-01-27 12:59:18 +00:00
make_self_npdrm "$(EXECUTABLE)" ps3pkg/USRDIR/EBOOT.BIN UP0001-RESI12000_00-0000000000000000
2011-07-20 04:58:19 +00:00
cp $(DIST_FILES_THEMES) ps3pkg/USRDIR/data/
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) ps3pkg/USRDIR/data/
endif
cp $(DIST_FILES_DOCS) ps3pkg/USRDIR/doc/
cp $(srcdir)/dists/ps3/readme-ps3.md ps3pkg/USRDIR/doc/
cp $(srcdir)/backends/vkeybd/packs/vkeybd_default.zip ps3pkg/USRDIR/data/
cp $(srcdir)/dists/ps3/ICON0.PNG ps3pkg/
cp $(srcdir)/dists/ps3/PIC1.PNG ps3pkg/
sfo.py -f $(srcdir)/dists/ps3/sfo.xml ps3pkg/PARAM.SFO
2012-01-27 12:59:18 +00:00
pkg.py --contentid UP0001-RESI12000_00-0000000000000000 ps3pkg/ residualvm-ps3.pkg
package_finalize residualvm-ps3.pkg
2011-07-20 04:58:19 +00:00
2012-01-06 21:56:21 +00:00
ps3run: $(EXECUTABLE)
$(STRIP) $(EXECUTABLE)
sprxlinker $(EXECUTABLE)
make_self $(EXECUTABLE) $(EXECUTABLE).self
ps3load $(EXECUTABLE).self
2009-10-05 08:33:46 +00:00
# Mark special targets as phony
2011-07-20 04:58:19 +00:00
.PHONY: deb bundle osxsnap win32dist install uninstall ps3pkg