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