1 # =============================================================================
2 # Rocks'n'Diamonds - McDuffin Strikes Back!
3 # -----------------------------------------------------------------------------
4 # (c) 1995-2015 by Artsoft Entertainment
7 # https://www.artsoft.org/
8 # -----------------------------------------------------------------------------
10 # =============================================================================
12 # -----------------------------------------------------------------------------
14 # -----------------------------------------------------------------------------
16 # command name of your favorite ANSI C compiler
17 # (this must be set to "cc" for some systems)
20 # command name of GNU make on your system
21 # (this must be set to "gmake" for some systems)
24 # directory for (read-only) game data (like graphics, sounds, levels)
25 # (this directory is usually the game's installation directory)
26 # default is '.' to be able to run program without installation
28 # use the following setting for Debian / Ubuntu installations:
29 # BASE_PATH = /usr/share/games/rocksndiamonds
31 # uncomment if system has no joystick include file
32 # JOYSTICK = -DNO_JOYSTICK
34 # path for cross-compiling (only needed for non-native Windows build)
35 CROSS_PATH_WIN32 = /usr/local/cross-tools/i686-w64-mingw32
36 CROSS_PATH_WIN64 = /usr/local/cross-tools/x86_64-w64-mingw32
39 # -----------------------------------------------------------------------------
40 # there should be no need to change anything below
41 # -----------------------------------------------------------------------------
43 .EXPORT_ALL_VARIABLES:
46 ANDROID_DIR ?= build-projects/android
48 MAKE_CMD = $(MAKE) -C $(SRC_DIR)
49 MAKE_CMD_ANDROID = $(MAKE) -C $(ANDROID_DIR)
52 # -----------------------------------------------------------------------------
54 # -----------------------------------------------------------------------------
60 @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32
63 @PATH=$(CROSS_PATH_WIN64)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win64
66 @$(MAKE_CMD_ANDROID) prepare
69 @$(MAKE_CMD_ANDROID) package
72 @$(MAKE_CMD_ANDROID) clean
74 android: android-package
77 @emmake $(MAKE_CMD) PLATFORM=emscripten
83 @$(MAKE_CMD) clean-git
85 clean-android: android-clean
88 # -----------------------------------------------------------------------------
90 # -----------------------------------------------------------------------------
92 MAKE_ENGINETEST = ./Scripts/make_enginetest.sh
93 MAKE_LEVELSKETCH = ./Scripts/make_levelsketch_images.sh
96 @$(MAKE_CMD) auto-conf
99 @$(MAKE_CMD) conf-time
102 @$(MAKE_CMD) conf-hash
111 @$(MAKE_CMD) valgrind
122 enginetestcustom: all
123 $(MAKE_ENGINETEST) custom
126 $(MAKE_ENGINETEST) fast
129 $(MAKE_ENGINETEST) new
132 $(MAKE_ENGINETEST) leveltest
134 levelsketch_images: all
138 # -----------------------------------------------------------------------------
139 # distribution targets
140 # -----------------------------------------------------------------------------
142 MAKE_DIST = ./Scripts/make_dist.sh
145 @$(MAKE_CMD) dist-clean
148 @$(MAKE_CMD_ANDROID) dist-clean
151 @BUILD_DIST=TRUE $(MAKE)
154 @BUILD_DIST=TRUE $(MAKE) cross-win32
157 @BUILD_DIST=TRUE $(MAKE) cross-win64
160 @BUILD_DIST=TRUE $(MAKE)
163 @BUILD_DIST=TRUE $(MAKE) android
165 dist-build-emscripten:
166 @BUILD_DIST=TRUE $(MAKE) emscripten
169 $(MAKE_DIST) package linux
172 $(MAKE_DIST) package win32
175 $(MAKE_DIST) package win64
178 $(MAKE_DIST) package mac
180 dist-package-android:
181 $(MAKE_DIST) package android
183 dist-package-emscripten:
184 $(MAKE_DIST) package emscripten
186 dist-copy-package-linux:
187 $(MAKE_DIST) copy-package linux
189 dist-copy-package-win32:
190 $(MAKE_DIST) copy-package win32
192 dist-copy-package-win64:
193 $(MAKE_DIST) copy-package win64
195 dist-copy-package-mac:
196 $(MAKE_DIST) copy-package mac
198 dist-copy-package-android:
199 $(MAKE_DIST) copy-package android
201 dist-copy-package-emscripten:
202 $(MAKE_DIST) copy-package emscripten
205 $(MAKE_DIST) upload linux
208 $(MAKE_DIST) upload win32
211 $(MAKE_DIST) upload win64
214 $(MAKE_DIST) upload mac
217 $(MAKE_DIST) upload android
219 dist-upload-emscripten:
220 $(MAKE_DIST) upload emscripten
222 dist-deploy-emscripten:
223 $(MAKE_DIST) deploy emscripten
226 $(MAKE) dist-package-linux
227 $(MAKE) dist-package-win32
228 $(MAKE) dist-package-win64
229 $(MAKE) dist-package-mac
230 $(MAKE) dist-package-android
231 $(MAKE) dist-package-emscripten
233 dist-copy-package-all:
234 $(MAKE) dist-copy-package-linux
235 $(MAKE) dist-copy-package-win32
236 $(MAKE) dist-copy-package-win64
237 $(MAKE) dist-copy-package-mac
238 $(MAKE) dist-copy-package-android
239 $(MAKE) dist-copy-package-emscripten
242 $(MAKE) dist-upload-linux
243 $(MAKE) dist-upload-win32
244 $(MAKE) dist-upload-win64
245 $(MAKE) dist-upload-mac
246 $(MAKE) dist-upload-android
247 $(MAKE) dist-upload-emscripten
250 $(MAKE) dist-deploy-emscripten
252 dist-release-all: dist-package-all dist-copy-package-all dist-upload-all
254 package-all: dist-package-all
256 copy-package-all: dist-copy-package-all
258 upload-all: dist-upload-all
260 deploy-all: dist-deploy-all
262 release-all: dist-release-all