Makefile 36.8 KB
Newer Older
1 2
MAKEFILE_CONF      ?= Makefile.conf
-include $(MAKEFILE_CONF)
3 4 5 6 7

## CONFIGURATION SETTINGS
# user customizable stuf
# you may override this in Makefile.conf or the environment
BUILD              ?= debug
8
# or: release, or: extradebug, or: profile
9 10
OS                 ?= $(shell uname)
# or: Linux, Win32, Darwin
rpolzer's avatar
rpolzer committed
11
LDFLAGS            ?=
12 13 14 15 16
CFLAGS             ?=
CXXFLAGS           ?=
CPPFLAGS           ?=
LIBS               ?=
RADIANT_ABOUTMSG   ?= Custom build
rpolzer's avatar
rpolzer committed
17

divverent's avatar
divverent committed
18 19 20
# warning: this directory may NOT contain any files other than the ones written by this Makefile!
# NEVER SET THIS TO A SYSTEM WIDE "bin" DIRECTORY!
INSTALLDIR         ?= install
21
DOWNLOADDIR        ?= build/download
divverent's avatar
divverent committed
22

23 24 25 26
CC                 ?= gcc
CXX                ?= g++
RANLIB             ?= ranlib
AR                 ?= ar
rpolzer's avatar
rpolzer committed
27
LDD                ?= ldd # nothing on Win32
28
OTOOL              ?= # only used on OS X
29
WINDRES            ?= windres # only used on Win32
rpolzer's avatar
rpolzer committed
30

rpolzer's avatar
rpolzer committed
31 32 33
PKGCONFIG          ?= pkg-config
PKG_CONFIG_PATH    ?=

rpolzer's avatar
rpolzer committed
34
SH                 ?= $(SHELL)
35
ECHO               ?= echo
36
ECHO_NOLF          ?= echo -n
rpolzer's avatar
rpolzer committed
37 38 39
CAT                ?= cat
MKDIR              ?= mkdir -p
CP                 ?= cp
40
CP_R               ?= $(CP) -r --preserve=timestamps
41 42
LN                 ?= ln
LN_SNF             ?= $(LN) -snf
rpolzer's avatar
rpolzer committed
43
RM                 ?= rm
44 45
RM_R               ?= $(RM) -r
TEE_STDERR         ?= | tee /dev/stderr
rpolzer's avatar
rpolzer committed
46
TR                 ?= tr
rpolzer's avatar
rpolzer committed
47 48
FIND               ?= find
DIFF               ?= diff
49
SED                ?= sed
50
GIT                ?= git
51 52 53
SVN                ?= svn
WGET               ?= wget
MV                 ?= mv
54
UNZIPPER           ?= unzip
rpolzer's avatar
rpolzer committed
55

56 57 58
FD_TO_DEVNULL      ?= >/dev/null
STDOUT_TO_DEVNULL  ?= 1$(FD_TO_DEVNULL)
STDERR_TO_DEVNULL  ?= 2$(FD_TO_DEVNULL)
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
STDERR_TO_STDOUT   ?= 2>&1
TO_DEVNULL         ?= $(STDOUT_TO_DEVNULL) $(STDERR_TO_STDOUT)

CPPFLAGS_GLIB      ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) glib-2.0 --cflags $(STDERR_TO_DEVNULL))
LIBS_GLIB          ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) glib-2.0 --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) glib-2.0 --libs-only-l $(STDERR_TO_DEVNULL))
CPPFLAGS_XML       ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libxml-2.0 --cflags $(STDERR_TO_DEVNULL))
LIBS_XML           ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libxml-2.0 --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libxml-2.0 --libs-only-l $(STDERR_TO_DEVNULL))
CPPFLAGS_PNG       ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libpng --cflags $(STDERR_TO_DEVNULL))
LIBS_PNG           ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libpng --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) libpng --libs-only-l $(STDERR_TO_DEVNULL))
CPPFLAGS_GTK       ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtk+-2.0 --cflags $(STDERR_TO_DEVNULL))
LIBS_GTK           ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtk+-2.0 --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtk+-2.0 --libs-only-l $(STDERR_TO_DEVNULL))
74 75 76
CPPFLAGS_PANGOFT2  ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) pangoft2 --cflags $(STDERR_TO_DEVNULL))
LIBS_PANGOFT2      ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) pangoft2 --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) pangoft2 --libs-only-l $(STDERR_TO_DEVNULL))
77 78 79
CPPFLAGS_GTKGLEXT  ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtkglext-1.0 --cflags $(STDERR_TO_DEVNULL))
LIBS_GTKGLEXT      ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtkglext-1.0 --libs-only-L $(STDERR_TO_DEVNULL)) \
                      $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtkglext-1.0 --libs-only-l $(STDERR_TO_DEVNULL))
80 81 82 83 84
CPPFLAGS_GL        ?=
LIBS_GL            ?= -lGL # -lopengl32 on Win32
CPPFLAGS_DL        ?=
LIBS_DL            ?= -ldl # nothing on Win32
CPPFLAGS_ZLIB      ?=
TimePath's avatar
TimePath committed
85
LIBS_ZLIB          ?= -lz -lminizip
86 87
CPPFLAGS_JPEG      ?=
LIBS_JPEG          ?= -ljpeg
88
DEPEND_ON_MAKEFILE ?= yes
89 90
DOWNLOAD_GAMEPACKS ?= yes
# set to no to disable gamepack, set to all to even download undistributable gamepacks
91 92 93 94 95

# Support CHECK_DEPENDENCIES with DOWNLOAD_GAMEPACKS semantics
ifneq ($(CHECK_DEPENDENCIES),)
DEPENDENCIES_CHECK = $(patsubst yes,quiet,$(patsubst no,off,$(CHECK_DEPENDENCIES)))
else
rpolzer's avatar
rpolzer committed
96
DEPENDENCIES_CHECK ?= quiet
rpolzer's avatar
rpolzer committed
97
# or: off, verbose
98
endif
99

100
# these are used on Win32 only
101
GTKDIR             ?= $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKGCONFIG) gtk+-2.0 --variable=prefix $(STDERR_TO_DEVNULL))
102
WHICHDLL           ?= which
103
DLLINSTALL         ?= install-dlls.sh
104

105
# alias mingw32 OSes
106 107 108
ifeq ($(OS),MINGW32_NT-6.0)
	OS = Win32
endif
divverent's avatar
divverent committed
109 110 111
ifeq ($(OS),Windows_NT)
	OS = Win32
endif
112

divverent's avatar
divverent committed
113
CFLAGS_COMMON = -MMD -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter -fno-strict-aliasing
114 115 116
CPPFLAGS_COMMON =
LDFLAGS_COMMON =
LIBS_COMMON =
TimePath's avatar
TimePath committed
117
CXXFLAGS_COMMON = -std=c++11 -Wno-non-virtual-dtor -Wreorder -fno-exceptions -fno-rtti
rpolzer's avatar
rpolzer committed
118 119

ifeq ($(BUILD),debug)
120 121 122 123 124 125 126 127 128 129
ifeq ($(findstring $(CFLAGS),-g),)
	CFLAGS_COMMON += -g
	# only add -g if no -g flag is in $(CFLAGS)
endif
ifeq ($(findstring $(CFLAGS),-O),)
	CFLAGS_COMMON += -O
	# only add -O if no -O flag is in $(CFLAGS)
endif
	CPPFLAGS_COMMON +=
	LDFLAGS_COMMON +=
divverent's avatar
divverent committed
130 131 132
else

ifeq ($(BUILD),extradebug)
133
ifeq ($(findstring $(CFLAGS),-g),)
134
	CFLAGS_COMMON += -g3
135 136
	# only add -g3 if no -g flag is in $(CFLAGS)
endif
137 138
	CPPFLAGS_COMMON += -D_DEBUG
	LDFLAGS_COMMON +=
divverent's avatar
divverent committed
139
else
divverent's avatar
divverent committed
140

divverent's avatar
divverent committed
141
ifeq ($(BUILD),profile)
142 143 144 145
ifeq ($(findstring $(CFLAGS),-g),)
	CFLAGS_COMMON += -g
	# only add -g if no -g flag is in $(CFLAGS)
endif
146 147
ifeq ($(findstring $(CFLAGS),-O),)
	CFLAGS_COMMON += -O
148
	# only add -O if no -O flag is in $(CFLAGS)
149 150 151 152
endif
	CFLAGS_COMMON += -pg
	CPPFLAGS_COMMON +=
	LDFLAGS_COMMON += -pg
divverent's avatar
divverent committed
153
else
divverent's avatar
divverent committed
154

divverent's avatar
divverent committed
155
ifeq ($(BUILD),release)
rpolzer's avatar
rpolzer committed
156
ifeq ($(findstring $(CFLAGS),-O),)
157
	CFLAGS_COMMON += -O3
rpolzer's avatar
rpolzer committed
158 159
	# only add -O3 if no -O flag is in $(CFLAGS)
endif
160 161
	CPPFLAGS_COMMON +=
	LDFLAGS_COMMON += -s
rpolzer's avatar
rpolzer committed
162
else
divverent's avatar
divverent committed
163

Rudolf Polzer's avatar
Rudolf Polzer committed
164 165 166 167 168 169 170 171 172 173
ifeq ($(BUILD),native)
ifeq ($(findstring $(CFLAGS),-O),)
	CFLAGS_COMMON += -O3
	# only add -O3 if no -O flag is in $(CFLAGS)
endif
	CFLAGS_COMMON += -march=native -mcpu=native
	CPPFLAGS_COMMON +=
	LDFLAGS_COMMON += -s
else

174
$(error Unsupported build type: $(BUILD))
rpolzer's avatar
rpolzer committed
175
endif
divverent's avatar
divverent committed
176 177 178
endif
endif
endif
Rudolf Polzer's avatar
Rudolf Polzer committed
179
endif
rpolzer's avatar
rpolzer committed
180

divverent's avatar
divverent committed
181 182
INSTALLDIR_BASE := $(INSTALLDIR)

183 184
MAKE_EXE_SYMLINK = false

rpolzer's avatar
rpolzer committed
185
ifeq ($(OS),Linux)
divverent's avatar
divverent committed
186
	CPPFLAGS_COMMON += -DPOSIX -DXWINDOWS
187
	CFLAGS_COMMON += -fPIC
rpolzer's avatar
rpolzer committed
188
	LDFLAGS_DLL = -fPIC -ldl
189
	LIBS_COMMON = -lpthread
190
	EXE ?= $(shell uname -m)
191
	MAKE_EXE_SYMLINK = true
rpolzer's avatar
rpolzer committed
192 193
	A = a
	DLL = so
rpolzer's avatar
rpolzer committed
194
	MWINDOWS =
divverent's avatar
divverent committed
195 196 197
else

ifeq ($(OS),Win32)
198 199
	CPPFLAGS_COMMON += -DWIN32 -D_WIN32 -D_inline=inline
	CFLAGS_COMMON += -mms-bitfields
200
	LDFLAGS_DLL = -Wl,--add-stdcall-alias
Rudolf Polzer's avatar
Rudolf Polzer committed
201
	LIBS_COMMON = -lws2_32 -luser32 -lgdi32 -lole32
202
	EXE ?= exe
203 204
	A = a
	DLL = dll
rpolzer's avatar
rpolzer committed
205
	MWINDOWS = -mwindows
206 207

	# workaround: we have no "ldd" for Win32, so...
rpolzer's avatar
rpolzer committed
208
	LDD =
209
	# workaround: OpenGL library for Win32 is called opengl32.dll
rpolzer's avatar
rpolzer committed
210
	LIBS_GL = -lopengl32
211
	# workaround: no -ldl on Win32
rpolzer's avatar
rpolzer committed
212
	LIBS_DL = 
divverent's avatar
divverent committed
213 214 215
else

ifeq ($(OS),Darwin)
divverent's avatar
divverent committed
216
	CPPFLAGS_COMMON += -DPOSIX -DXWINDOWS
217
	CFLAGS_COMMON += -fPIC
218
	CXXFLAGS_COMMON += -fno-exceptions -fno-rtti
219 220 221
	MACLIBDIR ?= /opt/local/lib
	CPPFLAGS_COMMON += -I$(MACLIBDIR)/../include -I/usr/X11R6/include
	LDFLAGS_COMMON += -L$(MACLIBDIR) -L/usr/X11R6/lib
222
	LDFLAGS_DLL += -dynamiclib -ldl
223 224
	EXE ?= $(shell uname -m)
	MAKE_EXE_SYMLINK = true
divverent's avatar
divverent committed
225 226 227
	A = a
	DLL = dylib
	MWINDOWS =
divverent's avatar
divverent committed
228 229 230
	# workaround for weird prints
	ECHO_NOLF = /bin/echo -n

divverent's avatar
divverent committed
231
	# workaround: http://developer.apple.com/qa/qa2007/qa1567.html
divverent's avatar
divverent committed
232 233
	LIBS_GL += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
	LIBS_GTKGLEXT += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
divverent's avatar
divverent committed
234 235
	# workaround: we have no "ldd" for OS X, so...
	LDD =
236
	OTOOL = otool
rpolzer's avatar
rpolzer committed
237
else
divverent's avatar
divverent committed
238

239
$(error Unsupported build OS: $(OS))
rpolzer's avatar
rpolzer committed
240
endif
divverent's avatar
divverent committed
241 242
endif
endif
243

rpolzer's avatar
rpolzer committed
244
# VERSION!
Thomas Debesse's avatar
Thomas Debesse committed
245 246 247 248
RADIANT_MAJOR_VERSION = 1
RADIANT_MINOR_VERSION = 5
RADIANT_PATCH_VERSION = 0
RADIANT_VERSION_NUMBER = $(RADIANT_MAJOR_VERSION).$(RADIANT_MINOR_VERSION).$(RADIANT_PATCH_VERSION)
Rudolf Polzer's avatar
Rudolf Polzer committed
249
RADIANT_VERSION = $(RADIANT_VERSION_NUMBER)n
250
Q3MAP_VERSION = 2.5.17n
rpolzer's avatar
rpolzer committed
251

252 253 254
# Executable extension
RADIANT_EXECUTABLE := $(EXE)

255 256 257 258
GIT_VERSION := $(shell $(GIT) rev-parse --short HEAD $(STDERR_TO_DEVNULL))
ifneq ($(GIT_VERSION),)
	RADIANT_VERSION := $(RADIANT_VERSION)-git-$(GIT_VERSION)
	Q3MAP_VERSION := $(Q3MAP_VERSION)-git-$(GIT_VERSION)
rpolzer's avatar
rpolzer committed
259 260
endif

Thomas Debesse's avatar
Thomas Debesse committed
261
CPPFLAGS += -DRADIANT_VERSION="\"$(RADIANT_VERSION)\"" -DRADIANT_MAJOR_VERSION="\"$(RADIANT_MAJOR_VERSION)\"" -DRADIANT_MINOR_VERSION="\"$(RADIANT_MINOR_VERSION)\"" -DRADIANT_PATCH_VERSION="\"$(RADIANT_PATCH_VERSION)\"" -DRADIANT_ABOUTMSG="\"$(RADIANT_ABOUTMSG)\"" -DQ3MAP_VERSION="\"$(Q3MAP_VERSION)\"" -DRADIANT_EXECUTABLE="\"$(RADIANT_EXECUTABLE)\""
TimePath's avatar
TimePath committed
262
CPPFLAGS += -DGTK_TARGET=2
rpolzer's avatar
rpolzer committed
263

264
.PHONY: all
rpolzer's avatar
rpolzer committed
265
all: \
Rudolf Polzer's avatar
Rudolf Polzer committed
266
	dependencies-check \
rpolzer's avatar
rpolzer committed
267 268 269 270
	binaries \
	install-data \
	install-dll \

271
.PHONY: dependencies-check
rpolzer's avatar
rpolzer committed
272 273 274 275
ifeq ($(findstring $(DEPENDENCIES_CHECK),off),off)
dependencies-check:
	@$(ECHO) dependencies checking disabled, good luck...
else
276 277
dependencies-check:
	@$(ECHO)
278
	@if [ x"$(DEPENDENCIES_CHECK)" = x"verbose" ]; then set -x; exec 3>&2; else exec 3$(FD_TO_DEVNULL); fi; \
divverent's avatar
divverent committed
279
	failed=0; \
rpolzer's avatar
rpolzer committed
280 281 282
	checkbinary() \
	{ \
		$(ECHO_NOLF) "Checking for $$2 ($$1)... "; \
283
		$$2 --help >&3 $(STDERR_TO_STDOUT); \
rpolzer's avatar
rpolzer committed
284 285 286 287 288 289
		if [ $$? != 127 ]; then \
			$(ECHO) "found."; \
		else \
			$(ECHO) "not found, please install it or set PATH right!"; \
			$(ECHO) "To see the failed commands, set DEPENDENCIES_CHECK=verbose"; \
			$(ECHO) "To proceed anyway, set DEPENDENCIES_CHECK=off"; \
divverent's avatar
divverent committed
290
			failed=1; \
rpolzer's avatar
rpolzer committed
291 292 293 294 295 296 297 298 299 300 301 302
		fi; \
	}; \
	$(ECHO) checking that the build tools exist; \
	checkbinary "bash (or another shell)" "$(SH)"; \
	checkbinary coreutils "$(ECHO)"; \
	checkbinary coreutils "$(ECHO_NOLF)"; \
	checkbinary coreutils "$(CAT)"; \
	checkbinary coreutils "$(MKDIR)"; \
	checkbinary coreutils "$(CP)"; \
	checkbinary coreutils "$(CP_R)"; \
	checkbinary coreutils "$(RM)"; \
	checkbinary coreutils "$(RM_R)"; \
303
	checkbinary coreutils "$(MV)"; \
rpolzer's avatar
rpolzer committed
304
	checkbinary coreutils "$(ECHO) test $(TEE_STDERR)"; \
305
	checkbinary sed "$(SED)"; \
rpolzer's avatar
rpolzer committed
306 307 308 309 310 311
	checkbinary findutils "$(FIND)"; \
	checkbinary diff "$(DIFF)"; \
	checkbinary gcc "$(CC)"; \
	checkbinary g++ "$(CXX)"; \
	checkbinary binutils "$(RANLIB)"; \
	checkbinary binutils "$(AR)"; \
divverent's avatar
divverent committed
312
	checkbinary pkg-config "$(PKGCONFIG)"; \
313
	checkbinary unzip "$(UNZIPPER)"; \
314 315 316
	checkbinary git-core "$(GIT)"; \
	checkbinary subversion "$(SVN)"; \
	checkbinary wget "$(WGET)"; \
rpolzer's avatar
rpolzer committed
317
	[ "$(OS)" = "Win32" ] && checkbinary mingw32 "$(WINDRES)"; \
318 319
	[ -n "$(LDD)" ] && checkbinary libc6 "$(LDD)"; \
	[ -n "$(OTOOL)" ] && checkbinary xcode "$(OTOOL)"; \
divverent's avatar
divverent committed
320
	[ "$$failed" = "0" ] && $(ECHO) All required tools have been found!
321
	@$(ECHO)
322
	@if [ x"$(DEPENDENCIES_CHECK)" = x"verbose" ]; then set -x; exec 3>&2; else exec 3$(FD_TO_DEVNULL); fi; \
divverent's avatar
divverent committed
323
	failed=0; \
324 325
	checkheader() \
	{ \
rpolzer's avatar
rpolzer committed
326
		$(ECHO_NOLF) "Checking for $$2 ($$1)... "; \
327
		if \
328
			$(CXX) conftest.cpp $(CFLAGS) $(CXXFLAGS) $(CFLAGS_COMMON) $(CXXFLAGS_COMMON) $(CPPFLAGS) $(CPPFLAGS_COMMON) $$4 -DCONFTEST_HEADER="<$$2>" -DCONFTEST_SYMBOL="$$3" $(TARGET_ARCH) $(LDFLAGS) -c -o conftest.o >&3 $(STDERR_TO_STDOUT); \
329
		then \
330 331 332 333 334 335 336 337 338 339 340 341
			if \
				$(CXX) conftest.o $(LDFLAGS) $(LDFLAGS_COMMON) $$5 $(LIBS_COMMON) $(LIBS) -o conftest >&3 $(STDERR_TO_STDOUT); \
			then \
				$(RM) conftest conftest.o conftest.d; \
				$(ECHO) "found and links."; \
			else \
				$(RM) conftest.o conftest.d; \
				$(ECHO) "found but does not link, please install it or set PKG_CONFIG_PATH right!"; \
				$(ECHO) "To see the failed commands, set DEPENDENCIES_CHECK=verbose"; \
				$(ECHO) "To proceed anyway, set DEPENDENCIES_CHECK=off"; \
				failed=1; \
			fi; \
342
		else \
rpolzer's avatar
rpolzer committed
343
			$(RM) conftest conftest.o conftest.d; \
344
			$(ECHO) "not found, please install it or set PKG_CONFIG_PATH right!"; \
rpolzer's avatar
rpolzer committed
345
			$(ECHO) "To see the failed commands, set DEPENDENCIES_CHECK=verbose"; \
rpolzer's avatar
rpolzer committed
346
			$(ECHO) "To proceed anyway, set DEPENDENCIES_CHECK=off"; \
divverent's avatar
divverent committed
347
			failed=1; \
348 349
		fi; \
	}; \
rpolzer's avatar
rpolzer committed
350
	$(ECHO) checking that the dependencies exist; \
351
	checkheader libjpeg8-dev jpeglib.h jpeg_set_defaults "$(CPPFLAGS_JPEG)" "$(LIBS_JPEG)"; \
Rudolf Polzer's avatar
Rudolf Polzer committed
352
	checkheader libglib2.0-dev glib.h g_path_is_absolute "$(CPPFLAGS_GLIB)" "$(LIBS_GLIB)"; \
rpolzer's avatar
rpolzer committed
353 354 355 356
	checkheader libxml2-dev libxml/xpath.h xmlXPathInit "$(CPPFLAGS_XML)" "$(LIBS_XML)"; \
	checkheader libpng12-dev png.h png_create_read_struct "$(CPPFLAGS_PNG)" "$(LIBS_PNG)"; \
	checkheader "mesa-common-dev (or another OpenGL library)" GL/gl.h glClear "$(CPPFLAGS_GL)" "$(LIBS_GL)"; \
	checkheader libgtk2.0-dev gtk/gtkdialog.h gtk_dialog_run "$(CPPFLAGS_GTK)" "$(LIBS_GTK)"; \
357
	checkheader libpango1.0-dev pango/pangoft2.h pango_ft2_font_map_new "$(CPPFLAGS_PANGOFT2)" "$(LIBS_PANGOFT2)"; \
rpolzer's avatar
rpolzer committed
358 359 360
	checkheader libgtkglext1-dev gtk/gtkglwidget.h gtk_widget_get_gl_context "$(CPPFLAGS_GTKGLEXT)" "$(LIBS_GTKGLEXT)"; \
	[ "$(OS)" != "Win32" ] && checkheader libc6-dev dlfcn.h dlopen "$(CPPFLAGS_DL)" "$(LIBS_DL)"; \
	checkheader zlib1g-dev zlib.h zlibVersion "$(CPPFLAGS_ZLIB)" "$(LIBS_ZLIB)"; \
divverent's avatar
divverent committed
361
	[ "$$failed" = "0" ] && $(ECHO) All required libraries have been found!
rpolzer's avatar
rpolzer committed
362
	@$(ECHO)
rpolzer's avatar
rpolzer committed
363
endif
364

rpolzer's avatar
rpolzer committed
365 366
.PHONY: binaries
binaries: \
367
	binaries-tools \
Rudolf Polzer's avatar
Rudolf Polzer committed
368
	binaries-radiant \
369 370

.PHONY: binaries-radiant-all
Rudolf Polzer's avatar
Rudolf Polzer committed
371
binaries-radiant: \
372 373
	binaries-radiant-modules \
	binaries-radiant-plugins \
Rudolf Polzer's avatar
Rudolf Polzer committed
374
	binaries-radiant-core \
375 376 377

.PHONY: binaries-radiant-modules
binaries-radiant-modules: \
divverent's avatar
divverent committed
378 379 380 381 382 383 384 385 386 387 388 389 390 391
	$(INSTALLDIR)/modules/archivepak.$(DLL) \
	$(INSTALLDIR)/modules/archivewad.$(DLL) \
	$(INSTALLDIR)/modules/archivezip.$(DLL) \
	$(INSTALLDIR)/modules/entity.$(DLL) \
	$(INSTALLDIR)/modules/image.$(DLL) \
	$(INSTALLDIR)/modules/imagehl.$(DLL) \
	$(INSTALLDIR)/modules/imagepng.$(DLL) \
	$(INSTALLDIR)/modules/imageq2.$(DLL) \
	$(INSTALLDIR)/modules/mapq3.$(DLL) \
	$(INSTALLDIR)/modules/mapxml.$(DLL) \
	$(INSTALLDIR)/modules/md3model.$(DLL) \
	$(INSTALLDIR)/modules/model.$(DLL) \
	$(INSTALLDIR)/modules/shaders.$(DLL) \
	$(INSTALLDIR)/modules/vfspk3.$(DLL) \
392 393 394

.PHONY: binaries-radiant-plugins
binaries-radiant-plugins: \
divverent's avatar
divverent committed
395 396 397 398 399 400
	$(INSTALLDIR)/plugins/bobtoolz.$(DLL) \
	$(INSTALLDIR)/plugins/brushexport.$(DLL) \
	$(INSTALLDIR)/plugins/prtview.$(DLL) \
	$(INSTALLDIR)/plugins/shaderplug.$(DLL) \
	$(INSTALLDIR)/plugins/sunplug.$(DLL) \
	$(INSTALLDIR)/plugins/ufoaiplug.$(DLL) \
401 402

.PHONY: binaries-radiant
Rudolf Polzer's avatar
Rudolf Polzer committed
403
binaries-radiant-core: \
404
	$(INSTALLDIR)/radiant.$(EXE) \
405
	$(INSTALLDIR)/radiant \
406 407 408 409 410 411 412 413 414 415

.PHONY: binaries-tools
binaries-tools: \
	binaries-tools-quake2 \
	binaries-tools-quake3 \

.PHONY: binaries-tools-quake2
binaries-tools-quake2: \
	binaries-q2map \
	binaries-qdata3 \
Rudolf Polzer's avatar
Rudolf Polzer committed
416
	binaries-h2data \
417 418 419

.PHONY: binaries-q2map
binaries-q2map: \
divverent's avatar
divverent committed
420
	$(INSTALLDIR)/q2map.$(EXE) \
421
	$(INSTALLDIR)/q2map \
422 423 424 425

.PHONY: binaries-qdata3
binaries-qdata3: \
	$(INSTALLDIR)/qdata3.$(EXE) \
426
	$(INSTALLDIR)/qdata3 \
427

Rudolf Polzer's avatar
Rudolf Polzer committed
428 429
.PHONY: binaries-h2data
binaries-h2data: \
430 431
	$(INSTALLDIR)/heretic2/h2data.$(EXE) \
	$(INSTALLDIR)/heretic2/h2data \
432 433 434 435 436 437 438 439

.PHONY: binaries-tools-quake3
binaries-tools-quake3: \
	binaries-q3data \
	binaries-q3map2 \

.PHONY: binaries-q3data
binaries-q3data: \
divverent's avatar
divverent committed
440
	$(INSTALLDIR)/q3data.$(EXE) \
441
	$(INSTALLDIR)/q3data \
442 443 444

.PHONY: binaries-q3map2
binaries-q3map2: \
divverent's avatar
divverent committed
445
	$(INSTALLDIR)/q3map2.$(EXE) \
446
	$(INSTALLDIR)/q3map2 \
447

448 449 450

.PHONY: clean
clean:
divverent's avatar
divverent committed
451
	$(RM_R) $(INSTALLDIR_BASE)/
452
	$(RM_R) $(DOWNLOADDIR)/
rpolzer's avatar
rpolzer committed
453
	$(FIND) . \( -name \*.o -o -name \*.d -o -name \*.$(DLL) -o -name \*.$(A) -o -name \*.$(EXE) \) -exec $(RM) {} \;
rpolzer's avatar
rpolzer committed
454
	$(RM) icons/*.rc
455 456

%.$(EXE):
457
	file=$@; $(MKDIR) $${file%/*}
rpolzer's avatar
rpolzer committed
458
	$(CXX) $^ $(LDFLAGS) $(LDFLAGS_COMMON) $(LDFLAGS_EXTRA) $(LIBS_EXTRA) $(LIBS_COMMON) $(LIBS) -o $@
459
	[ -z "$(LDD)" ] || [ -z "`$(LDD) -r $@ $(STDERR_TO_STDOUT) $(STDOUT_TO_DEVNULL) $(TEE_STDERR)`" ] || { $(RM) $@; exit 1; }
460

461
$(INSTALLDIR)/%: $(INSTALLDIR)/%.$(EXE)
462
	if $(MAKE_EXE_SYMLINK); then o=$<; $(LN_SNF) $${o##*/} $@; else true; fi
463 464 465 466 467

%.$(A):
	$(AR) rc $@ $^
	$(RANLIB) $@

rpolzer's avatar
rpolzer committed
468
%.$(DLL):
469
	file=$@; $(MKDIR) $${file%/*}
rpolzer's avatar
rpolzer committed
470
	$(CXX) $^ $(LDFLAGS) $(LDFLAGS_COMMON) $(LDFLAGS_EXTRA) $(LDFLAGS_DLL) $(LIBS_EXTRA) $(LIBS_COMMON) $(LIBS) -shared -o $@
471
	[ -z "$(LDD)" ] || [ -z "`$(LDD) -r $@ $(STDERR_TO_STDOUT) $(STDOUT_TO_DEVNULL) $(TEE_STDERR)`" ] || { $(RM) $@; exit 1; }
rpolzer's avatar
rpolzer committed
472

rpolzer's avatar
rpolzer committed
473 474 475 476 477 478 479 480
%.rc: %.ico
	$(ECHO) '1 ICON "$<"' > $@

ifeq ($(OS),Win32)
%.o: %.rc
	$(WINDRES) $< $@
endif

Rudolf Polzer's avatar
Rudolf Polzer committed
481
%.o: %.cpp $(if $(findstring $(DEPEND_ON_MAKEFILE),yes),$(wildcard Makefile*),) | dependencies-check
482
	$(CXX) $< $(CFLAGS) $(CXXFLAGS) $(CFLAGS_COMMON) $(CXXFLAGS_COMMON) $(CPPFLAGS_EXTRA) $(CPPFLAGS_COMMON) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@
rpolzer's avatar
rpolzer committed
483

484
%.o: %.c $(if $(findstring $(DEPEND_ON_MAKEFILE),yes),$(wildcard Makefile*),) | dependencies-check
485
	$(CC) $< $(CFLAGS) $(CFLAGS_COMMON) $(CPPFLAGS_EXTRA) $(CPPFLAGS_COMMON) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@
rpolzer's avatar
rpolzer committed
486

487

488 489
$(INSTALLDIR)/q3map2.$(EXE): LIBS_EXTRA := $(LIBS_XML) $(LIBS_GLIB) $(LIBS_PNG) $(LIBS_JPEG) $(LIBS_ZLIB)
$(INSTALLDIR)/q3map2.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_PNG) $(CPPFLAGS_JPEG) -Itools/quake3/common -Ilibs -Iinclude
divverent's avatar
divverent committed
490
$(INSTALLDIR)/q3map2.$(EXE): \
491 492 493
	tools/quake3/common/cmdlib.o \
	tools/quake3/common/imagelib.o \
	tools/quake3/common/inout.o \
494
	tools/quake3/common/jpeg.o \
rpolzer's avatar
rpolzer committed
495
	tools/quake3/common/md4.o \
496 497 498 499 500 501 502 503 504 505 506
	tools/quake3/common/mutex.o \
	tools/quake3/common/polylib.o \
	tools/quake3/common/scriplib.o \
	tools/quake3/common/threads.o \
	tools/quake3/common/vfs.o \
	tools/quake3/q3map2/brush.o \
	tools/quake3/q3map2/brush_primit.o \
	tools/quake3/q3map2/bspfile_abstract.o \
	tools/quake3/q3map2/bspfile_ibsp.o \
	tools/quake3/q3map2/bspfile_rbsp.o \
	tools/quake3/q3map2/bsp.o \
507 508 509
	tools/quake3/q3map2/bsp_analyze.o \
	tools/quake3/q3map2/bsp_scale.o \
	tools/quake3/q3map2/bsp_info.o \
510
	tools/quake3/q3map2/convert_ase.o \
511
	tools/quake3/q3map2/convert_bsp.o \
512
	tools/quake3/q3map2/convert_obj.o \
513 514
	tools/quake3/q3map2/convert_map.o \
	tools/quake3/q3map2/decals.o \
515
	tools/quake3/q3map2/exportents.o \
516
	tools/quake3/q3map2/facebsp.o \
517
	tools/quake3/q3map2/fixaas.o \
518
	tools/quake3/q3map2/fog.o \
519
	tools/quake3/q3map2/help.o \
520 521 522 523 524 525 526 527 528
	tools/quake3/q3map2/image.o \
	tools/quake3/q3map2/leakfile.o \
	tools/quake3/q3map2/light_bounce.o \
	tools/quake3/q3map2/lightmaps_ydnar.o \
	tools/quake3/q3map2/light.o \
	tools/quake3/q3map2/light_trace.o \
	tools/quake3/q3map2/light_ydnar.o \
	tools/quake3/q3map2/main.o \
	tools/quake3/q3map2/map.o \
529
	tools/quake3/q3map2/minimap.o \
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546
	tools/quake3/q3map2/mesh.o \
	tools/quake3/q3map2/model.o \
	tools/quake3/q3map2/patch.o \
	tools/quake3/q3map2/path_init.o \
	tools/quake3/q3map2/portals.o \
	tools/quake3/q3map2/prtfile.o \
	tools/quake3/q3map2/shaders.o \
	tools/quake3/q3map2/surface_extra.o \
	tools/quake3/q3map2/surface_foliage.o \
	tools/quake3/q3map2/surface_fur.o \
	tools/quake3/q3map2/surface_meta.o \
	tools/quake3/q3map2/surface.o \
	tools/quake3/q3map2/tjunction.o \
	tools/quake3/q3map2/tree.o \
	tools/quake3/q3map2/visflow.o \
	tools/quake3/q3map2/vis.o \
	tools/quake3/q3map2/writebsp.o \
rpolzer's avatar
rpolzer committed
547
	libddslib.$(A) \
548
	libetclib.$(A) \
549
	libfilematch.$(A) \
rpolzer's avatar
rpolzer committed
550 551
	libl_net.$(A) \
	libmathlib.$(A) \
552
	libpicomodel.$(A) \
rpolzer's avatar
rpolzer committed
553
	$(if $(findstring $(OS),Win32),icons/q3map2.o,) \
554

555
libmathlib.$(A): CPPFLAGS_EXTRA := -Ilibs
556 557 558 559
libmathlib.$(A): \
	libs/mathlib/bbox.o \
	libs/mathlib/line.o \
	libs/mathlib/m4x4.o \
rpolzer's avatar
rpolzer committed
560
	libs/mathlib/mathlib.o \
561 562
	libs/mathlib/ray.o \

563
libl_net.$(A): CPPFLAGS_EXTRA := -Ilibs
564 565
libl_net.$(A): \
	libs/l_net/l_net.o \
566
	$(if $(findstring $(OS),Win32),libs/l_net/l_net_wins.o,libs/l_net/l_net_berkley.o) \
567

568
libpicomodel.$(A): CPPFLAGS_EXTRA := -Ilibs
569 570 571 572 573 574 575 576 577 578 579
libpicomodel.$(A): \
	libs/picomodel/lwo/clip.o \
	libs/picomodel/lwo/envelope.o \
	libs/picomodel/lwo/list.o \
	libs/picomodel/lwo/lwio.o \
	libs/picomodel/lwo/lwo2.o \
	libs/picomodel/lwo/lwob.o \
	libs/picomodel/lwo/pntspols.o \
	libs/picomodel/lwo/surface.o \
	libs/picomodel/lwo/vecmath.o \
	libs/picomodel/lwo/vmap.o \
rpolzer's avatar
rpolzer committed
580 581 582 583 584 585 586 587 588 589 590 591 592
	libs/picomodel/picointernal.o \
	libs/picomodel/picomodel.o \
	libs/picomodel/picomodules.o \
	libs/picomodel/pm_3ds.o \
	libs/picomodel/pm_ase.o \
	libs/picomodel/pm_fm.o \
	libs/picomodel/pm_lwo.o \
	libs/picomodel/pm_md2.o \
	libs/picomodel/pm_md3.o \
	libs/picomodel/pm_mdc.o \
	libs/picomodel/pm_ms3d.o \
	libs/picomodel/pm_obj.o \
	libs/picomodel/pm_terrain.o \
593

594
libddslib.$(A): CPPFLAGS_EXTRA := -Ilibs
595 596 597
libddslib.$(A): \
	libs/ddslib/ddslib.o \

598 599 600 601
libetclib.$(A): CPPFLAGS_EXTRA := -Ilibs
libetclib.$(A): \
	libs/etclib.o \

602 603
$(INSTALLDIR)/q3data.$(EXE): LIBS_EXTRA := $(LIBS_XML) $(LIBS_GLIB) $(LIBS_ZLIB)
$(INSTALLDIR)/q3data.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_ZLIB) -Itools/quake3/common -Ilibs -Iinclude
divverent's avatar
divverent committed
604
$(INSTALLDIR)/q3data.$(EXE): \
rpolzer's avatar
rpolzer committed
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
	tools/quake3/common/aselib.o \
	tools/quake3/common/bspfile.o \
	tools/quake3/common/cmdlib.o \
	tools/quake3/common/imagelib.o \
	tools/quake3/common/inout.o \
	tools/quake3/common/md4.o \
	tools/quake3/common/scriplib.o \
	tools/quake3/common/trilib.o \
	tools/quake3/common/vfs.o \
	tools/quake3/q3data/3dslib.o \
	tools/quake3/q3data/compress.o \
	tools/quake3/q3data/images.o \
	tools/quake3/q3data/md3lib.o \
	tools/quake3/q3data/models.o \
	tools/quake3/q3data/p3dlib.o \
	tools/quake3/q3data/polyset.o \
	tools/quake3/q3data/q3data.o \
	tools/quake3/q3data/stripper.o \
	tools/quake3/q3data/video.o \
Rudolf Polzer's avatar
Rudolf Polzer committed
624
	libfilematch.$(A) \
625
	libetclib.$(A) \
rpolzer's avatar
rpolzer committed
626
	libl_net.$(A) \
rpolzer's avatar
rpolzer committed
627
	libmathlib.$(A) \
rpolzer's avatar
rpolzer committed
628
	$(if $(findstring $(OS),Win32),icons/q3data.o,) \
rpolzer's avatar
rpolzer committed
629

divverent's avatar
divverent committed
630
$(INSTALLDIR)/radiant.$(EXE): LDFLAGS_EXTRA := $(MWINDOWS)
631 632
$(INSTALLDIR)/radiant.$(EXE): LIBS_EXTRA := $(LIBS_GL) $(LIBS_DL) $(LIBS_XML) $(LIBS_GLIB) $(LIBS_GTK) $(LIBS_GTKGLEXT) $(LIBS_ZLIB) $(LIBS_PANGOFT2)
$(INSTALLDIR)/radiant.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_GL) $(CPPFLAGS_DL) $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) $(CPPFLAGS_GTKGLEXT) $(CPPFLAGS_PANGOFT2) -Ilibs -Iinclude
divverent's avatar
divverent committed
633
$(INSTALLDIR)/radiant.$(EXE): \
634 635 636 637
	radiant/autosave.o \
	radiant/brushmanip.o \
	radiant/brushmodule.o \
	radiant/brushnode.o \
rpolzer's avatar
rpolzer committed
638 639
	radiant/brush.o \
	radiant/brush_primit.o \
640 641 642 643 644 645 646 647 648 649 650 651
	radiant/brushtokens.o \
	radiant/brushxml.o \
	radiant/build.o \
	radiant/camwindow.o \
	radiant/clippertool.o \
	radiant/commands.o \
	radiant/console.o \
	radiant/csg.o \
	radiant/dialog.o \
	radiant/eclass_def.o \
	radiant/eclass_doom3.o \
	radiant/eclass_fgd.o \
rpolzer's avatar
rpolzer committed
652
	radiant/eclass.o \
653 654 655
	radiant/eclass_xml.o \
	radiant/entityinspector.o \
	radiant/entitylist.o \
rpolzer's avatar
rpolzer committed
656
	radiant/entity.o \
657 658 659 660 661 662 663 664 665 666 667 668 669 670
	radiant/environment.o \
	radiant/error.o \
	radiant/feedback.o \
	radiant/filetypes.o \
	radiant/filters.o \
	radiant/findtexturedialog.o \
	radiant/glwidget.o \
	radiant/grid.o \
	radiant/groupdialog.o \
	radiant/gtkdlgs.o \
	radiant/gtkmisc.o \
	radiant/help.o \
	radiant/image.o \
	radiant/mainframe.o \
rpolzer's avatar
rpolzer committed
671
	radiant/main.o \
672
	radiant/map.o \
673
	$(if $(findstring $(OS),Win32),radiant/multimon.o,) \
674 675 676 677 678 679
	radiant/mru.o \
	radiant/nullmodel.o \
	radiant/parse.o \
	radiant/patchdialog.o \
	radiant/patchmanip.o \
	radiant/patchmodule.o \
rpolzer's avatar
rpolzer committed
680
	radiant/patch.o \
681 682 683
	radiant/pluginapi.o \
	radiant/pluginmanager.o \
	radiant/pluginmenu.o \
rpolzer's avatar
rpolzer committed
684
	radiant/plugin.o \
685 686 687 688 689 690 691 692 693 694 695
	radiant/plugintoolbar.o \
	radiant/points.o \
	radiant/preferencedictionary.o \
	radiant/preferences.o \
	radiant/qe3.o \
	radiant/qgl.o \
	radiant/referencecache.o \
	radiant/renderer.o \
	radiant/renderstate.o \
	radiant/scenegraph.o \
	radiant/selection.o \
rpolzer's avatar
rpolzer committed
696
	radiant/select.o \
697 698 699
	radiant/server.o \
	radiant/shaders.o \
	radiant/sockets.o \
rpolzer's avatar
rpolzer committed
700
	radiant/stacktrace.o \
701 702
	radiant/surfacedialog.o \
	radiant/texmanip.o \
TimePath's avatar
TimePath committed
703
	radiant/textureentry.o \
704 705 706 707 708 709 710 711 712 713 714 715 716
	radiant/textures.o \
	radiant/texwindow.o \
	radiant/timer.o \
	radiant/treemodel.o \
	radiant/undo.o \
	radiant/url.o \
	radiant/view.o \
	radiant/watchbsp.o \
	radiant/winding.o \
	radiant/windowobservers.o \
	radiant/xmlstuff.o \
	radiant/xywindow.o \
	libcmdlib.$(A) \
rpolzer's avatar
rpolzer committed
717
	libgtkutil.$(A) \
TimePath's avatar
TimePath committed
718
	libuilib.$(A) \
719
	libl_net.$(A) \
rpolzer's avatar
rpolzer committed
720
	libmathlib.$(A) \
721 722
	libprofile.$(A) \
	libxmllib.$(A) \
rpolzer's avatar
rpolzer committed
723
	$(if $(findstring $(OS),Win32),icons/radiant.o,) \
724

725 726 727 728
libfilematch.$(A): CPPFLAGS_EXTRA := -Ilibs
libfilematch.$(A): \
	libs/filematch.o \

729
libcmdlib.$(A): CPPFLAGS_EXTRA := -Ilibs
730 731 732
libcmdlib.$(A): \
	libs/cmdlib/cmdlib.o \

733
libprofile.$(A): CPPFLAGS_EXTRA := -Ilibs -Iinclude
734 735
libprofile.$(A): \
	libs/profile/file.o \
rpolzer's avatar
rpolzer committed
736
	libs/profile/profile.o \
737

738
libgtkutil.$(A): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) $(CPPFLAGS_GTKGLEXT) $(CPPFLAGS_PANGOFT2) -Ilibs -Iinclude
739 740 741 742 743 744 745 746
libgtkutil.$(A): \
	libs/gtkutil/accelerator.o \
	libs/gtkutil/button.o \
	libs/gtkutil/clipboard.o \
	libs/gtkutil/cursor.o \
	libs/gtkutil/dialog.o \
	libs/gtkutil/entry.o \
	libs/gtkutil/filechooser.o \
rpolzer's avatar
rpolzer committed
747
	libs/gtkutil/frame.o \
748 749
	libs/gtkutil/glfont.o \
	libs/gtkutil/glwidget.o \
rpolzer's avatar
rpolzer committed
750
	libs/gtkutil/image.o \
751 752 753 754 755 756 757 758 759
	libs/gtkutil/menu.o \
	libs/gtkutil/messagebox.o \
	libs/gtkutil/nonmodal.o \
	libs/gtkutil/paned.o \
	libs/gtkutil/toolbar.o \
	libs/gtkutil/widget.o \
	libs/gtkutil/window.o \
	libs/gtkutil/xorrectangle.o \

TimePath's avatar
TimePath committed
760 761 762 763
libuilib.$(A): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) $(CPPFLAGS_GTKGLEXT) -Ilibs -Iinclude
libuilib.$(A): \
	libs/uilib/uilib.o \

764
libxmllib.$(A): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) -Ilibs -Iinclude
765 766 767
libxmllib.$(A): \
	libs/xml/xmltextags.o \

divverent's avatar
divverent committed
768 769 770
$(INSTALLDIR)/modules/archivezip.$(DLL): LIBS_EXTRA := $(LIBS_ZLIB)
$(INSTALLDIR)/modules/archivezip.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_ZLIB) -Ilibs -Iinclude
$(INSTALLDIR)/modules/archivezip.$(DLL): \
rpolzer's avatar
rpolzer committed
771
	plugins/archivezip/archive.o \
rpolzer's avatar
rpolzer committed
772
	plugins/archivezip/plugin.o \
rpolzer's avatar
rpolzer committed
773

divverent's avatar
divverent committed
774 775
$(INSTALLDIR)/modules/archivewad.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/archivewad.$(DLL): \
rpolzer's avatar
rpolzer committed
776 777 778
	plugins/archivewad/archive.o \
	plugins/archivewad/plugin.o \

divverent's avatar
divverent committed
779 780
$(INSTALLDIR)/modules/archivepak.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/archivepak.$(DLL): \
rpolzer's avatar
rpolzer committed
781 782 783
	plugins/archivepak/archive.o \
	plugins/archivepak/plugin.o \

TimePath's avatar
TimePath committed
784
$(INSTALLDIR)/modules/entity.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) -Ilibs -Iinclude
divverent's avatar
divverent committed
785
$(INSTALLDIR)/modules/entity.$(DLL): \
rpolzer's avatar
rpolzer committed
786
	plugins/entity/doom3group.o \
rpolzer's avatar
rpolzer committed
787
	plugins/entity/eclassmodel.o \
rpolzer's avatar
rpolzer committed
788 789
	plugins/entity/entity.o \
	plugins/entity/filters.o \
rpolzer's avatar
rpolzer committed
790 791 792 793
	plugins/entity/generic.o \
	plugins/entity/group.o \
	plugins/entity/light.o \
	plugins/entity/miscmodel.o \
rpolzer's avatar
rpolzer committed
794 795
	plugins/entity/plugin.o \
	plugins/entity/skincache.o \
rpolzer's avatar
rpolzer committed
796 797
	plugins/entity/targetable.o \

798 799
$(INSTALLDIR)/modules/image.$(DLL): LIBS_EXTRA := $(LIBS_JPEG)
$(INSTALLDIR)/modules/image.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_JPEG) -Ilibs -Iinclude
divverent's avatar
divverent committed
800
$(INSTALLDIR)/modules/image.$(DLL): \
rpolzer's avatar
rpolzer committed
801
	plugins/image/bmp.o \
rpolzer's avatar
rpolzer committed
802
	plugins/image/dds.o \
rpolzer's avatar
rpolzer committed
803
	plugins/image/image.o \
rpolzer's avatar
rpolzer committed
804
	plugins/image/jpeg.o \
805
	plugins/image/ktx.o \
rpolzer's avatar
rpolzer committed
806 807 808
	plugins/image/pcx.o \
	plugins/image/tga.o \
	libddslib.$(A) \
809
	libetclib.$(A) \
rpolzer's avatar
rpolzer committed
810

divverent's avatar
divverent committed
811 812
$(INSTALLDIR)/modules/imageq2.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/imageq2.$(DLL): \
rpolzer's avatar
rpolzer committed
813 814 815 816
	plugins/imageq2/imageq2.o \
	plugins/imageq2/wal32.o \
	plugins/imageq2/wal.o \

divverent's avatar
divverent committed
817 818
$(INSTALLDIR)/modules/imagehl.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/imagehl.$(DLL): \
rpolzer's avatar
rpolzer committed
819 820 821 822
	plugins/imagehl/hlw.o \
	plugins/imagehl/imagehl.o \
	plugins/imagehl/mip.o \
	plugins/imagehl/sprite.o \
rpolzer's avatar
rpolzer committed
823

divverent's avatar
divverent committed
824 825 826
$(INSTALLDIR)/modules/imagepng.$(DLL): LIBS_EXTRA := $(LIBS_PNG)
$(INSTALLDIR)/modules/imagepng.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_PNG) -Ilibs -Iinclude
$(INSTALLDIR)/modules/imagepng.$(DLL): \
827 828
	plugins/imagepng/plugin.o \

TimePath's avatar
TimePath committed
829
$(INSTALLDIR)/modules/mapq3.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) -Ilibs -Iinclude
divverent's avatar
divverent committed
830
$(INSTALLDIR)/modules/mapq3.$(DLL): \
831
	plugins/mapq3/parse.o \
rpolzer's avatar
rpolzer committed
832
	plugins/mapq3/plugin.o \
833 834
	plugins/mapq3/write.o \

divverent's avatar
divverent committed
835 836 837
$(INSTALLDIR)/modules/mapxml.$(DLL): LIBS_EXTRA := $(LIBS_XML) $(LIBS_GLIB)
$(INSTALLDIR)/modules/mapxml.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) $(CPPFLAGS_GLIB) -Ilibs -Iinclude
$(INSTALLDIR)/modules/mapxml.$(DLL): \
rpolzer's avatar
rpolzer committed
838 839 840 841
	plugins/mapxml/plugin.o \
	plugins/mapxml/xmlparse.o \
	plugins/mapxml/xmlwrite.o \

divverent's avatar
divverent committed
842 843
$(INSTALLDIR)/modules/md3model.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/md3model.$(DLL): \
844
	plugins/md3model/md2.o \
rpolzer's avatar
rpolzer committed
845 846
	plugins/md3model/md3.o \
	plugins/md3model/md5.o \
847 848
	plugins/md3model/mdc.o \
	plugins/md3model/mdlimage.o \
rpolzer's avatar
rpolzer committed
849 850
	plugins/md3model/mdl.o \
	plugins/md3model/plugin.o \
851

divverent's avatar
divverent committed
852 853
$(INSTALLDIR)/modules/model.$(DLL): CPPFLAGS_EXTRA := -Ilibs -Iinclude
$(INSTALLDIR)/modules/model.$(DLL): \
854
	plugins/model/model.o \
rpolzer's avatar
rpolzer committed
855
	plugins/model/plugin.o \
856 857
	libpicomodel.$(A) \

divverent's avatar
divverent committed
858 859 860
$(INSTALLDIR)/modules/shaders.$(DLL): LIBS_EXTRA := $(LIBS_GLIB)
$(INSTALLDIR)/modules/shaders.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) -Ilibs -Iinclude
$(INSTALLDIR)/modules/shaders.$(DLL): \
861 862 863
	plugins/shaders/plugin.o \
	plugins/shaders/shaders.o \

divverent's avatar
divverent committed
864 865 866
$(INSTALLDIR)/modules/vfspk3.$(DLL): LIBS_EXTRA := $(LIBS_GLIB)
$(INSTALLDIR)/modules/vfspk3.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) -Ilibs -Iinclude
$(INSTALLDIR)/modules/vfspk3.$(DLL): \
867 868 869
	plugins/vfspk3/archive.o \
	plugins/vfspk3/vfs.o \
	plugins/vfspk3/vfspk3.o \
Rudolf Polzer's avatar
Rudolf Polzer committed
870
	libfilematch.$(A) \
871

divverent's avatar
divverent committed
872 873 874
$(INSTALLDIR)/plugins/bobtoolz.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/bobtoolz.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/bobtoolz.$(DLL): \
rpolzer's avatar
rpolzer committed
875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897
	contrib/bobtoolz/bobToolz-GTK.o \
	contrib/bobtoolz/bsploader.o \
	contrib/bobtoolz/cportals.o \
	contrib/bobtoolz/DBobView.o \
	contrib/bobtoolz/DBrush.o \
	contrib/bobtoolz/DEntity.o \
	contrib/bobtoolz/DEPair.o \
	contrib/bobtoolz/dialogs/dialogs-gtk.o \
	contrib/bobtoolz/DMap.o \
	contrib/bobtoolz/DPatch.o \
	contrib/bobtoolz/DPlane.o \
	contrib/bobtoolz/DPoint.o \
	contrib/bobtoolz/DShape.o \
	contrib/bobtoolz/DTrainDrawer.o \
	contrib/bobtoolz/DTreePlanter.o \
	contrib/bobtoolz/DVisDrawer.o \
	contrib/bobtoolz/DWinding.o \
	contrib/bobtoolz/funchandlers-GTK.o \
	contrib/bobtoolz/lists.o \
	contrib/bobtoolz/misc.o \
	contrib/bobtoolz/ScriptParser.o \
	contrib/bobtoolz/shapes.o \
	contrib/bobtoolz/visfind.o \
rpolzer's avatar
rpolzer committed
898
	libcmdlib.$(A) \
rpolzer's avatar
rpolzer committed
899
	libmathlib.$(A) \
rpolzer's avatar
rpolzer committed
900 901
	libprofile.$(A) \

divverent's avatar
divverent committed
902 903 904
$(INSTALLDIR)/plugins/brushexport.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/brushexport.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/brushexport.$(DLL): \
905 906
	contrib/brushexport/callbacks.o \
	contrib/brushexport/export.o \
rpolzer's avatar
rpolzer committed
907 908 909
	contrib/brushexport/interface.o \
	contrib/brushexport/plugin.o \
	contrib/brushexport/support.o \
910

divverent's avatar
divverent committed
911 912 913
$(INSTALLDIR)/plugins/prtview.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/prtview.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/prtview.$(DLL): \
914 915 916 917 918 919 920
	contrib/prtview/AboutDialog.o \
	contrib/prtview/ConfigDialog.o \
	contrib/prtview/LoadPortalFileDialog.o \
	contrib/prtview/portals.o \
	contrib/prtview/prtview.o \
	libprofile.$(A) \

divverent's avatar
divverent committed
921 922 923
$(INSTALLDIR)/plugins/shaderplug.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK) $(LIBS_XML)
$(INSTALLDIR)/plugins/shaderplug.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) $(CPPFLAGS_XML) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/shaderplug.$(DLL): \
924 925 926
	contrib/shaderplug/shaderplug.o \
	libxmllib.$(A) \

divverent's avatar
divverent committed
927 928 929
$(INSTALLDIR)/plugins/sunplug.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/sunplug.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/sunplug.$(DLL): \
930 931
	contrib/sunplug/sunplug.o \

divverent's avatar
divverent committed
932 933 934
$(INSTALLDIR)/qdata3.$(EXE): LIBS_EXTRA := $(LIBS_XML)
$(INSTALLDIR)/qdata3.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) -Itools/quake2/common -Ilibs -Iinclude
$(INSTALLDIR)/qdata3.$(EXE): \
rpolzer's avatar
rpolzer committed
935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953
	tools/quake2/common/bspfile.o \
	tools/quake2/common/cmdlib.o \
	tools/quake2/common/inout.o \
	tools/quake2/common/l3dslib.o \
	tools/quake2/common/lbmlib.o \
	tools/quake2/common/mathlib.o \
	tools/quake2/common/md4.o \
	tools/quake2/common/path_init.o \
	tools/quake2/common/polylib.o \
	tools/quake2/common/scriplib.o \
	tools/quake2/common/threads.o \
	tools/quake2/common/trilib.o \
	tools/quake2/qdata/images.o \
	tools/quake2/qdata/models.o \
	tools/quake2/qdata/qdata.o \
	tools/quake2/qdata/sprites.o \
	tools/quake2/qdata/tables.o \
	tools/quake2/qdata/video.o \
	libl_net.$(A) \
rpolzer's avatar
rpolzer committed
954
	$(if $(findstring $(OS),Win32),icons/qdata3.o,) \
rpolzer's avatar
rpolzer committed
955

divverent's avatar
divverent committed
956 957 958
$(INSTALLDIR)/q2map.$(EXE): LIBS_EXTRA := $(LIBS_XML)
$(INSTALLDIR)/q2map.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) -Itools/quake2/common -Ilibs -Iinclude
$(INSTALLDIR)/q2map.$(EXE): \
rpolzer's avatar
rpolzer committed
959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991
	tools/quake2/common/bspfile.o \
	tools/quake2/common/cmdlib.o \
	tools/quake2/common/inout.o \
	tools/quake2/common/l3dslib.o \
	tools/quake2/common/lbmlib.o \
	tools/quake2/common/mathlib.o \
	tools/quake2/common/md4.o \
	tools/quake2/common/path_init.o \
	tools/quake2/common/polylib.o \
	tools/quake2/common/scriplib.o \
	tools/quake2/common/threads.o \
	tools/quake2/common/trilib.o \
	tools/quake2/q2map/brushbsp.o \
	tools/quake2/q2map/csg.o \
	tools/quake2/q2map/faces.o \
	tools/quake2/q2map/flow.o \
	tools/quake2/q2map/glfile.o \
	tools/quake2/q2map/leakfile.o \
	tools/quake2/q2map/lightmap.o \
	tools/quake2/q2map/main.o \
	tools/quake2/q2map/map.o \
	tools/quake2/q2map/nodraw.o \
	tools/quake2/q2map/patches.o \
	tools/quake2/q2map/portals.o \
	tools/quake2/q2map/prtfile.o \
	tools/quake2/q2map/qbsp.o \
	tools/quake2/q2map/qrad.o \
	tools/quake2/q2map/qvis.o \
	tools/quake2/q2map/textures.o \
	tools/quake2/q2map/trace.o \
	tools/quake2/q2map/tree.o \
	tools/quake2/q2map/writebsp.o \
	libl_net.$(A) \
rpolzer's avatar
rpolzer committed
992
	$(if $(findstring $(OS),Win32),icons/q2map.o,) \
rpolzer's avatar
rpolzer committed
993

divverent's avatar
divverent committed
994 995 996
$(INSTALLDIR)/plugins/ufoaiplug.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/ufoaiplug.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/ufoaiplug.$(DLL): \
rpolzer's avatar
rpolzer committed
997 998 999 1000 1001
	contrib/ufoaiplug/ufoai_filters.o \
	contrib/ufoaiplug/ufoai_gtk.o \
	contrib/ufoaiplug/ufoai_level.o \
	contrib/ufoaiplug/ufoai.o \

1002 1003 1004 1005 1006 1007
$(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): LIBS_EXTRA := $(LIBS_GLIB) $(LIBS_GTK)
$(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): CPPFLAGS_EXTRA := $(CPPFLAGS_GLIB) $(CPPFLAGS_GTK) -Ilibs -Iinclude
$(INSTALLDIR)/plugins/bkgrnd2d.$(DLL): \
	contrib/bkgrnd2d/bkgrnd2d.o \
	contrib/bkgrnd2d/dialog.o \
	contrib/bkgrnd2d/plugin.o \
1008

divverent's avatar
divverent committed
1009 1010 1011
$(INSTALLDIR)/heretic2/h2data.$(EXE): LIBS_EXTRA := $(LIBS_XML)
$(INSTALLDIR)/heretic2/h2data.$(EXE): CPPFLAGS_EXTRA := $(CPPFLAGS_XML) -Itools/quake2/qdata_heretic2/common -Itools/quake2/qdata_heretic2/qcommon -Itools/quake2/qdata_heretic2 -Itools/quake2/common -Ilibs -Iinclude
$(INSTALLDIR)/heretic2/h2data.$(EXE): \
rpolzer's avatar
rpolzer committed
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
	tools/quake2/qdata_heretic2/common/bspfile.o \
	tools/quake2/qdata_heretic2/common/cmdlib.o \
	tools/quake2/qdata_heretic2/common/inout.o \
	tools/quake2/qdata_heretic2/common/l3dslib.o \
	tools/quake2/qdata_heretic2/common/lbmlib.o \
	tools/quake2/qdata_heretic2/common/mathlib.o \
	tools/quake2/qdata_heretic2/common/md4.o \
	tools/quake2/qdata_heretic2/common/path_init.o \
	tools/quake2/qdata_heretic2/common/qfiles.o \
	tools/quake2/qdata_heretic2/common/scriplib.o \
	tools/quake2/qdata_heretic2/common/threads.o \
	tools/quake2/qdata_heretic2/common/token.o \
	tools/quake2/qdata_heretic2/common/trilib.o \
	tools/quake2/qdata_heretic2/qcommon/reference.o \
	tools/quake2/qdata_heretic2/qcommon/resourcemanager.o \
	tools/quake2/qdata_heretic2/qcommon/skeletons.o \
	tools/quake2/qdata_heretic2/animcomp.o \
	tools/quake2/qdata_heretic2/book.o \
	tools/quake2/qdata_heretic2/fmodels.o \
	tools/quake2/qdata_heretic2/images.o \
	tools/quake2/qdata_heretic2/jointed.o \
	tools/quake2/qdata_heretic2/models.o \
	tools/quake2/qdata_heretic2/pics.o \
	tools/quake2/qdata_heretic2/qdata.o \
	tools/quake2/qdata_heretic2/qd_skeletons.o \
	tools/quake2/qdata_heretic2/sprites.o \
	tools/quake2/qdata_heretic2/svdcmp.o \
	tools/quake2/qdata_heretic2/tables.o \
	tools/quake2/qdata_heretic2/tmix.o \
	tools/quake2/qdata_heretic2/video.o \
	libl_net.$(A) \
rpolzer's avatar
rpolzer committed
1043
	$(if $(findstring $(OS),Win32),icons/h2data.o,) \
rpolzer's avatar
rpolzer committed
1044

rpolzer's avatar
rpolzer committed
1045
.PHONY: install-data
rpolzer's avatar
rpolzer committed
1046
install-data: binaries
divverent's avatar
divverent committed
1047
	$(MKDIR) $(INSTALLDIR)/games
1048
	DOWNLOAD_GAMEPACKS="$(DOWNLOAD_GAMEPACKS)" DOWNLOADDIR="$(DOWNLOADDIR)" INSTALLDIR="$(INSTALLDIR)" GIT="$(GIT)" SVN="$(SVN)" WGET="$(WGET)" RM_R="$(RM_R)" MV="$(MV)" UNZIPPER="$(UNZIPPER)" ECHO="$(ECHO)" SH="$(SH)" CP="$(CP)" CP_R="$(CP_R)" $(SH) gamepack-manager
divverent's avatar
divverent committed
1049
	$(ECHO) $(RADIANT_MAJOR_VERSION) > $(INSTALLDIR)/RADIANT_MAJOR
Thomas Debesse's avatar
Thomas Debesse committed
1050 1051
	$(ECHO) $(RADIANT_MINOR_VERSION) > $(INSTALLDIR)/RADIANT_MINOR
	$(ECHO) $(RADIANT_PATCH_VERSION) > $(INSTALLDIR)/RADIANT_PATCH
divverent's avatar
divverent committed
1052
	$(CP_R) setup/data/tools/* $(INSTALLDIR)/
1053 1054
	$(MKDIR) $(INSTALLDIR)/docs
	$(CP_R) docs/* $(INSTALLDIR)/docs/
rpolzer's avatar
rpolzer committed
1055 1056 1057

.PHONY: install-dll
ifeq ($(OS),Win32)
rpolzer's avatar
rpolzer committed
1058
install-dll: binaries
1059
	MKDIR="$(MKDIR)" CP="$(CP)" CAT="$(CAT)" GTKDIR="$(GTKDIR)" WHICHDLL="$(WHICHDLL)" INSTALLDIR="$(INSTALLDIR)" $(SH) $(DLLINSTALL) 
rpolzer's avatar
rpolzer committed
1060
else
rpolzer's avatar
rpolzer committed
1061
install-dll: binaries
1062
	@$(ECHO) No DLL inclusion implemented for this target.
rpolzer's avatar
rpolzer committed
1063
endif
1064

1065 1066
# release building... NOT for general users
# these may use tools not in the list that is checked by the build system
Rudolf Polzer's avatar
Rudolf Polzer committed
1067
release-src: BUILD_DATE := $(shell date +%Y%m%d)
Rudolf Polzer's avatar
Rudolf Polzer committed
1068
release-src: INSTALLDIR := netradiant-$(RADIANT_VERSION_NUMBER)-$(BUILD_DATE)
1069
release-src:
1070
	$(GIT) archive --format=tar --prefix=$(INSTALLDIR)/ HEAD | bzip2 > ../$(INSTALLDIR).tar.bz2
1071

Rudolf Polzer's avatar
Rudolf Polzer committed
1072
release-win32: BUILD_DATE := $(shell date +%Y%m%d)
Rudolf Polzer's avatar
Rudolf Polzer committed
1073
release-win32: INSTALLDIR := netradiant-$(RADIANT_VERSION_NUMBER)-$(BUILD_DATE)
Rudolf Polzer's avatar
Rudolf Polzer committed
1074
release-win32:
1075
	$(MAKE) all INSTALLDIR=$(INSTALLDIR) MAKEFILE_CONF=cross-Makefile.conf RADIANT_ABOUTMSG="Official release build" BUILD=release
1076
	7za a -sfx../../../../../../../../../../$(HOME)/7z.sfx ../$(INSTALLDIR)-win32-7z.exe $(INSTALLDIR)/
1077
	chmod 644 ../$(INSTALLDIR)-win32-7z.exe # 7zip is evil
1078
	$(MAKE) clean INSTALLDIR=$(INSTALLDIR) MAKEFILE_CONF=cross-Makefile.conf RADIANT_ABOUTMSG="Official release build" BUILD=release
1079

Rudolf Polzer's avatar
Rudolf Polzer committed
1080
release-all:
1081
	$(GIT) clean -xdf
Rudolf Polzer's avatar
Rudolf Polzer committed
1082 1083 1084
	$(MAKE) release-src
	$(MAKE) release-win32

Rudolf Polzer's avatar
Rudolf Polzer committed
1085
# load dependency files
rpolzer's avatar
rpolzer committed
1086
-include $(shell find . -name \*.d)