1 # =============================================================================
2 # Rocks'n'Diamonds - McDuffin Strikes Back!
3 # -----------------------------------------------------------------------------
4 # (c) 1995-2015 by Artsoft Entertainment
7 # http://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 # RO_GAME_DIR = /usr/share/games/rocksndiamonds
31 # directory for writable game data (like highscore files)
32 # (if no "scores" directory exists, scores are saved in user data directory)
33 # default is '.' to be able to run program without installation
35 # use the following setting for Debian / Ubuntu installations:
36 # RW_GAME_DIR = /var/games/rocksndiamonds
38 # uncomment if system has no joystick include file
39 # JOYSTICK = -DNO_JOYSTICK
41 # path for cross-compiling (only needed for non-native Windows build)
42 CROSS_PATH_WIN32 = /usr/local/cross-tools/i686-w64-mingw32
43 CROSS_PATH_WIN64 = /usr/local/cross-tools/x86_64-w64-mingw32
46 # -----------------------------------------------------------------------------
47 # there should be no need to change anything below
48 # -----------------------------------------------------------------------------
50 .EXPORT_ALL_VARIABLES:
53 ANDROID_DIR ?= build-projects/android
55 MAKE_CMD = $(MAKE) -C $(SRC_DIR)
56 MAKE_CMD_ANDROID = $(MAKE) -C $(ANDROID_DIR)
59 # -----------------------------------------------------------------------------
61 # -----------------------------------------------------------------------------
67 @$(MAKE_CMD) TARGET=sdl
70 @$(MAKE_CMD) TARGET=sdl2
73 @$(MAKE_CMD) PLATFORM=macosx
76 @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32
79 @PATH=$(CROSS_PATH_WIN64)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win64
82 @$(MAKE_CMD_ANDROID) compile
85 @$(MAKE_CMD_ANDROID) package
88 @$(MAKE_CMD_ANDROID) install
91 @$(MAKE_CMD_ANDROID) assets-toc
94 @$(MAKE_CMD_ANDROID) clean
96 android: android-package
102 @$(MAKE_CMD) clean-git
104 clean-android: android-clean
107 # -----------------------------------------------------------------------------
108 # development targets
109 # -----------------------------------------------------------------------------
111 MAKE_ENGINETEST = ./Scripts/make_enginetest.sh
112 MAKE_LEVELSKETCH = ./Scripts/make_levelsketch_images.sh
115 @$(MAKE_CMD) auto-conf
124 @$(MAKE_CMD) valgrind
135 enginetestcustom: all
136 $(MAKE_ENGINETEST) custom
139 $(MAKE_ENGINETEST) fast
142 $(MAKE_ENGINETEST) new
145 $(MAKE_ENGINETEST) leveltest
147 levelsketch_images: all
151 # -----------------------------------------------------------------------------
152 # distribution targets
153 # -----------------------------------------------------------------------------
155 MAKE_DIST = ./Scripts/make_dist.sh
158 @$(MAKE_CMD) dist-clean
161 @$(MAKE_CMD_ANDROID) dist-clean
164 @BUILD_DIST=TRUE $(MAKE)
167 @BUILD_DIST=TRUE $(MAKE) cross-win32
170 @BUILD_DIST=TRUE $(MAKE) cross-win64
173 @BUILD_DIST=TRUE $(MAKE)
176 @BUILD_DIST=TRUE $(MAKE) android
179 $(MAKE_DIST) package unix
182 $(MAKE_DIST) package win32
185 $(MAKE_DIST) package win64
188 $(MAKE_DIST) package mac
190 dist-package-android:
191 $(MAKE_DIST) package android
193 dist-copy-package-unix:
194 $(MAKE_DIST) copy-package unix
196 dist-copy-package-win32:
197 $(MAKE_DIST) copy-package win32
199 dist-copy-package-win64:
200 $(MAKE_DIST) copy-package win64
202 dist-copy-package-macosx:
203 $(MAKE_DIST) copy-package mac
205 dist-copy-package-android:
206 $(MAKE_DIST) copy-package android
209 $(MAKE_DIST) upload unix
212 $(MAKE_DIST) upload win32
215 $(MAKE_DIST) upload win64
218 $(MAKE_DIST) upload mac
221 $(MAKE_DIST) upload android
224 $(MAKE) dist-package-unix
225 $(MAKE) dist-package-win32
226 $(MAKE) dist-package-win64
227 $(MAKE) dist-package-macosx
228 $(MAKE) dist-package-android
230 dist-copy-package-all:
231 $(MAKE) dist-copy-package-unix
232 $(MAKE) dist-copy-package-win32
233 $(MAKE) dist-copy-package-win64
234 $(MAKE) dist-copy-package-macosx
235 $(MAKE) dist-copy-package-android
238 $(MAKE) dist-upload-unix
239 $(MAKE) dist-upload-win32
240 $(MAKE) dist-upload-win64
241 $(MAKE) dist-upload-macosx
242 $(MAKE) dist-upload-android
244 dist-release-all: dist-package-all dist-copy-package-all dist-upload-all
246 package-all: dist-package-all
248 copy-package-all: dist-copy-package-all
250 upload-all: dist-upload-all
252 release-all: dist-release-all