1 #=============================================================================#
2 # Makefile for Rocks'n'Diamonds #
3 # (c) 1995-2002 Holger Schemel, info@artsoft.org #
4 #=============================================================================#
6 #-----------------------------------------------------------------------------#
7 # configuration section #
8 #-----------------------------------------------------------------------------#
10 # specify command name of your favorite ANSI C compiler
11 # (this must be set to "cc" for some systems)
14 # specify command name of GNU make on your system
15 # (this must be set to "gmake" for some systems)
18 # specify path to X11 on your system
21 # specify directory for read-only game data (like graphics, sounds, levels)
22 # default is '.', so you can play without installing game data somewhere
23 # RO_GAME_DIR = /usr/games
25 # specify directory for writable game data (like highscore files)
26 # default is '.', so you can play without installing game data somewhere
27 # RW_GAME_DIR = /var/games
29 # uncomment this if your system has no joystick include file
30 # JOYSTICK = -DNO_JOYSTICK
32 # choose if you want to allow many global score file entries for one player
33 # default is 'MANY_PER_NAME'
34 # when installing the game in a multi user environment, choose this
35 # SCORE_ENTRIES = ONE_PER_NAME
36 # when installing the game in a single user environment, choose this
37 # SCORE_ENTRIES = MANY_PER_NAME
39 # specify paths for cross-compiling (only needed for MS-DOS and Win32 build)
40 CROSS_PATH_MSDOS=/usr/local/cross-msdos/i386-msdosdjgpp
41 CROSS_PATH_WIN32=/usr/local/cross-tools/i386-mingw32msvc
43 #-----------------------------------------------------------------------------#
44 # you should not need to change anything below #
45 #-----------------------------------------------------------------------------#
47 .EXPORT_ALL_VARIABLES:
50 MAKE_CMD = $(MAKE) -C $(SRC_DIR)
53 # DEFAULT_TARGET = sdl
56 @$(MAKE_CMD) TARGET=$(DEFAULT_TARGET)
59 @$(MAKE_CMD) TARGET=x11
62 @$(MAKE_CMD) TARGET=sdl
65 @$(MAKE_CMD) PLATFORM=solaris TARGET=x11
68 @$(MAKE_CMD) PLATFORM=solaris TARGET=sdl
71 @$(MAKE_CMD) PLATFORM=macosx
74 @$(MAKE_CMD) PLATFORM=msdos
77 @PATH=$(CROSS_PATH_MSDOS)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-msdos
80 @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32
86 #-----------------------------------------------------------------------------#
87 # development only stuff #
88 #-----------------------------------------------------------------------------#
91 @$(MAKE_CMD) auto-conf
94 @$(MAKE_CMD) TARGET=$(DEFAULT_TARGET) && ./rocksndiamonds --verbose
97 @$(MAKE_CMD) TARGET=$(DEFAULT_TARGET) && gdb ./rocksndiamonds
100 valgrind -v --leak-check=yes ./rocksndiamonds 2> valgrind.out
103 ./Scripts/make_enginetest.sh
106 ./Scripts/make_enginetest.sh fast
109 ./Scripts/make_backup.sh src
112 ./Scripts/make_backup.sh lev
115 ./Scripts/make_backup.sh gfx
118 ./Scripts/make_dist.sh unix .
121 ./Scripts/make_dist.sh dos .
124 ./Scripts/make_dist.sh win .
127 ./Scripts/make_dist.sh mac . $(MAKE)
130 ./Scripts/make_dist.sh unix . upload
133 ./Scripts/make_dist.sh dos . upload
136 ./Scripts/make_dist.sh win . upload
139 ./Scripts/make_dist.sh mac . upload
142 @$(MAKE_CMD) dist-clean
145 @BUILD_DIST=TRUE $(MAKE) x11
148 @BUILD_DIST=TRUE $(MAKE) cross-win32
151 @BUILD_DIST=TRUE $(MAKE) cross-msdos
155 $(MAKE) dist-build-unix ; $(MAKE) dist-clean
156 $(MAKE) dist-build-win32 ; $(MAKE) dist-clean
157 $(MAKE) dist-build-msdos ; $(MAKE) dist-clean
159 dist-all: dist-build-all dist-unix dist-msdos dist-win32 dist-macosx
161 upload-all: upload-unix upload-msdos upload-win32 upload-macosx