1#
2# Quake2 Makefile for Linux 2.0
3#
4# Nov '97 by Zoid <zoid@idsoftware.com>
5#
6# ELF only
7#
8
9# start of configurable options
10
11# Here are your build options:
12# (Note: not all options are available for all platforms).
13# quake2 (uses OSS for sound, cdrom ioctls for cd audio) is automatically built.
14# game$(ARCH).so is automatically built.
15BUILD_SDLQUAKE2=YES	# sdlquake2 executable (uses SDL for cdrom and sound)
16BUILD_SVGA=NO		# SVGAlib driver. Seems to work fine.
17BUILD_X11=YES		# X11 software driver. Works somewhat ok.
18BUILD_GLX=YES		# X11 GLX driver. Works somewhat ok.
19BUILD_FXGL=NO		# FXMesa driver. Not tested. (used only for V1 and V2).
20BUILD_SDL=YES		# SDL software driver. Works fine for some people.
21BUILD_SDLGL=YES		# SDL OpenGL driver. Works fine for some people.
22BUILD_CORONA=NO		# SunRay Terminal driver. Tested by SUN, untested by others..
23BUILD_XIL=YES		# Sun Solaris XIL (X11 Imaging Library, provides DGA accelration).
24BUILD_CTFDLL=YES	# game$(ARCH).so for ctf
25BUILD_XATRIX=NO		# game$(ARCH).so for xatrix (see README.r for details)
26BUILD_ROGUE=NO		# game$(ARCH).so for rogue (see README.r for details)
27BUILD_DEDICATED=YES	# build a dedicated quake2 server
28BUILD_SOLARIS_PKG=YES	# Build a Solaris package of all of the binaries for use with pkgadd.
29BUILD_DATA_PKG=YES	# Build a Solaris package of the game (shareware or final)
30			# data files for use with pkgadd.
31BUILD_QMAX=NO		# build the fancier GL graphics
32BUILD_RETEXTURE=YES	# build a version supporting retextured graphics
33STATICSDL=NO
34
35# Other compile-time options:
36# Compile with IPv6 (protocol independent API). Tested on FreeBSD
37HAVE_IPV6=NO
38
39# (hopefully) end of configurable options
40
41# Check OS type.
42OSTYPE := $(shell uname -s)
43
44ifneq ($(OSTYPE),SunOS)
45$(error OS $(OSTYPE) is currently not supported, use the Generic Makefile instead)
46else
47$(warning Using OS configuration for $(OSTYPE) ...)
48endif
49
50ifneq (,$(findstring i86pc,$(shell uname -m)))
51ARCH=i386
52else
53ARCH=sparc
54endif
55
56ifneq ($(ARCH),i386)
57ifneq ($(ARCH),sparc)
58$(error arch $(ARCH) is currently not supported)
59endif
60endif
61
62CC=gcc
63
64ifeq ($(ARCH),sparc)
65RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
66	-fomit-frame-pointer -fexpensive-optimizations
67endif
68
69ifeq ($(ARCH),i386)
70RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -ffast-math -funroll-loops -malign-loops=2 \
71	-malign-jumps=2 -malign-functions=2 -g
72endif
73
74VERSION=3.21+r0.16.0
75PKG_VERSION=r0.16.0
76
77MOUNT_DIR=src
78
79BUILD_DEBUG_DIR=debug$(ARCH)
80BUILD_RELEASE_DIR=release$(ARCH)
81CLIENT_DIR=$(MOUNT_DIR)/client
82SERVER_DIR=$(MOUNT_DIR)/server
83REF_SOFT_DIR=$(MOUNT_DIR)/ref_soft
84REF_GL_DIR=$(MOUNT_DIR)/ref_gl
85COMMON_DIR=$(MOUNT_DIR)/qcommon
86SOLARIS_DIR=$(MOUNT_DIR)/solaris
87LINUX_DIR=$(MOUNT_DIR)/linux
88GAME_DIR=$(MOUNT_DIR)/game
89CTF_DIR=$(MOUNT_DIR)/ctf
90XATRIX_DIR=$(MOUNT_DIR)/xatrix
91ROGUE_DIR=$(MOUNT_DIR)/rogue
92NULL_DIR=$(MOUNT_DIR)/null
93
94BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp
95ifeq ($(HAVE_IPV6),YES)
96BASE_CFLAGS+= -DHAVE_IPV6 -DHAVE_SIN6_LEN
97NET_UDP=net_udp6
98else
99NET_UDP=net_udp
100endif
101
102ifneq ($(ARCH),i386)
103	BASE_CFLAGS+=-DC_ONLY
104endif
105
106ifeq ($(strip $(BUILD_QMAX)),YES)
107	BASE_CFLAGS+=-DQMAX
108endif
109
110ifeq ($(strip $(BUILD_RETEXTURE)),YES)
111	BASE_CFLAGS+=-DRETEX
112endif
113
114DEBUG_CFLAGS=$(BASE_CFLAGS) -g
115
116ifeq ($(OSTYPE),SunOS)
117SOL8_XIL_WORKAROUND=0
118
119ifeq ($(SOL8_XIL_WORKAROUND),1)
120BASE_CFLAGS+= -DSOLARIS -DSUNXIL_WARNING_DISABLE -DSOL8_XIL_WORKAROUND
121RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
122	-fomit-frame-pointer -fexpensive-optimizations -O4 -mcpu=v8 -mtune=ultrasparc
123#LDFLAGS=-lnsl -lsocket -ldl -lpthread -lX11 -lxil -lm -lrt
124else
125BASE_CFLAGS+= -DSOLARIS -DSUNXIL_WARNING_DISABLE
126RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
127	-fomit-frame-pointer -fexpensive-optimizations -O4 -mcpu=v8 -mtune=ultrasparc
128endif
129LDFLAGS=-lnsl -lsocket -ldl -lpthread -lm -lrt
130endif
131
132# For the SunRay Terminal..
133OPENWINHOME=/usr/openwin
134CORONA_BASE_DIR = whatever/src/newt/videolib
135
136XCFLAGS=-I$(OPENWINHOME)/include
137XLDFLAGS=$(LDFLAGS) -L$(OPENWINHOME)/lib -lX11 -lxil
138
139GLXCFLAGS=-I$(OPENWINHOME)/include
140GLXLDFLAGS=-L$(OPENWINHOME)/lib -lGL
141
142SDLCFLAGS=$(shell sdl-config --cflags)
143SDLLDFLAGS=$(shell sdl-config --libs)
144
145SDLGLCFLAGS=$(SDLCFLAGS) -DOPENGL
146SDLGLLDFLAGS=$(shell sdl-config --libs)
147
148CORONACFLAGS=-I$(CORONA_BASE_DIR)
149CORONALDFLAGS=-L$(CORONA_BASE_DIR) -lnewtvideo
150
151XILCFLAGS=-I$(OPENWINHOME)/include
152XILLDFLAGS=-L$(OPENWINHOME)/lib -lxil
153
154ifeq ($(strip $(BUILD_QMAX)),YES)
155GLXLDFLAGS+=-ljpeg
156SDLGLLDFLAGS+=-ljpeg
157REF_GL_DIR = $(MOUNT_DIR)/ref_candygl
158CL_FX = cl_fxmax.c
159else
160CL_FX = cl_fx.c
161endif
162
163SHLIBEXT=so
164
165SHLIBCFLAGS=-fPIC
166SHLIBLDFLAGS=-shared
167
168DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
169DO_DED_CC=$(CC) $(CFLAGS) -DDEDICATED_ONLY -o $@ -c $<
170DO_DED_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) -DDEDICATED_ONLY -o $@ -c $<
171DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
172DO_GL_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) $(GLXCFLAGS) -o $@ -c $<
173DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
174DO_SHLIB_AS=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
175DO_INSTALL_BIN=$(INSTALL_BIN) $< $@
176DO_INSTALL_DATA=$(INSTALL_DATA) $< $@
177
178# Package
179PKG_SOLARIS_NAME=iDquake2
180PKG_DATA_NAME=iDquake2d
181BUILD_DATE :=$(shell /usr/bin/date '+%Y%m%d%H%M%S')
182PKG_MAINT_ID=coyote@cojot.name
183SOLARIS_PKGFILE=$(PKG_SOLARIS_NAME)-$(BUILD_VERSION)-$(PKG_VERSION)-$(ARCH).pkg
184DATA_PKGFILE=$(PKG_DATA_NAME)-$(BUILD_VERSION)-$(PKG_VERSION)-$(ARCH).pkg
185
186# Locations
187OSTYPE := $(shell uname -s)
188PKG_SRC_DIR=$(MOUNT_DIR)/solaris/pkg/$(PKG_SOLARIS_NAME)
189PKG_BUILD_DIR=/tmp/quake2-build/quake2-$(PKG_SOLARIS_NAME)-$(BUILD_VERSION)
190PKG_DATA_SRC_DIR=$(MOUNT_DIR)/solaris/pkg/$(PKG_DATA_NAME)
191PKG_DATA_BUILD_DIR=/usr/local/src/quake2-data/quake2
192
193# Tools
194RM=/usr/bin/rm
195TOUCH=/usr/bin/touch
196SED=/usr/bin/sed
197CAT=/usr/bin/cat
198NAWK=/usr/bin/nawk
199INSTALL_BIN=ginstall -v -D -m 755
200INSTALL_DATA=ginstall -v -D -m 644
201PKGPROTO=/usr/bin/pkgproto
202PKGMK=/usr/bin/pkgmk
203PKGTRANS=/usr/bin/pkgtrans
204
205#############################################################################
206# SETUP AND BUILD
207#############################################################################
208
209.PHONY : targets build_debug build_release clean clean-debug clean-release clean2
210
211TARGETS=$(BUILDDIR)/quake2 $(BUILDDIR)/game$(ARCH).$(SHLIBEXT)
212PKG_TARGETS=$(PKG_BUILD_DIR)/quake2 $(PKG_BUILD_DIR)/baseq2/game$(ARCH).$(SHLIBEXT) $(PKG_BUILD_DIR)/README $(PKG_BUILD_DIR)/README.Solaris $(PKG_BUILD_DIR)/q2_x11.sh $(PKG_BUILD_DIR)/q2_xil.sh $(PKG_BUILD_DIR)/q2_glx.sh
213
214ifeq ($(strip $(BUILD_DEDICATED)),YES)
215 TARGETS += $(BUILDDIR)/q2ded
216 PKG_TARGETS += $(PKG_BUILD_DIR)/q2ded
217endif
218
219ifeq ($(strip $(BUILD_CTFDLL)),YES)
220 TARGETS += $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
221 PKG_TARGETS += $(PKG_BUILD_DIR)/ctf/game$(ARCH).$(SHLIBEXT)
222endif
223
224ifeq ($(strip $(BUILD_XATRIX)),YES)
225 TARGETS += $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
226 PKG_TARGETS += $(PKG_BUILD_DIR)/xatrix/game$(ARCH).$(SHLIBEXT)
227endif
228
229ifeq ($(strip $(BUILD_ROGUE)),YES)
230 TARGETS += $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
231 PKG_TARGETS += $(PKG_BUILD_DIR)/rogue/game$(ARCH).$(SHLIBEXT)
232endif
233
234ifeq ($(ARCH),sparc)
235 ifeq ($(strip $(BUILD_SDLQUAKE2)),YES)
236  TARGETS += $(BUILDDIR)/sdlquake2
237  PKG_TARGETS += $(PKG_BUILD_DIR)/sdlquake2
238 endif
239
240 ifeq ($(strip $(BUILD_SVGA)),YES)
241  $(warning Warning: SVGAlib support not supported for $(ARCH))
242 endif
243
244 ifeq ($(strip $(BUILD_X11)),YES)
245  TARGETS += $(BUILDDIR)/ref_softx.$(SHLIBEXT)
246  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_softx.$(SHLIBEXT)
247 endif
248
249 ifeq ($(strip $(BUILD_GLX)),YES)
250  TARGETS += $(BUILDDIR)/ref_glx.$(SHLIBEXT)
251  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_glx.$(SHLIBEXT)
252 endif
253
254 ifeq ($(strip $(BUILD_FXGL)),YES)
255  $(warning Warning: FXGL support not supported for $(ARCH))
256 endif
257
258 ifeq ($(strip $(BUILD_SDL)),YES)
259  TARGETS += $(BUILDDIR)/ref_softsdl.$(SHLIBEXT)
260  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_softsdl.$(SHLIBEXT)
261 endif
262
263 ifeq ($(strip $(BUILD_SDLGL)),YES)
264  TARGETS += $(BUILDDIR)/ref_sdlgl.$(SHLIBEXT)
265  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_sdlgl.$(SHLIBEXT)
266 endif
267
268 ifeq ($(strip $(BUILD_XIL)),YES)
269  TARGETS += $(BUILDDIR)/ref_xil.$(SHLIBEXT)
270  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_xil.$(SHLIBEXT)
271 endif
272
273 ifeq ($(strip $(BUILD_CORONA)),YES)
274  TARGETS += $(BUILDDIR)/ref_corona.$(SHLIBEXT)
275  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_corona.$(SHLIBEXT)
276 endif
277endif # ARCH sparc
278
279ifeq ($(ARCH),i386)
280 ifeq ($(strip $(BUILD_SDLQUAKE2)),YES)
281  TARGETS += $(BUILDDIR)/sdlquake2
282  PKG_TARGETS += $(PKG_BUILD_DIR)/sdlquake2
283 endif
284
285 ifeq ($(strip $(BUILD_SVGA)),YES)
286  $(warning Warning: SVGAlib support not supported for $(ARCH))
287 endif
288
289 ifeq ($(strip $(BUILD_X11)),YES)
290  TARGETS += $(BUILDDIR)/ref_softx.$(SHLIBEXT)
291  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_softx.$(SHLIBEXT)
292 endif
293
294 ifeq ($(strip $(BUILD_GLX)),YES)
295  TARGETS += $(BUILDDIR)/ref_glx.$(SHLIBEXT)
296  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_glx.$(SHLIBEXT)
297 endif
298
299 ifeq ($(strip $(BUILD_FXGL)),YES)
300  $(warning Warning: FXGL support not supported for $(ARCH))
301 endif
302
303 ifeq ($(strip $(BUILD_SDL)),YES)
304  TARGETS += $(BUILDDIR)/ref_softsdl.$(SHLIBEXT)
305  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_softsdl.$(SHLIBEXT)
306 endif
307
308 ifeq ($(strip $(BUILD_SDLGL)),YES)
309  TARGETS += $(BUILDDIR)/ref_sdlgl.$(SHLIBEXT)
310  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_sdlgl.$(SHLIBEXT)
311 endif
312
313 ifeq ($(strip $(BUILD_XIL)),YES)
314  TARGETS += $(BUILDDIR)/ref_xil.$(SHLIBEXT)
315  PKG_TARGETS += $(PKG_BUILD_DIR)/ref_xil.$(SHLIBEXT)
316 endif
317
318 ifeq ($(strip $(BUILD_CORONA)),YES)
319  $(warning Warning: Corona support not supported for $(ARCH))
320 endif
321endif # ARCH i386
322
323ifeq ($(strip $(BUILD_SOLARIS_PKG)),YES)
324 TARGETS += $(BUILDDIR)/pkg/$(SOLARIS_PKGFILE)
325endif
326
327ifeq ($(strip $(BUILD_DATA_PKG)),YES)
328# Only build -data- pkg once (for release builds).
329ifeq ($(strip $(BUILDDIR)),$(strip $(BUILD_RELEASE_DIR)))
330 DATA_TARGETS += $(BUILDDIR)/pkg/$(DATA_PKGFILE)
331endif
332endif
333
334all: build_debug build_release build_extra
335
336build_debug:
337	@-mkdir -p $(BUILD_DEBUG_DIR) \
338		$(BUILD_DEBUG_DIR)/client \
339		$(BUILD_DEBUG_DIR)/ded \
340		$(BUILD_DEBUG_DIR)/ref_soft \
341		$(BUILD_DEBUG_DIR)/ref_gl \
342		$(BUILD_DEBUG_DIR)/game \
343		$(BUILD_DEBUG_DIR)/ctf \
344		$(BUILD_DEBUG_DIR)/xatrix \
345		$(BUILD_DEBUG_DIR)/rogue \
346		$(BUILD_DEBUG_DIR)/pkg
347	$(MAKE) -f Makefile.Solaris targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS) -DSOLARIS_VERSION='\"$(VERSION) Debug\"'" BUILD_VERSION="debug"
348
349build_release:
350	@-mkdir -p $(BUILD_RELEASE_DIR) \
351		$(BUILD_RELEASE_DIR)/client \
352		$(BUILD_RELEASE_DIR)/ded \
353		$(BUILD_RELEASE_DIR)/ref_soft \
354		$(BUILD_RELEASE_DIR)/ref_gl \
355		$(BUILD_RELEASE_DIR)/game \
356		$(BUILD_RELEASE_DIR)/ctf \
357		$(BUILD_RELEASE_DIR)/xatrix \
358		$(BUILD_RELEASE_DIR)/rogue \
359		$(BUILD_RELEASE_DIR)/pkg
360	$(MAKE) -f Makefile.Solaris targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS) -DSOLARIS_VERSION='\"$(VERSION)\"'" BUILD_VERSION="release"
361
362#ifeq ($(strip $(BUILD_DATA_PKG)),YES)
363build_extra: build_release
364	@-mkdir -p $(BUILD_RELEASE_DIR) \
365		$(BUILD_RELEASE_DIR)/pkg
366	$(MAKE) -f Makefile.Solaris pkg_targets BUILDDIR=$(BUILD_RELEASE_DIR) BUILD_VERSION="release"
367#endif
368
369targets: $(TARGETS)
370
371pkg_targets: $(DATA_TARGETS)
372
373#############################################################################
374# CLIENT/SERVER
375#############################################################################
376
377QUAKE2_OBJS = \
378	$(BUILDDIR)/client/cl_cin.o \
379	$(BUILDDIR)/client/cl_ents.o \
380	$(BUILDDIR)/client/cl_fx.o \
381	$(BUILDDIR)/client/cl_input.o \
382	$(BUILDDIR)/client/cl_inv.o \
383	$(BUILDDIR)/client/cl_main.o \
384	$(BUILDDIR)/client/cl_parse.o \
385	$(BUILDDIR)/client/cl_pred.o \
386	$(BUILDDIR)/client/cl_tent.o \
387	$(BUILDDIR)/client/cl_scrn.o \
388	$(BUILDDIR)/client/cl_view.o \
389	$(BUILDDIR)/client/cl_newfx.o \
390	$(BUILDDIR)/client/console.o \
391	$(BUILDDIR)/client/keys.o \
392	$(BUILDDIR)/client/menu.o \
393	$(BUILDDIR)/client/snd_dma.o \
394	$(BUILDDIR)/client/snd_mem.o \
395	$(BUILDDIR)/client/snd_mix.o \
396	$(BUILDDIR)/client/qmenu.o \
397	$(BUILDDIR)/client/m_flash.o \
398	\
399	$(BUILDDIR)/client/cmd.o \
400	$(BUILDDIR)/client/cmodel.o \
401	$(BUILDDIR)/client/common.o \
402	$(BUILDDIR)/client/crc.o \
403	$(BUILDDIR)/client/cvar.o \
404	$(BUILDDIR)/client/files.o \
405	$(BUILDDIR)/client/md4.o \
406	$(BUILDDIR)/client/net_chan.o \
407	\
408	$(BUILDDIR)/client/sv_ccmds.o \
409	$(BUILDDIR)/client/sv_ents.o \
410	$(BUILDDIR)/client/sv_game.o \
411	$(BUILDDIR)/client/sv_init.o \
412	$(BUILDDIR)/client/sv_main.o \
413	$(BUILDDIR)/client/sv_send.o \
414	$(BUILDDIR)/client/sv_user.o \
415	$(BUILDDIR)/client/sv_world.o \
416	\
417	$(BUILDDIR)/client/q_shsolaris.o \
418	$(BUILDDIR)/client/vid_menu.o \
419	$(BUILDDIR)/client/vid_so.o \
420	$(BUILDDIR)/client/sys_solaris.o \
421	$(BUILDDIR)/client/glob.o \
422	$(BUILDDIR)/client/$(NET_UDP).o \
423	\
424	$(BUILDDIR)/client/q_shared.o \
425	$(BUILDDIR)/client/pmove.o
426
427QUAKE2_SOL_OBJS = \
428	$(BUILDDIR)/client/cd_solaris.o \
429	$(BUILDDIR)/client/snd_solaris.o
430
431QUAKE2_SDL_OBJS = \
432	$(BUILDDIR)/client/cd_sdl.o \
433	$(BUILDDIR)/client/snd_sdl.o
434
435$(BUILDDIR)/quake2 : $(QUAKE2_OBJS) $(QUAKE2_SOL_OBJS)
436	$(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(QUAKE2_SOL_OBJS) $(XLDFLAGS)
437
438$(BUILDDIR)/sdlquake2 : $(QUAKE2_OBJS) $(QUAKE2_SDL_OBJS)
439	$(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(QUAKE2_SDL_OBJS) $(XLDFLAGS) $(SDLLDFLAGS)
440
441$(BUILDDIR)/client/cl_cin.o :     $(CLIENT_DIR)/cl_cin.c
442	$(DO_CC)
443
444$(BUILDDIR)/client/cl_ents.o :    $(CLIENT_DIR)/cl_ents.c
445	$(DO_CC)
446
447$(BUILDDIR)/client/cl_fx.o :      $(CLIENT_DIR)/cl_fx.c
448	$(DO_CC)
449
450$(BUILDDIR)/client/cl_input.o :   $(CLIENT_DIR)/cl_input.c
451	$(DO_CC)
452
453$(BUILDDIR)/client/cl_inv.o :     $(CLIENT_DIR)/cl_inv.c
454	$(DO_CC)
455
456$(BUILDDIR)/client/cl_main.o :    $(CLIENT_DIR)/cl_main.c
457	$(DO_CC)
458
459$(BUILDDIR)/client/cl_parse.o :   $(CLIENT_DIR)/cl_parse.c
460	$(DO_CC)
461
462$(BUILDDIR)/client/cl_pred.o :    $(CLIENT_DIR)/cl_pred.c
463	$(DO_CC)
464
465$(BUILDDIR)/client/cl_tent.o :    $(CLIENT_DIR)/cl_tent.c
466	$(DO_CC)
467
468$(BUILDDIR)/client/cl_scrn.o :    $(CLIENT_DIR)/cl_scrn.c
469	$(DO_CC)
470
471$(BUILDDIR)/client/cl_view.o :    $(CLIENT_DIR)/cl_view.c
472	$(DO_CC)
473
474$(BUILDDIR)/client/cl_newfx.o :	  $(CLIENT_DIR)/cl_newfx.c
475	$(DO_CC)
476
477$(BUILDDIR)/client/console.o :    $(CLIENT_DIR)/console.c
478	$(DO_CC)
479
480$(BUILDDIR)/client/keys.o :       $(CLIENT_DIR)/keys.c
481	$(DO_CC)
482
483$(BUILDDIR)/client/menu.o :       $(CLIENT_DIR)/menu.c
484	$(DO_CC)
485
486$(BUILDDIR)/client/snd_dma.o :    $(CLIENT_DIR)/snd_dma.c
487	$(DO_CC)
488
489$(BUILDDIR)/client/snd_mem.o :    $(CLIENT_DIR)/snd_mem.c
490	$(DO_CC)
491
492$(BUILDDIR)/client/snd_mix.o :    $(CLIENT_DIR)/snd_mix.c
493	$(DO_CC)
494
495$(BUILDDIR)/client/qmenu.o :      $(CLIENT_DIR)/qmenu.c
496	$(DO_CC)
497
498$(BUILDDIR)/client/m_flash.o :    $(GAME_DIR)/m_flash.c
499	$(DO_CC)
500
501$(BUILDDIR)/client/cmd.o :        $(COMMON_DIR)/cmd.c
502	$(DO_CC)
503
504$(BUILDDIR)/client/cmodel.o :     $(COMMON_DIR)/cmodel.c
505	$(DO_CC)
506
507$(BUILDDIR)/client/common.o :     $(COMMON_DIR)/common.c
508	$(DO_CC)
509
510$(BUILDDIR)/client/crc.o :        $(COMMON_DIR)/crc.c
511	$(DO_CC)
512
513$(BUILDDIR)/client/cvar.o :       $(COMMON_DIR)/cvar.c
514	$(DO_CC)
515
516$(BUILDDIR)/client/files.o :      $(COMMON_DIR)/files.c
517	$(DO_CC)
518
519$(BUILDDIR)/client/md4.o :        $(COMMON_DIR)/md4.c
520	$(DO_CC)
521
522$(BUILDDIR)/client/net_chan.o :   $(COMMON_DIR)/net_chan.c
523	$(DO_CC)
524
525$(BUILDDIR)/client/q_shared.o :   $(GAME_DIR)/q_shared.c
526	$(DO_CC)
527
528$(BUILDDIR)/client/pmove.o :      $(COMMON_DIR)/pmove.c
529	$(DO_CC)
530
531$(BUILDDIR)/client/sv_ccmds.o :   $(SERVER_DIR)/sv_ccmds.c
532	$(DO_CC)
533
534$(BUILDDIR)/client/sv_ents.o :    $(SERVER_DIR)/sv_ents.c
535	$(DO_CC)
536
537$(BUILDDIR)/client/sv_game.o :    $(SERVER_DIR)/sv_game.c
538	$(DO_CC)
539
540$(BUILDDIR)/client/sv_init.o :    $(SERVER_DIR)/sv_init.c
541	$(DO_CC)
542
543$(BUILDDIR)/client/sv_main.o :    $(SERVER_DIR)/sv_main.c
544	$(DO_CC)
545
546$(BUILDDIR)/client/sv_send.o :    $(SERVER_DIR)/sv_send.c
547	$(DO_CC)
548
549$(BUILDDIR)/client/sv_user.o :    $(SERVER_DIR)/sv_user.c
550	$(DO_CC)
551
552$(BUILDDIR)/client/sv_world.o :   $(SERVER_DIR)/sv_world.c
553	$(DO_CC)
554
555$(BUILDDIR)/client/q_shsolaris.o :	$(SOLARIS_DIR)/q_shsolaris.c
556	$(DO_GL_SHLIB_CC)
557
558$(BUILDDIR)/client/sys_solaris.o :	$(SOLARIS_DIR)/sys_solaris.c
559	$(DO_CC)
560
561$(BUILDDIR)/client/glob.o :		$(SOLARIS_DIR)/glob.c
562	$(DO_CC)
563
564$(BUILDDIR)/client/net_udp.o :		$(SOLARIS_DIR)/net_udp.c
565	$(DO_CC)
566
567$(BUILDDIR)/client/cd_null.o :		$(NULL_DIR)/cd_null.c
568	$(DO_CC)
569
570$(BUILDDIR)/client/cl_null.o :		$(NULL_DIR)/cl_null.c
571	$(DO_CC)
572
573#############################################################################
574# DEDICATED SERVER
575#############################################################################
576
577Q2DED_OBJS = \
578       $(BUILDDIR)/ded/cmd.o \
579       $(BUILDDIR)/ded/cmodel.o \
580       $(BUILDDIR)/ded/common.o \
581       $(BUILDDIR)/ded/crc.o \
582       $(BUILDDIR)/ded/cvar.o \
583       $(BUILDDIR)/ded/files.o \
584       $(BUILDDIR)/ded/md4.o \
585       $(BUILDDIR)/ded/net_chan.o \
586       $(BUILDDIR)/ded/sv_ccmds.o \
587       $(BUILDDIR)/ded/sv_ents.o \
588       $(BUILDDIR)/ded/sv_game.o \
589       $(BUILDDIR)/ded/sv_init.o \
590       $(BUILDDIR)/ded/sv_main.o \
591       $(BUILDDIR)/ded/sv_send.o \
592       $(BUILDDIR)/ded/sv_user.o \
593       $(BUILDDIR)/ded/sv_world.o \
594       $(BUILDDIR)/ded/q_shsolaris.o \
595       $(BUILDDIR)/ded/sys_solaris.o \
596       $(BUILDDIR)/ded/glob.o \
597       $(BUILDDIR)/ded/$(NET_UDP).o \
598       $(BUILDDIR)/ded/q_shared.o \
599       $(BUILDDIR)/ded/pmove.o \
600       $(BUILDDIR)/ded/cl_null.o \
601       $(BUILDDIR)/ded/cd_null.o
602
603$(BUILDDIR)/q2ded : $(Q2DED_OBJS)
604	$(CC) $(CFLAGS) -o $@ $(Q2DED_OBJS) $(LDFLAGS)
605
606$(BUILDDIR)/ded/cmd.o :        $(COMMON_DIR)/cmd.c
607	$(DO_DED_CC)
608
609$(BUILDDIR)/ded/cmodel.o :     $(COMMON_DIR)/cmodel.c
610	$(DO_DED_CC)
611
612$(BUILDDIR)/ded/common.o :     $(COMMON_DIR)/common.c
613	$(DO_DED_CC)
614
615$(BUILDDIR)/ded/crc.o :	 $(COMMON_DIR)/crc.c
616	$(DO_DED_CC)
617
618$(BUILDDIR)/ded/cvar.o :	$(COMMON_DIR)/cvar.c
619	$(DO_DED_CC)
620
621$(BUILDDIR)/ded/files.o :      $(COMMON_DIR)/files.c
622	$(DO_DED_CC)
623
624$(BUILDDIR)/ded/md4.o :	 $(COMMON_DIR)/md4.c
625	$(DO_DED_CC)
626
627$(BUILDDIR)/ded/net_chan.o :   $(COMMON_DIR)/net_chan.c
628	$(DO_DED_CC)
629
630$(BUILDDIR)/ded/q_shared.o :   $(GAME_DIR)/q_shared.c
631	$(DO_DED_CC)
632
633$(BUILDDIR)/ded/pmove.o :      $(COMMON_DIR)/pmove.c
634	$(DO_DED_CC)
635
636$(BUILDDIR)/ded/sv_ccmds.o :   $(SERVER_DIR)/sv_ccmds.c
637	$(DO_DED_CC)
638
639$(BUILDDIR)/ded/sv_ents.o :    $(SERVER_DIR)/sv_ents.c
640	$(DO_DED_CC)
641
642$(BUILDDIR)/ded/sv_game.o :    $(SERVER_DIR)/sv_game.c
643	$(DO_DED_CC)
644
645$(BUILDDIR)/ded/sv_init.o :    $(SERVER_DIR)/sv_init.c
646	$(DO_DED_CC)
647
648$(BUILDDIR)/ded/sv_main.o :    $(SERVER_DIR)/sv_main.c
649	$(DO_DED_CC)
650
651$(BUILDDIR)/ded/sv_send.o :    $(SERVER_DIR)/sv_send.c
652	$(DO_DED_CC)
653
654$(BUILDDIR)/ded/sv_user.o :    $(SERVER_DIR)/sv_user.c
655	$(DO_DED_CC)
656
657$(BUILDDIR)/ded/sv_world.o :   $(SERVER_DIR)/sv_world.c
658	$(DO_DED_CC)
659
660$(BUILDDIR)/ded/q_shsolaris.o :	$(SOLARIS_DIR)/q_shsolaris.c
661	$(DO_DED_CC)
662
663$(BUILDDIR)/ded/sys_solaris.o :	$(SOLARIS_DIR)/sys_solaris.c
664	$(DO_DED_CC)
665
666$(BUILDDIR)/ded/glob.o :	$(SOLARIS_DIR)/glob.c
667	$(DO_DED_CC)
668
669$(BUILDDIR)/ded/net_udp.o :	$(SOLARIS_DIR)/net_udp.c
670	$(DO_DED_CC)
671
672$(BUILDDIR)/ded/cd_null.o :    $(NULL_DIR)/cd_null.c
673	$(DO_DED_CC)
674
675$(BUILDDIR)/ded/cl_null.o :    $(NULL_DIR)/cl_null.c
676	$(DO_DED_CC)
677
678#############################################################################
679# GAME
680#############################################################################
681
682GAME_OBJS = \
683	$(BUILDDIR)/game/g_ai.o \
684	$(BUILDDIR)/game/p_client.o \
685	$(BUILDDIR)/game/g_chase.o \
686	$(BUILDDIR)/game/g_cmds.o \
687	$(BUILDDIR)/game/g_svcmds.o \
688	$(BUILDDIR)/game/g_combat.o \
689	$(BUILDDIR)/game/g_func.o \
690	$(BUILDDIR)/game/g_items.o \
691	$(BUILDDIR)/game/g_main.o \
692	$(BUILDDIR)/game/g_misc.o \
693	$(BUILDDIR)/game/g_monster.o \
694	$(BUILDDIR)/game/g_phys.o \
695	$(BUILDDIR)/game/g_save.o \
696	$(BUILDDIR)/game/g_spawn.o \
697	$(BUILDDIR)/game/g_target.o \
698	$(BUILDDIR)/game/g_trigger.o \
699	$(BUILDDIR)/game/g_turret.o \
700	$(BUILDDIR)/game/g_utils.o \
701	$(BUILDDIR)/game/g_weapon.o \
702	$(BUILDDIR)/game/m_actor.o \
703	$(BUILDDIR)/game/m_berserk.o \
704	$(BUILDDIR)/game/m_boss2.o \
705	$(BUILDDIR)/game/m_boss3.o \
706	$(BUILDDIR)/game/m_boss31.o \
707	$(BUILDDIR)/game/m_boss32.o \
708	$(BUILDDIR)/game/m_brain.o \
709	$(BUILDDIR)/game/m_chick.o \
710	$(BUILDDIR)/game/m_flipper.o \
711	$(BUILDDIR)/game/m_float.o \
712	$(BUILDDIR)/game/m_flyer.o \
713	$(BUILDDIR)/game/m_gladiator.o \
714	$(BUILDDIR)/game/m_gunner.o \
715	$(BUILDDIR)/game/m_hover.o \
716	$(BUILDDIR)/game/m_infantry.o \
717	$(BUILDDIR)/game/m_insane.o \
718	$(BUILDDIR)/game/m_medic.o \
719	$(BUILDDIR)/game/m_move.o \
720	$(BUILDDIR)/game/m_mutant.o \
721	$(BUILDDIR)/game/m_parasite.o \
722	$(BUILDDIR)/game/m_soldier.o \
723	$(BUILDDIR)/game/m_supertank.o \
724	$(BUILDDIR)/game/m_tank.o \
725	$(BUILDDIR)/game/p_hud.o \
726	$(BUILDDIR)/game/p_trail.o \
727	$(BUILDDIR)/game/p_view.o \
728	$(BUILDDIR)/game/p_weapon.o \
729	$(BUILDDIR)/game/q_shared.o \
730	$(BUILDDIR)/game/m_flash.o
731
732$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
733	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
734
735$(BUILDDIR)/game/g_ai.o :        $(GAME_DIR)/g_ai.c
736	$(DO_SHLIB_CC)
737
738$(BUILDDIR)/game/g_chase.o :     $(GAME_DIR)/g_chase.c
739	$(DO_SHLIB_CC)
740
741$(BUILDDIR)/game/p_client.o :    $(GAME_DIR)/p_client.c
742	$(DO_SHLIB_CC)
743
744$(BUILDDIR)/game/g_cmds.o :      $(GAME_DIR)/g_cmds.c
745	$(DO_SHLIB_CC)
746
747$(BUILDDIR)/game/g_svcmds.o :    $(GAME_DIR)/g_svcmds.c
748	$(DO_SHLIB_CC)
749
750$(BUILDDIR)/game/g_combat.o :    $(GAME_DIR)/g_combat.c
751	$(DO_SHLIB_CC)
752
753$(BUILDDIR)/game/g_func.o :      $(GAME_DIR)/g_func.c
754	$(DO_SHLIB_CC)
755
756$(BUILDDIR)/game/g_items.o :     $(GAME_DIR)/g_items.c
757	$(DO_SHLIB_CC)
758
759$(BUILDDIR)/game/g_main.o :      $(GAME_DIR)/g_main.c
760	$(DO_SHLIB_CC)
761
762$(BUILDDIR)/game/g_misc.o :      $(GAME_DIR)/g_misc.c
763	$(DO_SHLIB_CC)
764
765$(BUILDDIR)/game/g_monster.o :   $(GAME_DIR)/g_monster.c
766	$(DO_SHLIB_CC)
767
768$(BUILDDIR)/game/g_phys.o :      $(GAME_DIR)/g_phys.c
769	$(DO_SHLIB_CC)
770
771$(BUILDDIR)/game/g_save.o :      $(GAME_DIR)/g_save.c
772	$(DO_SHLIB_CC)
773
774$(BUILDDIR)/game/g_spawn.o :     $(GAME_DIR)/g_spawn.c
775	$(DO_SHLIB_CC)
776
777$(BUILDDIR)/game/g_target.o :    $(GAME_DIR)/g_target.c
778	$(DO_SHLIB_CC)
779
780$(BUILDDIR)/game/g_trigger.o :   $(GAME_DIR)/g_trigger.c
781	$(DO_SHLIB_CC)
782
783$(BUILDDIR)/game/g_turret.o :    $(GAME_DIR)/g_turret.c
784	$(DO_SHLIB_CC)
785
786$(BUILDDIR)/game/g_utils.o :     $(GAME_DIR)/g_utils.c
787	$(DO_SHLIB_CC)
788
789$(BUILDDIR)/game/g_weapon.o :    $(GAME_DIR)/g_weapon.c
790	$(DO_SHLIB_CC)
791
792$(BUILDDIR)/game/m_actor.o :     $(GAME_DIR)/m_actor.c
793	$(DO_SHLIB_CC)
794
795$(BUILDDIR)/game/m_berserk.o :   $(GAME_DIR)/m_berserk.c
796	$(DO_SHLIB_CC)
797
798$(BUILDDIR)/game/m_boss2.o :     $(GAME_DIR)/m_boss2.c
799	$(DO_SHLIB_CC)
800
801$(BUILDDIR)/game/m_boss3.o :     $(GAME_DIR)/m_boss3.c
802	$(DO_SHLIB_CC)
803
804$(BUILDDIR)/game/m_boss31.o :     $(GAME_DIR)/m_boss31.c
805	$(DO_SHLIB_CC)
806
807$(BUILDDIR)/game/m_boss32.o :     $(GAME_DIR)/m_boss32.c
808	$(DO_SHLIB_CC)
809
810$(BUILDDIR)/game/m_brain.o :     $(GAME_DIR)/m_brain.c
811	$(DO_SHLIB_CC)
812
813$(BUILDDIR)/game/m_chick.o :     $(GAME_DIR)/m_chick.c
814	$(DO_SHLIB_CC)
815
816$(BUILDDIR)/game/m_flipper.o :   $(GAME_DIR)/m_flipper.c
817	$(DO_SHLIB_CC)
818
819$(BUILDDIR)/game/m_float.o :     $(GAME_DIR)/m_float.c
820	$(DO_SHLIB_CC)
821
822$(BUILDDIR)/game/m_flyer.o :     $(GAME_DIR)/m_flyer.c
823	$(DO_SHLIB_CC)
824
825$(BUILDDIR)/game/m_gladiator.o : $(GAME_DIR)/m_gladiator.c
826	$(DO_SHLIB_CC)
827
828$(BUILDDIR)/game/m_gunner.o :    $(GAME_DIR)/m_gunner.c
829	$(DO_SHLIB_CC)
830
831$(BUILDDIR)/game/m_hover.o :     $(GAME_DIR)/m_hover.c
832	$(DO_SHLIB_CC)
833
834$(BUILDDIR)/game/m_infantry.o :  $(GAME_DIR)/m_infantry.c
835	$(DO_SHLIB_CC)
836
837$(BUILDDIR)/game/m_insane.o :    $(GAME_DIR)/m_insane.c
838	$(DO_SHLIB_CC)
839
840$(BUILDDIR)/game/m_medic.o :     $(GAME_DIR)/m_medic.c
841	$(DO_SHLIB_CC)
842
843$(BUILDDIR)/game/m_move.o :      $(GAME_DIR)/m_move.c
844	$(DO_SHLIB_CC)
845
846$(BUILDDIR)/game/m_mutant.o :    $(GAME_DIR)/m_mutant.c
847	$(DO_SHLIB_CC)
848
849$(BUILDDIR)/game/m_parasite.o :  $(GAME_DIR)/m_parasite.c
850	$(DO_SHLIB_CC)
851
852$(BUILDDIR)/game/m_soldier.o :   $(GAME_DIR)/m_soldier.c
853	$(DO_SHLIB_CC)
854
855$(BUILDDIR)/game/m_supertank.o : $(GAME_DIR)/m_supertank.c
856	$(DO_SHLIB_CC)
857
858$(BUILDDIR)/game/m_tank.o :      $(GAME_DIR)/m_tank.c
859	$(DO_SHLIB_CC)
860
861$(BUILDDIR)/game/p_hud.o :       $(GAME_DIR)/p_hud.c
862	$(DO_SHLIB_CC)
863
864$(BUILDDIR)/game/p_trail.o :     $(GAME_DIR)/p_trail.c
865	$(DO_SHLIB_CC)
866
867$(BUILDDIR)/game/p_view.o :      $(GAME_DIR)/p_view.c
868	$(DO_SHLIB_CC)
869
870$(BUILDDIR)/game/p_weapon.o :    $(GAME_DIR)/p_weapon.c
871	$(DO_SHLIB_CC)
872
873$(BUILDDIR)/game/q_shared.o :    $(GAME_DIR)/q_shared.c
874	$(DO_SHLIB_CC)
875
876$(BUILDDIR)/game/m_flash.o :     $(GAME_DIR)/m_flash.c
877	$(DO_SHLIB_CC)
878
879#############################################################################
880# CTF
881#############################################################################
882
883CTF_OBJS = \
884	$(BUILDDIR)/ctf/g_ai.o \
885	$(BUILDDIR)/ctf/g_chase.o \
886	$(BUILDDIR)/ctf/g_cmds.o \
887	$(BUILDDIR)/ctf/g_combat.o \
888	$(BUILDDIR)/ctf/g_ctf.o \
889	$(BUILDDIR)/ctf/g_func.o \
890	$(BUILDDIR)/ctf/g_items.o \
891	$(BUILDDIR)/ctf/g_main.o \
892	$(BUILDDIR)/ctf/g_misc.o \
893	$(BUILDDIR)/ctf/g_monster.o \
894	$(BUILDDIR)/ctf/g_phys.o \
895	$(BUILDDIR)/ctf/g_save.o \
896	$(BUILDDIR)/ctf/g_spawn.o \
897	$(BUILDDIR)/ctf/g_svcmds.o \
898	$(BUILDDIR)/ctf/g_target.o \
899	$(BUILDDIR)/ctf/g_trigger.o \
900	$(BUILDDIR)/ctf/g_utils.o \
901	$(BUILDDIR)/ctf/g_weapon.o \
902	$(BUILDDIR)/ctf/m_move.o \
903	$(BUILDDIR)/ctf/p_client.o \
904	$(BUILDDIR)/ctf/p_hud.o \
905	$(BUILDDIR)/ctf/p_menu.o \
906	$(BUILDDIR)/ctf/p_trail.o \
907	$(BUILDDIR)/ctf/p_view.o \
908	$(BUILDDIR)/ctf/p_weapon.o \
909	$(BUILDDIR)/ctf/q_shared.o
910
911$(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) : $(CTF_OBJS)
912	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(CTF_OBJS)
913
914$(BUILDDIR)/ctf/g_ai.o :       $(CTF_DIR)/g_ai.c
915	$(DO_SHLIB_CC)
916
917$(BUILDDIR)/ctf/g_chase.o :    $(CTF_DIR)/g_chase.c
918	$(DO_SHLIB_CC)
919
920$(BUILDDIR)/ctf/g_cmds.o :     $(CTF_DIR)/g_cmds.c
921	$(DO_SHLIB_CC)
922
923$(BUILDDIR)/ctf/g_combat.o :   $(CTF_DIR)/g_combat.c
924	$(DO_SHLIB_CC)
925
926$(BUILDDIR)/ctf/g_ctf.o :      $(CTF_DIR)/g_ctf.c
927	$(DO_SHLIB_CC)
928
929$(BUILDDIR)/ctf/g_func.o :     $(CTF_DIR)/g_func.c
930	$(DO_SHLIB_CC)
931
932$(BUILDDIR)/ctf/g_items.o :    $(CTF_DIR)/g_items.c
933	$(DO_SHLIB_CC)
934
935$(BUILDDIR)/ctf/g_main.o :     $(CTF_DIR)/g_main.c
936	$(DO_SHLIB_CC)
937
938$(BUILDDIR)/ctf/g_misc.o :     $(CTF_DIR)/g_misc.c
939	$(DO_SHLIB_CC)
940
941$(BUILDDIR)/ctf/g_monster.o :  $(CTF_DIR)/g_monster.c
942	$(DO_SHLIB_CC)
943
944$(BUILDDIR)/ctf/g_phys.o :     $(CTF_DIR)/g_phys.c
945	$(DO_SHLIB_CC)
946
947$(BUILDDIR)/ctf/g_save.o :     $(CTF_DIR)/g_save.c
948	$(DO_SHLIB_CC)
949
950$(BUILDDIR)/ctf/g_spawn.o :    $(CTF_DIR)/g_spawn.c
951	$(DO_SHLIB_CC)
952
953$(BUILDDIR)/ctf/g_svcmds.o :   $(CTF_DIR)/g_svcmds.c
954	$(DO_SHLIB_CC)
955
956$(BUILDDIR)/ctf/g_target.o :   $(CTF_DIR)/g_target.c
957	$(DO_SHLIB_CC)
958
959$(BUILDDIR)/ctf/g_trigger.o :  $(CTF_DIR)/g_trigger.c
960	$(DO_SHLIB_CC)
961
962$(BUILDDIR)/ctf/g_utils.o :    $(CTF_DIR)/g_utils.c
963	$(DO_SHLIB_CC)
964
965$(BUILDDIR)/ctf/g_weapon.o :   $(CTF_DIR)/g_weapon.c
966	$(DO_SHLIB_CC)
967
968$(BUILDDIR)/ctf/m_move.o :     $(CTF_DIR)/m_move.c
969	$(DO_SHLIB_CC)
970
971$(BUILDDIR)/ctf/p_client.o :   $(CTF_DIR)/p_client.c
972	$(DO_SHLIB_CC)
973
974$(BUILDDIR)/ctf/p_hud.o :      $(CTF_DIR)/p_hud.c
975	$(DO_SHLIB_CC)
976
977$(BUILDDIR)/ctf/p_menu.o :     $(CTF_DIR)/p_menu.c
978	$(DO_SHLIB_CC)
979
980$(BUILDDIR)/ctf/p_trail.o :    $(CTF_DIR)/p_trail.c
981	$(DO_SHLIB_CC)
982
983$(BUILDDIR)/ctf/p_view.o :     $(CTF_DIR)/p_view.c
984	$(DO_SHLIB_CC)
985
986$(BUILDDIR)/ctf/p_weapon.o :   $(CTF_DIR)/p_weapon.c
987	$(DO_SHLIB_CC)
988
989$(BUILDDIR)/ctf/q_shared.o :   $(CTF_DIR)/q_shared.c
990	$(DO_SHLIB_CC)
991
992#############################################################################
993# XATRIX
994#############################################################################
995
996XATRIX_OBJS = \
997	$(BUILDDIR)/xatrix/g_ai.o \
998	$(BUILDDIR)/xatrix/g_chase.o \
999	$(BUILDDIR)/xatrix/g_cmds.o \
1000	$(BUILDDIR)/xatrix/g_combat.o \
1001	$(BUILDDIR)/xatrix/g_func.o \
1002	$(BUILDDIR)/xatrix/g_items.o \
1003	$(BUILDDIR)/xatrix/g_main.o \
1004	$(BUILDDIR)/xatrix/g_misc.o \
1005	$(BUILDDIR)/xatrix/g_monster.o \
1006	$(BUILDDIR)/xatrix/g_phys.o \
1007	$(BUILDDIR)/xatrix/g_save.o \
1008	$(BUILDDIR)/xatrix/g_spawn.o \
1009	$(BUILDDIR)/xatrix/g_svcmds.o \
1010	$(BUILDDIR)/xatrix/g_target.o \
1011	$(BUILDDIR)/xatrix/g_trigger.o \
1012	$(BUILDDIR)/xatrix/g_turret.o \
1013	$(BUILDDIR)/xatrix/g_utils.o \
1014	$(BUILDDIR)/xatrix/g_weapon.o \
1015	$(BUILDDIR)/xatrix/m_actor.o \
1016	$(BUILDDIR)/xatrix/m_berserk.o \
1017	$(BUILDDIR)/xatrix/m_boss2.o \
1018	$(BUILDDIR)/xatrix/m_boss3.o \
1019	$(BUILDDIR)/xatrix/m_boss31.o \
1020	$(BUILDDIR)/xatrix/m_boss32.o \
1021	$(BUILDDIR)/xatrix/m_boss5.o \
1022	$(BUILDDIR)/xatrix/m_brain.o \
1023	$(BUILDDIR)/xatrix/m_chick.o \
1024	$(BUILDDIR)/xatrix/m_fixbot.o \
1025	$(BUILDDIR)/xatrix/m_flash.o \
1026	$(BUILDDIR)/xatrix/m_flipper.o \
1027	$(BUILDDIR)/xatrix/m_float.o \
1028	$(BUILDDIR)/xatrix/m_flyer.o \
1029	$(BUILDDIR)/xatrix/m_gekk.o \
1030	$(BUILDDIR)/xatrix/m_gladb.o \
1031	$(BUILDDIR)/xatrix/m_gladiator.o \
1032	$(BUILDDIR)/xatrix/m_gunner.o \
1033	$(BUILDDIR)/xatrix/m_hover.o \
1034	$(BUILDDIR)/xatrix/m_infantry.o \
1035	$(BUILDDIR)/xatrix/m_insane.o \
1036	$(BUILDDIR)/xatrix/m_medic.o \
1037	$(BUILDDIR)/xatrix/m_move.o \
1038	$(BUILDDIR)/xatrix/m_mutant.o \
1039	$(BUILDDIR)/xatrix/m_parasite.o \
1040	$(BUILDDIR)/xatrix/m_soldier.o \
1041	$(BUILDDIR)/xatrix/m_supertank.o \
1042	$(BUILDDIR)/xatrix/m_tank.o \
1043	$(BUILDDIR)/xatrix/p_client.o \
1044	$(BUILDDIR)/xatrix/p_hud.o \
1045	$(BUILDDIR)/xatrix/p_trail.o \
1046	$(BUILDDIR)/xatrix/p_view.o \
1047	$(BUILDDIR)/xatrix/p_weapon.o \
1048	$(BUILDDIR)/xatrix/q_shared.o
1049
1050$(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) : $(XATRIX_OBJS)
1051	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(XATRIX_OBJS)
1052
1053$(BUILDDIR)/xatrix/g_ai.o :        $(XATRIX_DIR)/g_ai.c
1054	$(DO_SHLIB_CC)
1055
1056$(BUILDDIR)/xatrix/g_chase.o :     $(XATRIX_DIR)/g_chase.c
1057	$(DO_SHLIB_CC)
1058
1059$(BUILDDIR)/xatrix/g_cmds.o :      $(XATRIX_DIR)/g_cmds.c
1060	$(DO_SHLIB_CC)
1061
1062$(BUILDDIR)/xatrix/g_combat.o :    $(XATRIX_DIR)/g_combat.c
1063	$(DO_SHLIB_CC)
1064
1065$(BUILDDIR)/xatrix/g_func.o :      $(XATRIX_DIR)/g_func.c
1066	$(DO_SHLIB_CC)
1067
1068$(BUILDDIR)/xatrix/g_items.o :     $(XATRIX_DIR)/g_items.c
1069	$(DO_SHLIB_CC)
1070
1071$(BUILDDIR)/xatrix/g_main.o :      $(XATRIX_DIR)/g_main.c
1072	$(DO_SHLIB_CC)
1073
1074$(BUILDDIR)/xatrix/g_misc.o :      $(XATRIX_DIR)/g_misc.c
1075	$(DO_SHLIB_CC)
1076
1077$(BUILDDIR)/xatrix/g_monster.o :   $(XATRIX_DIR)/g_monster.c
1078	$(DO_SHLIB_CC)
1079
1080$(BUILDDIR)/xatrix/g_phys.o :      $(XATRIX_DIR)/g_phys.c
1081	$(DO_SHLIB_CC)
1082
1083$(BUILDDIR)/xatrix/g_save.o :      $(XATRIX_DIR)/g_save.c
1084	$(DO_SHLIB_CC)
1085
1086$(BUILDDIR)/xatrix/g_spawn.o :     $(XATRIX_DIR)/g_spawn.c
1087	$(DO_SHLIB_CC)
1088
1089$(BUILDDIR)/xatrix/g_svcmds.o :    $(XATRIX_DIR)/g_svcmds.c
1090	$(DO_SHLIB_CC)
1091
1092$(BUILDDIR)/xatrix/g_target.o :    $(XATRIX_DIR)/g_target.c
1093	$(DO_SHLIB_CC)
1094
1095$(BUILDDIR)/xatrix/g_trigger.o :   $(XATRIX_DIR)/g_trigger.c
1096	$(DO_SHLIB_CC)
1097
1098$(BUILDDIR)/xatrix/g_turret.o :    $(XATRIX_DIR)/g_turret.c
1099	$(DO_SHLIB_CC)
1100
1101$(BUILDDIR)/xatrix/g_utils.o :     $(XATRIX_DIR)/g_utils.c
1102	$(DO_SHLIB_CC)
1103
1104$(BUILDDIR)/xatrix/g_weapon.o :    $(XATRIX_DIR)/g_weapon.c
1105	$(DO_SHLIB_CC)
1106
1107$(BUILDDIR)/xatrix/m_actor.o :     $(XATRIX_DIR)/m_actor.c
1108	$(DO_SHLIB_CC)
1109
1110$(BUILDDIR)/xatrix/m_berserk.o :   $(XATRIX_DIR)/m_berserk.c
1111	$(DO_SHLIB_CC)
1112
1113$(BUILDDIR)/xatrix/m_boss2.o :     $(XATRIX_DIR)/m_boss2.c
1114	$(DO_SHLIB_CC)
1115
1116$(BUILDDIR)/xatrix/m_boss3.o :     $(XATRIX_DIR)/m_boss3.c
1117	$(DO_SHLIB_CC)
1118
1119$(BUILDDIR)/xatrix/m_boss31.o :    $(XATRIX_DIR)/m_boss31.c
1120	$(DO_SHLIB_CC)
1121
1122$(BUILDDIR)/xatrix/m_boss32.o :    $(XATRIX_DIR)/m_boss32.c
1123	$(DO_SHLIB_CC)
1124
1125$(BUILDDIR)/xatrix/m_boss5.o :     $(XATRIX_DIR)/m_boss5.c
1126	$(DO_SHLIB_CC)
1127
1128$(BUILDDIR)/xatrix/m_brain.o :     $(XATRIX_DIR)/m_brain.c
1129	$(DO_SHLIB_CC)
1130
1131$(BUILDDIR)/xatrix/m_chick.o :     $(XATRIX_DIR)/m_chick.c
1132	$(DO_SHLIB_CC)
1133
1134$(BUILDDIR)/xatrix/m_fixbot.o :    $(XATRIX_DIR)/m_fixbot.c
1135	$(DO_SHLIB_CC)
1136
1137$(BUILDDIR)/xatrix/m_flash.o :     $(XATRIX_DIR)/m_flash.c
1138	$(DO_SHLIB_CC)
1139
1140$(BUILDDIR)/xatrix/m_flipper.o :   $(XATRIX_DIR)/m_flipper.c
1141	$(DO_SHLIB_CC)
1142
1143$(BUILDDIR)/xatrix/m_float.o :     $(XATRIX_DIR)/m_float.c
1144	$(DO_SHLIB_CC)
1145
1146$(BUILDDIR)/xatrix/m_flyer.o :     $(XATRIX_DIR)/m_flyer.c
1147	$(DO_SHLIB_CC)
1148
1149$(BUILDDIR)/xatrix/m_gekk.o :      $(XATRIX_DIR)/m_gekk.c
1150	$(DO_SHLIB_CC)
1151
1152$(BUILDDIR)/xatrix/m_gladb.o :     $(XATRIX_DIR)/m_gladb.c
1153	$(DO_SHLIB_CC)
1154
1155$(BUILDDIR)/xatrix/m_gladiator.o : $(XATRIX_DIR)/m_gladiator.c
1156	$(DO_SHLIB_CC)
1157
1158$(BUILDDIR)/xatrix/m_gunner.o :    $(XATRIX_DIR)/m_gunner.c
1159	$(DO_SHLIB_CC)
1160
1161$(BUILDDIR)/xatrix/m_hover.o :     $(XATRIX_DIR)/m_hover.c
1162	$(DO_SHLIB_CC)
1163
1164$(BUILDDIR)/xatrix/m_infantry.o :  $(XATRIX_DIR)/m_infantry.c
1165	$(DO_SHLIB_CC)
1166
1167$(BUILDDIR)/xatrix/m_insane.o :    $(XATRIX_DIR)/m_insane.c
1168	$(DO_SHLIB_CC)
1169
1170$(BUILDDIR)/xatrix/m_medic.o :     $(XATRIX_DIR)/m_medic.c
1171	$(DO_SHLIB_CC)
1172
1173$(BUILDDIR)/xatrix/m_move.o :      $(XATRIX_DIR)/m_move.c
1174	$(DO_SHLIB_CC)
1175
1176$(BUILDDIR)/xatrix/m_mutant.o :    $(XATRIX_DIR)/m_mutant.c
1177	$(DO_SHLIB_CC)
1178
1179$(BUILDDIR)/xatrix/m_parasite.o :  $(XATRIX_DIR)/m_parasite.c
1180	$(DO_SHLIB_CC)
1181
1182$(BUILDDIR)/xatrix/m_soldier.o :   $(XATRIX_DIR)/m_soldier.c
1183	$(DO_SHLIB_CC)
1184
1185$(BUILDDIR)/xatrix/m_supertank.o : $(XATRIX_DIR)/m_supertank.c
1186	$(DO_SHLIB_CC)
1187
1188$(BUILDDIR)/xatrix/m_tank.o :      $(XATRIX_DIR)/m_tank.c
1189	$(DO_SHLIB_CC)
1190
1191$(BUILDDIR)/xatrix/p_client.o :    $(XATRIX_DIR)/p_client.c
1192	$(DO_SHLIB_CC)
1193
1194$(BUILDDIR)/xatrix/p_hud.o :       $(XATRIX_DIR)/p_hud.c
1195	$(DO_SHLIB_CC)
1196
1197$(BUILDDIR)/xatrix/p_trail.o :     $(XATRIX_DIR)/p_trail.c
1198	$(DO_SHLIB_CC)
1199
1200$(BUILDDIR)/xatrix/p_view.o :      $(XATRIX_DIR)/p_view.c
1201	$(DO_SHLIB_CC)
1202
1203$(BUILDDIR)/xatrix/p_weapon.o :    $(XATRIX_DIR)/p_weapon.c
1204	$(DO_SHLIB_CC)
1205
1206$(BUILDDIR)/xatrix/q_shared.o :    $(XATRIX_DIR)/q_shared.c
1207	$(DO_SHLIB_CC)
1208
1209#############################################################################
1210# ROGUE
1211#############################################################################
1212
1213ROGUE_OBJS = \
1214	$(BUILDDIR)/rogue/dm_ball.o \
1215	$(BUILDDIR)/rogue/dm_tag.o \
1216	$(BUILDDIR)/rogue/g_ai.o \
1217	$(BUILDDIR)/rogue/g_chase.o \
1218	$(BUILDDIR)/rogue/g_cmds.o \
1219	$(BUILDDIR)/rogue/g_combat.o \
1220	$(BUILDDIR)/rogue/g_func.o \
1221	$(BUILDDIR)/rogue/g_items.o \
1222	$(BUILDDIR)/rogue/g_main.o \
1223	$(BUILDDIR)/rogue/g_misc.o \
1224	$(BUILDDIR)/rogue/g_monster.o \
1225	$(BUILDDIR)/rogue/g_newai.o \
1226	$(BUILDDIR)/rogue/g_newdm.o \
1227	$(BUILDDIR)/rogue/g_newfnc.o \
1228	$(BUILDDIR)/rogue/g_newtarg.o \
1229	$(BUILDDIR)/rogue/g_newtrig.o \
1230	$(BUILDDIR)/rogue/g_newweap.o \
1231	$(BUILDDIR)/rogue/g_phys.o \
1232	$(BUILDDIR)/rogue/g_save.o \
1233	$(BUILDDIR)/rogue/g_spawn.o \
1234	$(BUILDDIR)/rogue/g_sphere.o \
1235	$(BUILDDIR)/rogue/g_svcmds.o \
1236	$(BUILDDIR)/rogue/g_target.o \
1237	$(BUILDDIR)/rogue/g_trigger.o \
1238	$(BUILDDIR)/rogue/g_turret.o \
1239	$(BUILDDIR)/rogue/g_utils.o \
1240	$(BUILDDIR)/rogue/g_weapon.o \
1241	$(BUILDDIR)/rogue/m_actor.o \
1242	$(BUILDDIR)/rogue/m_berserk.o \
1243	$(BUILDDIR)/rogue/m_boss2.o \
1244	$(BUILDDIR)/rogue/m_boss3.o \
1245	$(BUILDDIR)/rogue/m_boss31.o \
1246	$(BUILDDIR)/rogue/m_boss32.o \
1247	$(BUILDDIR)/rogue/m_brain.o \
1248	$(BUILDDIR)/rogue/m_carrier.o \
1249	$(BUILDDIR)/rogue/m_chick.o \
1250	$(BUILDDIR)/rogue/m_flash.o \
1251	$(BUILDDIR)/rogue/m_flipper.o \
1252	$(BUILDDIR)/rogue/m_float.o \
1253	$(BUILDDIR)/rogue/m_flyer.o \
1254	$(BUILDDIR)/rogue/m_gladiator.o \
1255	$(BUILDDIR)/rogue/m_gunner.o \
1256	$(BUILDDIR)/rogue/m_hover.o \
1257	$(BUILDDIR)/rogue/m_infantry.o \
1258	$(BUILDDIR)/rogue/m_insane.o \
1259	$(BUILDDIR)/rogue/m_medic.o \
1260	$(BUILDDIR)/rogue/m_move.o \
1261	$(BUILDDIR)/rogue/m_mutant.o \
1262	$(BUILDDIR)/rogue/m_parasite.o \
1263	$(BUILDDIR)/rogue/m_soldier.o \
1264	$(BUILDDIR)/rogue/m_stalker.o \
1265	$(BUILDDIR)/rogue/m_supertank.o \
1266	$(BUILDDIR)/rogue/m_tank.o \
1267	$(BUILDDIR)/rogue/m_turret.o \
1268	$(BUILDDIR)/rogue/m_widow.o \
1269	$(BUILDDIR)/rogue/m_widow2.o \
1270	$(BUILDDIR)/rogue/p_client.o \
1271	$(BUILDDIR)/rogue/p_hud.o \
1272	$(BUILDDIR)/rogue/p_trail.o \
1273	$(BUILDDIR)/rogue/p_view.o \
1274	$(BUILDDIR)/rogue/p_weapon.o \
1275	$(BUILDDIR)/rogue/q_shared.o
1276
1277$(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT) : $(ROGUE_OBJS)
1278	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(ROGUE_OBJS)
1279
1280$(BUILDDIR)/rogue/dm_ball.o :      $(ROGUE_DIR)/dm_ball.c
1281	$(DO_SHLIB_CC)
1282
1283$(BUILDDIR)/rogue/dm_tag.o :       $(ROGUE_DIR)/dm_tag.c
1284	$(DO_SHLIB_CC)
1285
1286$(BUILDDIR)/rogue/g_ai.o :         $(ROGUE_DIR)/g_ai.c
1287	$(DO_SHLIB_CC)
1288
1289$(BUILDDIR)/rogue/g_chase.o :      $(ROGUE_DIR)/g_chase.c
1290	$(DO_SHLIB_CC)
1291
1292$(BUILDDIR)/rogue/g_cmds.o :       $(ROGUE_DIR)/g_cmds.c
1293	$(DO_SHLIB_CC)
1294
1295$(BUILDDIR)/rogue/g_combat.o :     $(ROGUE_DIR)/g_combat.c
1296	$(DO_SHLIB_CC)
1297
1298$(BUILDDIR)/rogue/g_func.o :       $(ROGUE_DIR)/g_func.c
1299	$(DO_SHLIB_CC)
1300
1301$(BUILDDIR)/rogue/g_items.o :      $(ROGUE_DIR)/g_items.c
1302	$(DO_SHLIB_CC)
1303
1304$(BUILDDIR)/rogue/g_main.o :       $(ROGUE_DIR)/g_main.c
1305	$(DO_SHLIB_CC)
1306
1307$(BUILDDIR)/rogue/g_misc.o :       $(ROGUE_DIR)/g_misc.c
1308	$(DO_SHLIB_CC)
1309
1310$(BUILDDIR)/rogue/g_monster.o :    $(ROGUE_DIR)/g_monster.c
1311	$(DO_SHLIB_CC)
1312
1313$(BUILDDIR)/rogue/g_newai.o :      $(ROGUE_DIR)/g_newai.c
1314	$(DO_SHLIB_CC)
1315
1316$(BUILDDIR)/rogue/g_newdm.o :      $(ROGUE_DIR)/g_newdm.c
1317	$(DO_SHLIB_CC)
1318
1319$(BUILDDIR)/rogue/g_newfnc.o :     $(ROGUE_DIR)/g_newfnc.c
1320	$(DO_SHLIB_CC)
1321
1322$(BUILDDIR)/rogue/g_newtarg.o :    $(ROGUE_DIR)/g_newtarg.c
1323	$(DO_SHLIB_CC)
1324
1325$(BUILDDIR)/rogue/g_newtrig.o :    $(ROGUE_DIR)/g_newtrig.c
1326	$(DO_SHLIB_CC)
1327
1328$(BUILDDIR)/rogue/g_newweap.o :    $(ROGUE_DIR)/g_newweap.c
1329	$(DO_SHLIB_CC)
1330
1331$(BUILDDIR)/rogue/g_phys.o :       $(ROGUE_DIR)/g_phys.c
1332	$(DO_SHLIB_CC)
1333
1334$(BUILDDIR)/rogue/g_save.o :       $(ROGUE_DIR)/g_save.c
1335	$(DO_SHLIB_CC)
1336
1337$(BUILDDIR)/rogue/g_spawn.o :      $(ROGUE_DIR)/g_spawn.c
1338	$(DO_SHLIB_CC)
1339
1340$(BUILDDIR)/rogue/g_sphere.o :     $(ROGUE_DIR)/g_sphere.c
1341	$(DO_SHLIB_CC)
1342
1343$(BUILDDIR)/rogue/g_svcmds.o :     $(ROGUE_DIR)/g_svcmds.c
1344	$(DO_SHLIB_CC)
1345
1346$(BUILDDIR)/rogue/g_target.o :     $(ROGUE_DIR)/g_target.c
1347	$(DO_SHLIB_CC)
1348
1349$(BUILDDIR)/rogue/g_trigger.o :    $(ROGUE_DIR)/g_trigger.c
1350	$(DO_SHLIB_CC)
1351
1352$(BUILDDIR)/rogue/g_turret.o :     $(ROGUE_DIR)/g_turret.c
1353	$(DO_SHLIB_CC)
1354
1355$(BUILDDIR)/rogue/g_utils.o :      $(ROGUE_DIR)/g_utils.c
1356	$(DO_SHLIB_CC)
1357
1358$(BUILDDIR)/rogue/g_weapon.o :     $(ROGUE_DIR)/g_weapon.c
1359	$(DO_SHLIB_CC)
1360
1361$(BUILDDIR)/rogue/m_actor.o :      $(ROGUE_DIR)/m_actor.c
1362	$(DO_SHLIB_CC)
1363
1364$(BUILDDIR)/rogue/m_berserk.o :    $(ROGUE_DIR)/m_berserk.c
1365	$(DO_SHLIB_CC)
1366
1367$(BUILDDIR)/rogue/m_boss2.o :      $(ROGUE_DIR)/m_boss2.c
1368	$(DO_SHLIB_CC)
1369
1370$(BUILDDIR)/rogue/m_boss3.o :      $(ROGUE_DIR)/m_boss3.c
1371	$(DO_SHLIB_CC)
1372
1373$(BUILDDIR)/rogue/m_boss31.o :     $(ROGUE_DIR)/m_boss31.c
1374	$(DO_SHLIB_CC)
1375
1376$(BUILDDIR)/rogue/m_boss32.o :     $(ROGUE_DIR)/m_boss32.c
1377	$(DO_SHLIB_CC)
1378
1379$(BUILDDIR)/rogue/m_brain.o :      $(ROGUE_DIR)/m_brain.c
1380	$(DO_SHLIB_CC)
1381
1382$(BUILDDIR)/rogue/m_carrier.o :    $(ROGUE_DIR)/m_carrier.c
1383	$(DO_SHLIB_CC)
1384
1385$(BUILDDIR)/rogue/m_chick.o :      $(ROGUE_DIR)/m_chick.c
1386	$(DO_SHLIB_CC)
1387
1388$(BUILDDIR)/rogue/m_flash.o :      $(ROGUE_DIR)/m_flash.c
1389	$(DO_SHLIB_CC)
1390
1391$(BUILDDIR)/rogue/m_flipper.o :    $(ROGUE_DIR)/m_flipper.c
1392	$(DO_SHLIB_CC)
1393
1394$(BUILDDIR)/rogue/m_float.o :      $(ROGUE_DIR)/m_float.c
1395	$(DO_SHLIB_CC)
1396
1397$(BUILDDIR)/rogue/m_flyer.o :      $(ROGUE_DIR)/m_flyer.c
1398	$(DO_SHLIB_CC)
1399
1400$(BUILDDIR)/rogue/m_gladiator.o :  $(ROGUE_DIR)/m_gladiator.c
1401	$(DO_SHLIB_CC)
1402
1403$(BUILDDIR)/rogue/m_gunner.o :     $(ROGUE_DIR)/m_gunner.c
1404	$(DO_SHLIB_CC)
1405
1406$(BUILDDIR)/rogue/m_hover.o :      $(ROGUE_DIR)/m_hover.c
1407	$(DO_SHLIB_CC)
1408
1409$(BUILDDIR)/rogue/m_infantry.o :   $(ROGUE_DIR)/m_infantry.c
1410	$(DO_SHLIB_CC)
1411
1412$(BUILDDIR)/rogue/m_insane.o :     $(ROGUE_DIR)/m_insane.c
1413	$(DO_SHLIB_CC)
1414
1415$(BUILDDIR)/rogue/m_medic.o :      $(ROGUE_DIR)/m_medic.c
1416	$(DO_SHLIB_CC)
1417
1418$(BUILDDIR)/rogue/m_move.o :       $(ROGUE_DIR)/m_move.c
1419	$(DO_SHLIB_CC)
1420
1421$(BUILDDIR)/rogue/m_mutant.o :     $(ROGUE_DIR)/m_mutant.c
1422	$(DO_SHLIB_CC)
1423
1424$(BUILDDIR)/rogue/m_parasite.o :   $(ROGUE_DIR)/m_parasite.c
1425	$(DO_SHLIB_CC)
1426
1427$(BUILDDIR)/rogue/m_soldier.o :    $(ROGUE_DIR)/m_soldier.c
1428	$(DO_SHLIB_CC)
1429
1430$(BUILDDIR)/rogue/m_stalker.o :    $(ROGUE_DIR)/m_stalker.c
1431	$(DO_SHLIB_CC)
1432
1433$(BUILDDIR)/rogue/m_supertank.o :  $(ROGUE_DIR)/m_supertank.c
1434	$(DO_SHLIB_CC)
1435
1436$(BUILDDIR)/rogue/m_tank.o :       $(ROGUE_DIR)/m_tank.c
1437	$(DO_SHLIB_CC)
1438
1439$(BUILDDIR)/rogue/m_turret.o :     $(ROGUE_DIR)/m_turret.c
1440	$(DO_SHLIB_CC)
1441
1442$(BUILDDIR)/rogue/m_widow.o :      $(ROGUE_DIR)/m_widow.c
1443	$(DO_SHLIB_CC)
1444
1445$(BUILDDIR)/rogue/m_widow2.o :     $(ROGUE_DIR)/m_widow2.c
1446	$(DO_SHLIB_CC)
1447
1448$(BUILDDIR)/rogue/p_client.o :     $(ROGUE_DIR)/p_client.c
1449	$(DO_SHLIB_CC)
1450
1451$(BUILDDIR)/rogue/p_hud.o :        $(ROGUE_DIR)/p_hud.c
1452	$(DO_SHLIB_CC)
1453
1454$(BUILDDIR)/rogue/p_trail.o :      $(ROGUE_DIR)/p_trail.c
1455	$(DO_SHLIB_CC)
1456
1457$(BUILDDIR)/rogue/p_view.o :       $(ROGUE_DIR)/p_view.c
1458	$(DO_SHLIB_CC)
1459
1460$(BUILDDIR)/rogue/p_weapon.o :     $(ROGUE_DIR)/p_weapon.c
1461	$(DO_SHLIB_CC)
1462
1463$(BUILDDIR)/rogue/q_shared.o :     $(ROGUE_DIR)/q_shared.c
1464	$(DO_SHLIB_CC)
1465
1466#############################################################################
1467# REF_SOFT
1468#############################################################################
1469
1470REF_SOFT_OBJS = \
1471	$(BUILDDIR)/ref_soft/r_aclip.o \
1472	$(BUILDDIR)/ref_soft/r_alias.o \
1473	$(BUILDDIR)/ref_soft/r_bsp.o \
1474	$(BUILDDIR)/ref_soft/r_draw.o \
1475	$(BUILDDIR)/ref_soft/r_edge.o \
1476	$(BUILDDIR)/ref_soft/r_image.o \
1477	$(BUILDDIR)/ref_soft/r_light.o \
1478	$(BUILDDIR)/ref_soft/r_main.o \
1479	$(BUILDDIR)/ref_soft/r_misc.o \
1480	$(BUILDDIR)/ref_soft/r_model.o \
1481	$(BUILDDIR)/ref_soft/r_part.o \
1482	$(BUILDDIR)/ref_soft/r_poly.o \
1483	$(BUILDDIR)/ref_soft/r_polyse.o \
1484	$(BUILDDIR)/ref_soft/r_rast.o \
1485	$(BUILDDIR)/ref_soft/r_scan.o \
1486	$(BUILDDIR)/ref_soft/r_sprite.o \
1487	$(BUILDDIR)/ref_soft/r_surf.o \
1488	\
1489	$(BUILDDIR)/ref_soft/q_shared.o \
1490	$(BUILDDIR)/ref_soft/q_shsolaris.o \
1491	$(BUILDDIR)/ref_soft/glob.o
1492
1493REF_SOFT_SDL_OBJS = \
1494	$(BUILDDIR)/ref_soft/rw_sdl.o
1495
1496REF_SOFT_X11_OBJS = \
1497	$(BUILDDIR)/ref_soft/rw_x11.o
1498
1499REF_SOFT_XIL_OBJS = \
1500	$(BUILDDIR)/ref_soft/rw_xil.o
1501
1502REF_SOFT_CORONA_OBJS = \
1503	$(BUILDDIR)/ref_soft/rw_corona.o \
1504	$(BUILDDIR)/ref_soft/newt.o \
1505	$(BUILDDIR)/ref_soft/ndga.o
1506
1507$(BUILDDIR)/ref_softx.$(SHLIBEXT) : $(REF_SOFT_OBJS) $(REF_SOFT_X11_OBJS)
1508	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_SOFT_OBJS) \
1509		$(REF_SOFT_X11_OBJS) $(XLDFLAGS)
1510
1511$(BUILDDIR)/ref_softsdl.$(SHLIBEXT) : $(REF_SOFT_OBJS) $(REF_SOFT_SDL_OBJS)
1512	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_SOFT_OBJS) \
1513		$(REF_SOFT_SDL_OBJS) $(SDLLDFLAGS)
1514
1515$(BUILDDIR)/ref_xil.$(SHLIBEXT) : $(REF_SOFT_OBJS) $(REF_SOFT_XIL_OBJS)
1516	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_SOFT_OBJS) \
1517		$(REF_SOFT_XIL_OBJS) $(XLDFLAGS) $(XILLDFLAGS)
1518
1519$(BUILDDIR)/ref_corona.$(SHLIBEXT) : $(REF_SOFT_OBJS) $(REF_SOFT_CORONA_OBJS)
1520	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_SOFT_OBJS) \
1521		$(REF_SOFT_CORONA_OBJS) $(CORONALDFLAGS)
1522
1523$(BUILDDIR)/ref_soft/r_aclip.o :      $(REF_SOFT_DIR)/r_aclip.c
1524	$(DO_SHLIB_CC)
1525
1526$(BUILDDIR)/ref_soft/r_alias.o :      $(REF_SOFT_DIR)/r_alias.c
1527	$(DO_SHLIB_CC)
1528
1529$(BUILDDIR)/ref_soft/r_bsp.o :        $(REF_SOFT_DIR)/r_bsp.c
1530	$(DO_SHLIB_CC)
1531
1532$(BUILDDIR)/ref_soft/r_draw.o :       $(REF_SOFT_DIR)/r_draw.c
1533	$(DO_SHLIB_CC)
1534
1535$(BUILDDIR)/ref_soft/r_edge.o :       $(REF_SOFT_DIR)/r_edge.c
1536	$(DO_SHLIB_CC)
1537
1538$(BUILDDIR)/ref_soft/r_image.o :      $(REF_SOFT_DIR)/r_image.c
1539	$(DO_SHLIB_CC)
1540
1541$(BUILDDIR)/ref_soft/r_light.o :      $(REF_SOFT_DIR)/r_light.c
1542	$(DO_SHLIB_CC)
1543
1544$(BUILDDIR)/ref_soft/r_main.o :       $(REF_SOFT_DIR)/r_main.c
1545	$(DO_SHLIB_CC)
1546
1547$(BUILDDIR)/ref_soft/r_misc.o :       $(REF_SOFT_DIR)/r_misc.c
1548	$(DO_SHLIB_CC)
1549
1550$(BUILDDIR)/ref_soft/r_model.o :      $(REF_SOFT_DIR)/r_model.c
1551	$(DO_SHLIB_CC)
1552
1553$(BUILDDIR)/ref_soft/r_part.o :       $(REF_SOFT_DIR)/r_part.c
1554	$(DO_SHLIB_CC)
1555
1556$(BUILDDIR)/ref_soft/r_poly.o :       $(REF_SOFT_DIR)/r_poly.c
1557	$(DO_SHLIB_CC)
1558
1559$(BUILDDIR)/ref_soft/r_polyse.o :     $(REF_SOFT_DIR)/r_polyse.c
1560	$(DO_SHLIB_CC)
1561
1562$(BUILDDIR)/ref_soft/r_rast.o :       $(REF_SOFT_DIR)/r_rast.c
1563	$(DO_SHLIB_CC)
1564
1565$(BUILDDIR)/ref_soft/r_scan.o :       $(REF_SOFT_DIR)/r_scan.c
1566	$(DO_SHLIB_CC)
1567
1568$(BUILDDIR)/ref_soft/r_sprite.o :     $(REF_SOFT_DIR)/r_sprite.c
1569	$(DO_SHLIB_CC)
1570
1571$(BUILDDIR)/ref_soft/r_surf.o :       $(REF_SOFT_DIR)/r_surf.c
1572	$(DO_SHLIB_CC)
1573
1574$(BUILDDIR)/ref_soft/q_shared.o :     $(GAME_DIR)/q_shared.c
1575	$(DO_SHLIB_CC)
1576
1577$(BUILDDIR)/ref_soft/glob.o :           $(SOLARIS_DIR)/glob.c
1578	$(DO_SHLIB_CC)
1579
1580$(BUILDDIR)/client/vid_menu.o :       $(SOLARIS_DIR)/vid_menu.c
1581	$(DO_SHLIB_CC)
1582
1583$(BUILDDIR)/client/vid_so.o :         $(SOLARIS_DIR)/vid_so.c
1584	$(DO_SHLIB_CC)
1585
1586$(BUILDDIR)/client/snd_solaris.o :    $(SOLARIS_DIR)/snd_solaris.c
1587	$(DO_SHLIB_CC)
1588
1589$(BUILDDIR)/ref_soft/rw_x11.o :       $(SOLARIS_DIR)/rw_x11.c
1590	$(DO_SHLIB_CC)
1591
1592$(BUILDDIR)/client/cd_solaris.o :     $(SOLARIS_DIR)/cd_solaris.c
1593	$(DO_SHLIB_CC)
1594
1595$(BUILDDIR)/ref_soft/q_shsolaris.o :    $(SOLARIS_DIR)/q_shsolaris.c
1596	$(DO_SHLIB_CC)
1597
1598$(BUILDDIR)/ref_soft/rw_xil.o :       $(SOLARIS_DIR)/rw_xil.c
1599	$(DO_SHLIB_CC)
1600
1601$(BUILDDIR)/ref_soft/rw_corona.o :    $(SOLARIS_DIR)/rw_corona.c
1602	$(DO_CC) $(CORONACFLAGS)
1603
1604$(BUILDDIR)/ref_soft/newt.o :         $(SOLARIS_DIR)/newt.c
1605	$(DO_CC) $(CORONACFLAGS)
1606
1607$(BUILDDIR)/ref_soft/ndga.o :         $(SOLARIS_DIR)/ndga.c
1608	$(DO_CC) $(CORONACFLAGS)
1609
1610$(BUILDDIR)/client/cd_sdl.o :     $(SOLARIS_DIR)/cd_sdl.c
1611	$(DO_CC) $(SDLCFLAGS)
1612
1613$(BUILDDIR)/client/snd_sdl.o :     $(SOLARIS_DIR)/snd_sdl.c
1614	$(DO_CC) $(SDLCFLAGS)
1615
1616$(BUILDDIR)/ref_soft/rw_sdl.o :         $(SOLARIS_DIR)/rw_sdl.c
1617	$(DO_GL_SHLIB_CC) $(SDLCFLAGS)
1618
1619#############################################################################
1620# REF_GL
1621#############################################################################
1622
1623REF_GL_OBJS = \
1624	$(BUILDDIR)/ref_gl/gl_draw.o \
1625	$(BUILDDIR)/ref_gl/gl_image.o \
1626	$(BUILDDIR)/ref_gl/gl_light.o \
1627	$(BUILDDIR)/ref_gl/gl_mesh.o \
1628	$(BUILDDIR)/ref_gl/gl_model.o \
1629	$(BUILDDIR)/ref_gl/gl_rmain.o \
1630	$(BUILDDIR)/ref_gl/gl_rmisc.o \
1631	$(BUILDDIR)/ref_gl/gl_rsurf.o \
1632	$(BUILDDIR)/ref_gl/gl_warp.o \
1633	\
1634	$(BUILDDIR)/ref_gl/qgl_solaris.o \
1635	$(BUILDDIR)/ref_gl/q_shared.o \
1636	$(BUILDDIR)/ref_gl/q_shsolaris.o \
1637	$(BUILDDIR)/ref_gl/glob.o
1638
1639REF_GLX_OBJS = \
1640	$(BUILDDIR)/ref_gl/gl_glx.o
1641
1642REF_SDLGL_OBJS = \
1643	$(BUILDDIR)/ref_gl/rw_sdl.o
1644
1645$(BUILDDIR)/ref_glx.$(SHLIBEXT) : $(REF_GL_OBJS) $(REF_GLX_OBJS)
1646	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_GL_OBJS) $(REF_GLX_OBJS) $(GLXLDFLAGS)
1647
1648$(BUILDDIR)/ref_sdlgl.$(SHLIBEXT) : $(REF_GL_OBJS) $(REF_SDLGL_OBJS)
1649	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_GL_OBJS) $(REF_SDLGL_OBJS) $(SDLGLLDFLAGS)
1650
1651$(BUILDDIR)/ref_gl/gl_draw.o :        $(REF_GL_DIR)/gl_draw.c
1652	$(DO_GL_SHLIB_CC)
1653
1654$(BUILDDIR)/ref_gl/gl_image.o :       $(REF_GL_DIR)/gl_image.c
1655	$(DO_GL_SHLIB_CC)
1656
1657$(BUILDDIR)/ref_gl/gl_light.o :       $(REF_GL_DIR)/gl_light.c
1658	$(DO_GL_SHLIB_CC)
1659
1660$(BUILDDIR)/ref_gl/gl_mesh.o :        $(REF_GL_DIR)/gl_mesh.c
1661	$(DO_GL_SHLIB_CC)
1662
1663$(BUILDDIR)/ref_gl/gl_model.o :       $(REF_GL_DIR)/gl_model.c
1664	$(DO_GL_SHLIB_CC)
1665
1666$(BUILDDIR)/ref_gl/gl_rmain.o :       $(REF_GL_DIR)/gl_rmain.c
1667	$(DO_GL_SHLIB_CC)
1668
1669$(BUILDDIR)/ref_gl/gl_rmisc.o :       $(REF_GL_DIR)/gl_rmisc.c
1670	$(DO_GL_SHLIB_CC)
1671
1672$(BUILDDIR)/ref_gl/gl_rsurf.o :       $(REF_GL_DIR)/gl_rsurf.c
1673	$(DO_GL_SHLIB_CC)
1674
1675$(BUILDDIR)/ref_gl/gl_warp.o :        $(REF_GL_DIR)/gl_warp.c
1676	$(DO_GL_SHLIB_CC)
1677
1678$(BUILDDIR)/ref_gl/qgl_solaris.o :    $(SOLARIS_DIR)/qgl_solaris.c
1679	$(DO_GL_SHLIB_CC)
1680
1681$(BUILDDIR)/ref_gl/gl_glx.o :         $(SOLARIS_DIR)/gl_glx.c
1682	$(DO_GL_SHLIB_CC)
1683
1684$(BUILDDIR)/ref_gl/q_shared.o :       $(GAME_DIR)/q_shared.c
1685	$(DO_GL_SHLIB_CC)
1686
1687$(BUILDDIR)/ref_gl/q_shsolaris.o :    $(SOLARIS_DIR)/q_shsolaris.c
1688	$(DO_GL_SHLIB_CC)
1689
1690$(BUILDDIR)/ref_gl/glob.o :           $(SOLARIS_DIR)/glob.c
1691	$(DO_GL_SHLIB_CC)
1692
1693$(BUILDDIR)/ref_gl/rw_sdl.o :         $(SOLARIS_DIR)/rw_sdl.c
1694	$(DO_GL_SHLIB_CC) $(SDLGLCFLAGS)
1695
1696#############################################################################
1697# SOLARIS PACKAGE
1698#############################################################################
1699
1700$(BUILDDIR)/pkg/$(SOLARIS_PKGFILE) : $(PKG_TARGETS)
1701	$(RM) -f $(BUILDDIR)/pkg/$(SOLARIS_PKGFILE)
1702	$(TOUCH) $(BUILDDIR)/pkg/$(SOLARIS_PKGFILE)
1703	$(SED) -e "/VERSION=/s/.*/VERSION=$(PKG_VERSION)/" \
1704		< $(PKG_SRC_DIR)/pkginfo.template \
1705		> $(PKG_SRC_DIR)/pkginfo
1706	$(CAT) $(PKG_SRC_DIR)/prototype.template > $(PKG_SRC_DIR)/prototype
1707	$(PKGPROTO) $(PKG_BUILD_DIR)=quake2 | \
1708		$(NAWK) '{ print $$1,$$2,$$3,$$4 }' >> $(PKG_SRC_DIR)/prototype
1709	$(PKGMK) -o -p "$(PKG_MAINT_ID)$(BUILD_DATE)" \
1710		-b $(PKG_SRC_DIR) -f $(PKG_SRC_DIR)/prototype \
1711		-d /tmp -a $(ARCH) owner=root group=bin mode=0755
1712	$(PKGTRANS) -s /tmp $(BUILDDIR)/pkg/$(SOLARIS_PKGFILE) $(PKG_SOLARIS_NAME)
1713
1714$(BUILDDIR)/pkg/$(DATA_PKGFILE): $(BUILDDIR)/pkg/$(SOLARIS_PKGFILE)
1715	$(RM) -f $(BUILDDIR)/pkg/$(DATA_PKGFILE)
1716	$(TOUCH) $(BUILDDIR)/pkg/$(DATA_PKGFILE)
1717	$(SED) -e "/VERSION=/s/.*/VERSION=$(PKG_VERSION)/" \
1718		< $(PKG_DATA_SRC_DIR)/pkginfo.template \
1719		> $(PKG_DATA_SRC_DIR)/pkginfo
1720	$(CAT) $(PKG_DATA_SRC_DIR)/prototype.template > $(PKG_DATA_SRC_DIR)/prototype
1721	$(PKGPROTO) $(PKG_DATA_BUILD_DIR)=quake2 | \
1722		$(NAWK) '{ print $$1,$$2,$$3,$$4 }' >> $(PKG_DATA_SRC_DIR)/prototype
1723	$(PKGMK) -o -p "$(PKG_MAINT_ID)$(BUILD_DATE)" \
1724		-b $(PKG_DATA_SRC_DIR) -f $(PKG_DATA_SRC_DIR)/prototype \
1725		-d /tmp -a $(ARCH) owner=root group=bin mode=0755
1726	$(PKGTRANS) -s /tmp $(BUILDDIR)/pkg/$(DATA_PKGFILE) $(PKG_DATA_NAME)
1727
1728$(PKG_BUILD_DIR)/README: $(MOUNT_DIR)/../README
1729	$(DO_INSTALL_DATA)
1730
1731$(PKG_BUILD_DIR)/README.Solaris: $(MOUNT_DIR)/../README.Solaris
1732	$(DO_INSTALL_DATA)
1733
1734$(PKG_BUILD_DIR)/q2_x11.sh: $(MOUNT_DIR)/solaris/pkg/q2_x11.sh
1735	$(DO_INSTALL_BIN)
1736
1737$(PKG_BUILD_DIR)/q2_xil.sh: $(MOUNT_DIR)/solaris/pkg/q2_xil.sh
1738	$(DO_INSTALL_BIN)
1739
1740$(PKG_BUILD_DIR)/q2_glx.sh: $(MOUNT_DIR)/solaris/pkg/q2_glx.sh
1741	$(DO_INSTALL_BIN)
1742
1743$(PKG_BUILD_DIR)/q2ded: $(BUILDDIR)/q2ded
1744	$(DO_INSTALL_BIN)
1745
1746$(PKG_BUILD_DIR)/q2ded: $(BUILDDIR)/q2ded
1747	$(DO_INSTALL_BIN)
1748
1749$(PKG_BUILD_DIR)/quake2: $(BUILDDIR)/quake2
1750	$(DO_INSTALL_BIN)
1751
1752$(PKG_BUILD_DIR)/baseq2/game$(ARCH).$(SHLIBEXT): $(BUILDDIR)/game$(ARCH).$(SHLIBEXT)
1753	$(DO_INSTALL_BIN)
1754
1755$(PKG_BUILD_DIR)/q2ded: $(BUILDDIR)/q2ded
1756	$(DO_INSTALL_BIN)
1757
1758$(PKG_BUILD_DIR)/ctf/game$(ARCH).$(SHLIBEXT): $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
1759	$(DO_INSTALL_BIN)
1760
1761$(PKG_BUILD_DIR)/xatrix/game$(ARCH).$(SHLIBEXT): $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
1762	$(DO_INSTALL_BIN)
1763
1764$(PKG_BUILD_DIR)/rogue/game$(ARCH).$(SHLIBEXT): $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
1765	$(DO_INSTALL_BIN)
1766
1767$(PKG_BUILD_DIR)/sdlquake2: $(BUILDDIR)/sdlquake2
1768	$(DO_INSTALL_BIN)
1769
1770$(PKG_BUILD_DIR)/ref_softx.$(SHLIBEXT): $(BUILDDIR)/ref_softx.$(SHLIBEXT)
1771	$(DO_INSTALL_BIN)
1772
1773$(PKG_BUILD_DIR)/ref_glx.$(SHLIBEXT): $(BUILDDIR)/ref_glx.$(SHLIBEXT)
1774	$(DO_INSTALL_BIN)
1775
1776$(PKG_BUILD_DIR)/ref_softsdl.$(SHLIBEXT): $(BUILDDIR)/ref_softsdl.$(SHLIBEXT)
1777	$(DO_INSTALL_BIN)
1778
1779$(PKG_BUILD_DIR)/ref_sdlgl.$(SHLIBEXT): $(BUILDDIR)/ref_sdlgl.$(SHLIBEXT)
1780	$(DO_INSTALL_BIN)
1781
1782$(PKG_BUILD_DIR)/ref_xil.$(SHLIBEXT): $(BUILDDIR)/ref_xil.$(SHLIBEXT)
1783	$(DO_INSTALL_BIN)
1784
1785$(PKG_BUILD_DIR)/ref_corona.$(SHLIBEXT): $(BUILDDIR)/ref_corona.$(SHLIBEXT)
1786	$(DO_INSTALL_BIN)
1787
1788#############################################################################
1789# MISC
1790#############################################################################
1791
1792clean: clean-debug clean-release
1793
1794clean-debug:
1795	$(MAKE) -f Makefile.Solaris clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
1796
1797clean-release:
1798	$(MAKE) -f Makefile.Solaris clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
1799
1800clean2:
1801	rm -f \
1802	$(QUAKE2_OBJS) \
1803	$(QUAKE2_AS_OBJS) \
1804	$(GAME_OBJS) \
1805	$(CTF_OBJS) \
1806	$(XATRIX_OBJS) \
1807	$(REF_SOFT_OBJS) \
1808	$(REF_SOFT_SVGA_OBJS) \
1809	$(REF_SOFT_X11_OBJS) \
1810	$(REF_GL_OBJS)
1811
1812distclean:
1813	@-rm -rf $(BUILD_DEBUG_DIR) $(BUILD_RELEASE_DIR)
1814	@-rm -f `find . \( -not -type d \) -and \
1815		\( -name '*~' \) -type f -print`
1816