added recognizing window resize events in door request mode
[rocksndiamonds.git] / Makefile
1 # =============================================================================
2 # Rocks'n'Diamonds - McDuffin Strikes Back!
3 # -----------------------------------------------------------------------------
4 # (c) 1995-2015 by Artsoft Entertainment
5 #                  Holger Schemel
6 #                  info@artsoft.org
7 #                  http://www.artsoft.org/
8 # -----------------------------------------------------------------------------
9 # Makefile
10 # =============================================================================
11
12 # -----------------------------------------------------------------------------
13 # configuration
14 # -----------------------------------------------------------------------------
15
16 # command name of your favorite ANSI C compiler
17 # (this must be set to "cc" for some systems)
18 CC = gcc
19
20 # command name of GNU make on your system
21 # (this must be set to "gmake" for some systems)
22 MAKE = make
23
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
27 # RO_GAME_DIR = .
28 # use the following setting for Debian / Ubuntu installations:
29 # RO_GAME_DIR = /usr/share/games/rocksndiamonds
30
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
34 # RW_GAME_DIR = .
35 # use the following setting for Debian / Ubuntu installations:
36 # RW_GAME_DIR = /var/games/rocksndiamonds
37
38 # uncomment if system has no joystick include file
39 # JOYSTICK = -DNO_JOYSTICK
40
41 # path for cross-compiling (only needed for non-native Windows build)
42 CROSS_PATH_WIN32 = /usr/local/cross-tools/i386-mingw32msvc
43
44
45 # -----------------------------------------------------------------------------
46 # there should be no need to change anything below
47 # -----------------------------------------------------------------------------
48
49 .EXPORT_ALL_VARIABLES:
50
51 SRC_DIR = src
52 MAKE_CMD = $(MAKE) -C $(SRC_DIR)
53
54
55 # -----------------------------------------------------------------------------
56 # build targets
57 # -----------------------------------------------------------------------------
58
59 all:
60         @$(MAKE_CMD)
61
62 sdl:
63         @$(MAKE_CMD) TARGET=sdl
64
65 sdl2:
66         @$(MAKE_CMD) TARGET=sdl2
67
68 mac:
69         @$(MAKE_CMD) PLATFORM=macosx
70
71 cross-win32:
72         @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32
73
74 clean:
75         @$(MAKE_CMD) clean
76
77 clean-git:
78         @$(MAKE_CMD) clean-git
79
80
81 # -----------------------------------------------------------------------------
82 # development, test, distribution build and packaging targets
83 # -----------------------------------------------------------------------------
84
85 auto-conf:
86         @$(MAKE_CMD) auto-conf
87
88 run: all
89         @$(MAKE_CMD) run
90
91 gdb: all
92         @$(MAKE_CMD) gdb
93
94 valgrind: all
95         @$(MAKE_CMD) valgrind
96
97 enginetest: all
98         ./Scripts/make_enginetest.sh
99
100 enginetestcustom: all
101         ./Scripts/make_enginetest.sh custom
102
103 enginetestfast: all
104         ./Scripts/make_enginetest.sh fast
105
106 enginetestnew: all
107         ./Scripts/make_enginetest.sh new
108
109 leveltest: all
110         ./Scripts/make_enginetest.sh leveltest
111
112 levelsketch_images: all
113         ./Scripts/make_levelsketch_images.sh
114
115 dist-clean:
116         @$(MAKE_CMD) dist-clean
117
118 dist-build-unix:
119         @BUILD_DIST=TRUE $(MAKE)
120
121 dist-build-win32:
122         @BUILD_DIST=TRUE $(MAKE) cross-win32
123
124 dist-build-macosx:
125         @BUILD_DIST=TRUE $(MAKE)
126
127 dist-package-unix:
128         ./Scripts/make_dist.sh package unix
129
130 dist-package-win32:
131         ./Scripts/make_dist.sh package win
132
133 dist-package-macosx:
134         ./Scripts/make_dist.sh package mac
135
136 dist-upload-unix:
137         ./Scripts/make_dist.sh upload unix
138
139 dist-upload-win32:
140         ./Scripts/make_dist.sh upload win
141
142 dist-upload-macosx:
143         ./Scripts/make_dist.sh upload mac
144
145 dist-package-all:
146         $(MAKE) dist-package-unix
147         $(MAKE) dist-package-win32
148         $(MAKE) dist-package-macosx
149
150 dist-upload-all:
151         $(MAKE) dist-upload-unix
152         $(MAKE) dist-upload-win32
153         $(MAKE) dist-upload-macosx
154
155 package-all: dist-package-all
156
157 upload-all: dist-upload-all
158
159 tags:
160         $(MAKE_CMD) tags
161
162 depend dep:
163         $(MAKE_CMD) depend