This repository has been archived by the owner on Apr 18, 2023. It is now read-only.
forked from residualvm/residualvm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathports.mk
249 lines (217 loc) · 7.71 KB
/
ports.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# This file contains port specific Makefile rules. It is automatically
# included by the default (main) Makefile.
#
# $URL$
# $Id$
#
# UNIX specific
#
install:
$(INSTALL) -d "$(DESTDIR)$(bindir)"
$(INSTALL) -c -s -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(bindir)/$(EXECUTABLE)"
#$(INSTALL) -d "$(DESTDIR)$(mandir)/man6/"
#$(INSTALL) -c -m 644 "$(srcdir)/dists/residual.6" "$(DESTDIR)$(mandir)/man6/residual.6"
$(INSTALL) -d "$(DESTDIR)$(datarootdir)/pixmaps/"
$(INSTALL) -c -m 644 "$(srcdir)/icons/residual.xpm" "$(DESTDIR)$(datarootdir)/pixmaps/residual.xpm"
$(INSTALL) -d "$(DESTDIR)$(docdir)"
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) "$(DESTDIR)$(docdir)"
$(INSTALL) -d "$(DESTDIR)$(datadir)"
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) "$(DESTDIR)$(datadir)/"
#$(INSTALL) -c -m 644 $(DIST_FILES_ENGINEDATA) "$(DESTDIR)$(datadir)/"
ifdef DYNAMIC_MODULES
$(INSTALL) -d "$(DESTDIR)$(libdir)/residual/"
$(INSTALL) -c -s -m 644 $(PLUGINS) "$(DESTDIR)$(libdir)/residual/"
endif
uninstall:
rm -f "$(DESTDIR)$(bindir)/$(EXECUTABLE)"
rm -f "$(DESTDIR)$(mandir)/man6/residual.6"
rm -f "$(DESTDIR)$(datarootdir)/pixmaps/residual.xpm"
rm -rf "$(DESTDIR)$(docdir)"
rm -rf "$(DESTDIR)$(datadir)"
ifdef DYNAMIC_MODULES
rm -rf "$(DESTDIR)$(libdir)/residual/"
endif
deb:
ln -sf dists/debian;
debian/prepare
fakeroot debian/rules binary
# Special target to create a application wrapper for Mac OS X
bundle_name = Residual.app
bundle: residual-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/
cp $(srcdir)/icons/residual.icns $(bundle_name)/Contents/Resources/
cp $(DIST_FILES_DOCS) $(bundle_name)/
cp $(DIST_FILES_THEMES) $(bundle_name)/Contents/Resources/
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(bundle_name)/Contents/Resources/
endif
$(srcdir)/devtools/credits.pl --rtf > $(bundle_name)/Contents/Resources/Credits.rtf
chmod 644 $(bundle_name)/Contents/Resources/*
cp residual-static $(bundle_name)/Contents/MacOS/residual
chmod 755 $(bundle_name)/Contents/MacOS/residual
$(STRIP) $(bundle_name)/Contents/MacOS/residual
iphonebundle: iphone
mkdir -p $(bundle_name)
cp $(srcdir)/dists/iphone/Info.plist $(bundle_name)/
cp $(DIST_FILES_DOCS) $(bundle_name)/
cp $(DIST_FILES_THEMES) $(bundle_name)/
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(bundle_name)/
endif
$(STRIP) residual
ldid -S residual
chmod 755 residual
cp residual $(bundle_name)/Residual
cp $(srcdir)/dists/iphone/icon.png $(bundle_name)/
cp $(srcdir)/dists/iphone/icon-72.png $(bundle_name)/
cp $(srcdir)/dists/iphone/Default.png $(bundle_name)/
# Location of static libs for the iPhone
ifneq ($(BACKEND), iphone)
# Static libaries, used for the residual-static and iphone targets
OSX_STATIC_LIBS := `$(STATICLIBPATH)/bin/sdl-config --static-libs`
endif
ifdef USE_VORBIS
OSX_STATIC_LIBS += \
$(STATICLIBPATH)/lib/libvorbisfile.a \
$(STATICLIBPATH)/lib/libvorbis.a \
$(STATICLIBPATH)/lib/libogg.a
endif
ifdef USE_TREMOR
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libvorbisidec.a
endif
ifdef USE_FLAC
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libFLAC.a
endif
ifdef USE_MAD
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libmad.a
endif
ifdef USE_MPEG2
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libmpeg2.a
endif
ifdef USE_PNG
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libpng.a
endif
ifdef USE_THEORADEC
OSX_STATIC_LIBS += $(STATICLIBPATH)/lib/libtheoradec.a
endif
ifdef USE_ZLIB
OSX_ZLIB ?= -lz
endif
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.
residual-static: $(OBJS)
$(CXX) $(LDFLAGS) -force_cpusubtype_ALL -o residual-static $(OBJS) \
-framework CoreMIDI \
$(OSX_STATIC_LIBS) \
$(OSX_ZLIB) \
$(OSX_ICONV) \
-lSystemStubs
# Special target to create a static linked binary for the iPhone
iphone: $(OBJS)
$(CXX) $(LDFLAGS) -o residual $(OBJS) \
$(OSX_STATIC_LIBS) \
-framework UIKit -framework CoreGraphics -framework OpenGLES \
-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
osxsnap: bundle
mkdir Residual-snapshot
$(srcdir)/devtools/credits.pl --text > $(srcdir)/AUTHORS
cp $(srcdir)/AUTHORS ./Residual-snapshot/Authors
cp $(srcdir)/COPYING ./Residual-snapshot/License\ \(GPL\)
cp $(srcdir)/COPYING.LGPL ./Residual-snapshot/License\ \(LGPL\)
cp $(srcdir)/COPYRIGHT ./Residual-snapshot/Copyright\ Holders
cp $(srcdir)/NEWS ./Residual-snapshot/News
cp $(srcdir)/README ./Residual-snapshot/Residual\ ReadMe
/Developer/Tools/SetFile -t ttro -c ttxt ./Residual-snapshot/*
/Developer/Tools/CpMac -r $(bundle_name) ./Residual-snapshot/
#cp $(srcdir)/dists/macosx/DS_Store ./Residual-snapshot/.DS_Store
#cp $(srcdir)/dists/macosx/background.jpg ./Residual-snapshot/background.jpg
#/Developer/Tools/SetFile -a V ./Residual-snapshot/.DS_Store
#/Developer/Tools/SetFile -a V ./Residual-snapshot/background.jpg
hdiutil create -ov -format UDZO -imagekey zlib-level=9 -fs HFS+ \
-srcfolder Residual-snapshot \
-volname "Residual" \
Residual-snapshot.dmg
rm -rf Residual-snapshot
#
# Windows specific
#
residualico.o: $(srcdir)/icons/residual.ico
$(WINDRES) $(WINDRESFLAGS) -I$(srcdir) $(srcdir)/dists/residual.rc residualico.o
# Special target to create a win32 snapshot binary
win32dist: $(EXECUTABLE)
mkdir -p $(WIN32PATH)
$(STRIP) $(EXECUTABLE) -o $(WIN32PATH)/$(EXECUTABLE)
cp $(DIST_FILES_THEMES) $(WIN32PATH)
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(WIN32PATH)
endif
cp $(srcdir)/AUTHORS $(WIN32PATH)/AUTHORS.txt
cp $(srcdir)/COPYING $(WIN32PATH)/COPYING.txt
cp $(srcdir)/COPYING.LGPL $(WIN32PATH)/COPYING.LGPL.txt
cp $(srcdir)/COPYRIGHT $(WIN32PATH)/COPYRIGHT.txt
cp $(srcdir)/NEWS $(WIN32PATH)/NEWS.txt
cp $(srcdir)/README $(WIN32PATH)/README.txt
cp /usr/local/README-SDL.txt $(WIN32PATH)
cp /usr/local/bin/SDL.dll $(WIN32PATH)
u2d $(WIN32PATH)/*.txt
# Special target to create a win32 snapshot binary under Debian Linux using cross mingw32 toolchain
crosswin32dist: $(EXECUTABLE)
mkdir -p ResidualWin32
$(STRIP) $(EXECUTABLE) -o ResidualWin32/$(EXECUTABLE)
cp $(DIST_FILES_THEMES) ResidualWin32
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) ResidualWin32
endif
cp $(srcdir)/AUTHORS ResidualWin32/AUTHORS.txt
cp $(srcdir)/COPYING ResidualWin32/COPYING.txt
cp $(srcdir)/COPYING.LGPL ResidualWin32/COPYING.LGPL.txt
cp $(srcdir)/COPYRIGHT ResidualWin32/COPYRIGHT.txt
cp $(srcdir)/NEWS ResidualWin32/NEWS.txt
cp $(srcdir)/README ResidualWin32/README.txt
cp $(srcdir)/dists/residual.iss ResidualWin32
cp /usr/i586-mingw32msvc/README-SDL.txt ResidualWin32
cp /usr/i586-mingw32msvc/bin/SDL.dll ResidualWin32
toms ResidualWin32/*.txt
toms ResidualWin32/residual.iss
#
# AmigaOS specific
#
# Special target to create an AmigaOS snapshot installation
aos4dist: $(EXECUTABLE)
mkdir -p $(AOS4PATH)
$(STRIP) $(EXECUTABLE) -o $(AOS4PATH)/$(EXECUTABLE)
cp icons/residual.info $(AOS4PATH)/$(EXECUTABLE).info
cp $(DIST_FILES_THEMES) $(AOS4PATH)/themes/
ifdef DIST_FILES_ENGINEDATA
cp $(DIST_FILES_ENGINEDATA) $(AOS4PATH)/extras/
endif
cp $(DIST_FILES_DOCS) $(AOS4PATH)
# Mark special targets as phony
.PHONY: deb bundle osxsnap win32dist install uninstall
#
# ARM specific
#
ifdef USE_TREMOLO
DEFINES += -DUSE_TREMOR -DUSE_VORBIS -DUSE_TREMOLO
LIBS += -ltremolo
endif
ifdef USE_ARM_SMUSH_ASM
DEFINES += -DUSE_ARM_SMUSH_ASM
endif
ifdef USE_ARM_SOUND_ASM
DEFINES += -DUSE_ARM_SOUND_ASM
endif
ifdef USE_ARM_GFX_ASM
DEFINES += -DUSE_ARM_GFX_ASM
endif