1# ============================================================================= 2# Rocks'n'Diamonds Makefile 3# ----------------------------------------------------------------------------- 4# (c) 1995-2007 Holger Schemel <info@artsoft.org> 5# ============================================================================= 6 7# ----------------------------------------------------------------------------- 8# configuration 9# ----------------------------------------------------------------------------- 10 11# command name of your favorite ANSI C compiler 12# (this must be set to "cc" for some systems) 13CC = gcc 14 15# command name of GNU make on your system 16# (this must be set to "gmake" for some systems) 17MAKE = make 18 19# path to X11 on your system 20X11_PATH = /usr/X11R6 21 22# directory for read-only game data (like graphics, sounds, levels) 23# default is '.' to be able to run program without installation 24# RO_GAME_DIR = /usr/games 25# use the following setting for Debian / Ubuntu installations: 26# RO_GAME_DIR = /usr/share/games/rocksndiamonds 27 28# directory for writable game data (like highscore files) 29# default is '.' to be able to run program without installation 30# RW_GAME_DIR = /var/games 31# use the following setting for Debian / Ubuntu installations: 32# RW_GAME_DIR = /var/games/rocksndiamonds 33 34# uncomment if system has no joystick include file 35# JOYSTICK = -DNO_JOYSTICK 36 37# choose if more than one global score file entry for one player is allowed 38# (default: MANY_PER_NAME) 39# uncomment to install game in multi-user environment 40# SCORE_ENTRIES = ONE_PER_NAME 41# uncomment to install game in single-user environment (default) 42# SCORE_ENTRIES = MANY_PER_NAME 43 44# paths for cross-compiling (only needed for non-native MS-DOS and Win32 build) 45CROSS_PATH_MSDOS = /usr/local/cross-msdos/i386-msdosdjgpp 46CROSS_PATH_WIN32 = /usr/local/cross-tools/i386-mingw32msvc 47 48# compile special edition of R'n'D instead of the normal (classic) version 49SPECIAL_EDITION = rnd_jue 50 51 52# ----------------------------------------------------------------------------- 53# there should be no need to change anything below 54# ----------------------------------------------------------------------------- 55 56.EXPORT_ALL_VARIABLES: 57 58SRC_DIR = src 59MAKE_CMD = $(MAKE) -C $(SRC_DIR) 60 61# DEFAULT_TARGET = x11 62DEFAULT_TARGET = sdl 63 64 65# ----------------------------------------------------------------------------- 66# build targets 67# ----------------------------------------------------------------------------- 68 69all: 70 @$(MAKE_CMD) TARGET=$(DEFAULT_TARGET) 71 72x11: 73 @$(MAKE_CMD) TARGET=x11 74 75sdl: 76 @$(MAKE_CMD) TARGET=sdl 77 78solaris: 79 @$(MAKE_CMD) PLATFORM=solaris TARGET=x11 80 81solaris-sdl: 82 @$(MAKE_CMD) PLATFORM=solaris TARGET=sdl 83 84mac: 85 @$(MAKE_CMD) PLATFORM=macosx 86 87mac-static: 88 @$(MAKE_CMD) PLATFORM=macosx TARGET=sdl-static 89 90msdos: 91 @$(MAKE_CMD) PLATFORM=msdos 92 93os2: 94 @$(MAKE_CMD) PLATFORM=os2 95 96cross-msdos: 97 @PATH=$(CROSS_PATH_MSDOS)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-msdos 98 99cross-win32: 100 @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32 101 102clean: 103 @$(MAKE_CMD) clean 104 105 106# ----------------------------------------------------------------------------- 107# development, test, distribution build and packaging targets 108# ----------------------------------------------------------------------------- 109 110auto-conf: 111 @$(MAKE_CMD) auto-conf 112 113run: all 114 @$(MAKE_CMD) run 115 116gdb: all 117 @$(MAKE_CMD) gdb 118 119valgrind: all 120 @$(MAKE_CMD) valgrind 121 122enginetest: all 123 ./Scripts/make_enginetest.sh 124 125enginetestcustom: all 126 ./Scripts/make_enginetest.sh custom 127 128enginetestfast: all 129 ./Scripts/make_enginetest.sh fast 130 131enginetestnew: all 132 ./Scripts/make_enginetest.sh new 133 134leveltest: all 135 ./Scripts/make_enginetest.sh leveltest 136 137levelsketch_images: all 138 ./Scripts/make_levelsketch_images.sh 139 140backup: 141 ./Scripts/make_backup.sh src tar 142 143backup-net-copy: 144 ./Scripts/make_backup.sh src scp 145 146backup-net: backup backup-net-copy 147 148backup_lev: 149 ./Scripts/make_backup.sh lev 150 151backup_gfx: 152 ./Scripts/make_backup.sh gfx 153 154# prerelease: 155# ./Scripts/make_prerelease.sh 156 157jue: 158 @$(MAKE) SPECIAL_EDITION=rnd_jue all 159 160jue-win: 161 @$(MAKE) SPECIAL_EDITION=rnd_jue cross-win32 162 163dist-clean: 164 @$(MAKE_CMD) dist-clean 165 166dist-build-unix: 167 @BUILD_DIST=TRUE $(MAKE) x11 168 169dist-build-msdos: 170 @BUILD_DIST=TRUE $(MAKE) cross-msdos 171 172dist-build-win32: 173 @BUILD_DIST=TRUE $(MAKE) cross-win32 174 175dist-build-macosx: 176 # (this is done by "dist-package-macosx" target) 177 178dist-package-unix: 179 ./Scripts/make_dist.sh unix . 180 181dist-package-msdos: 182 ./Scripts/make_dist.sh dos . 183 184dist-package-win32: 185 ./Scripts/make_dist.sh win . 186 187dist-package-macosx: 188 ./Scripts/make_dist.sh mac . $(MAKE) 189 190dist-upload-unix: 191 ./Scripts/make_dist.sh unix . upload 192 193dist-upload-msdos: 194 ./Scripts/make_dist.sh dos . upload 195 196dist-upload-win32: 197 ./Scripts/make_dist.sh win . upload 198 199dist-upload-macosx: 200 ./Scripts/make_dist.sh mac . upload 201 202dist-build-all: 203 $(MAKE) clean 204 $(MAKE) dist-build-unix ; $(MAKE) dist-clean 205 $(MAKE) dist-build-win32 ; $(MAKE) dist-clean 206# $(MAKE) dist-build-msdos ; $(MAKE) dist-clean 207 208dist-package-all: 209 $(MAKE) dist-package-unix 210 $(MAKE) dist-package-win32 211 $(MAKE) dist-package-macosx 212# $(MAKE) dist-package-msdos 213 214dist-upload-all: 215 $(MAKE) dist-upload-unix 216 $(MAKE) dist-upload-win32 217 $(MAKE) dist-upload-macosx 218# $(MAKE) dist-upload-msdos 219 220dist-all: dist-build-all dist-package-all 221 222upload-all: dist-upload-all 223 224tags: 225 $(MAKE_CMD) tags 226 227depend dep: 228 $(MAKE_CMD) depend 229