1#
2# Quake2 Makefile for Solaris
3#
4# Nov '97 by Zoid <zoid@idsoftware.com>
5#
6# ELF only
7#
8
9VERSION=3.20
10
11ifneq (,$(findstring i86pc,$(shell uname -m)))
12ARCH=i386
13else
14ARCH=sparc
15endif
16
17MOUNT_DIR=/grog/Projects/Quake2/code
18
19BUILD_DEBUG_DIR=debug$(ARCH)
20BUILD_RELEASE_DIR=release$(ARCH)
21CLIENT_DIR=$(MOUNT_DIR)/client
22SERVER_DIR=$(MOUNT_DIR)/server
23COMMON_DIR=$(MOUNT_DIR)/qcommon
24SOLARIS_DIR=$(MOUNT_DIR)/solaris
25GAME_DIR=$(MOUNT_DIR)/game
26CTF_DIR=$(MOUNT_DIR)/ctf
27XATRIX_DIR=$(MOUNT_DIR)/xatrix
28ROGUE_DIR=$(MOUNT_DIR)/rogue
29NULL_DIR=$(MOUNT_DIR)/null
30
31CC=gcc
32BASE_CFLAGS=-Dstricmp=strcasecmp -DC_ONLY -DDEDICATED_ONLY
33RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
34	-fomit-frame-pointer -fexpensive-optimizations
35
36DEBUG_CFLAGS=$(BASE_CFLAGS) -g
37LDFLAGS=-ldl -lm -lsocket -lnsl
38
39SHLIBEXT=so
40
41SHLIBCFLAGS=-fPIC
42SHLIBLDFLAGS=-shared
43
44DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
45DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
46
47#############################################################################
48# SETUP AND BUILD
49#############################################################################
50
51TARGETS=$(BUILDDIR)/q2ded \
52	$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) \
53	$(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) \
54	$(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) \
55	$(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
56
57build_debug:
58	@-mkdir $(BUILD_DEBUG_DIR) \
59		$(BUILD_DEBUG_DIR)/client \
60		$(BUILD_DEBUG_DIR)/game \
61		$(BUILD_DEBUG_DIR)/ctf \
62		$(BUILD_DEBUG_DIR)/xatrix \
63		$(BUILD_DEBUG_DIR)/rogue
64	$(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
65
66build_release:
67	@-mkdir $(BUILD_RELEASE_DIR) \
68		$(BUILD_RELEASE_DIR)/client \
69		$(BUILD_RELEASE_DIR)/game \
70		$(BUILD_RELEASE_DIR)/ctf \
71		$(BUILD_RELEASE_DIR)/xatrix \
72		$(BUILD_RELEASE_DIR)/rogue
73	$(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
74
75all: build_debug build_release
76
77targets: $(TARGETS)
78
79#############################################################################
80# CLIENT/SERVER
81#############################################################################
82
83QUAKE2_OBJS = \
84	\
85	$(BUILDDIR)/client/cmd.o \
86	$(BUILDDIR)/client/cmodel.o \
87	$(BUILDDIR)/client/common.o \
88	$(BUILDDIR)/client/crc.o \
89	$(BUILDDIR)/client/cvar.o \
90	$(BUILDDIR)/client/files.o \
91	$(BUILDDIR)/client/md4.o \
92	$(BUILDDIR)/client/net_chan.o \
93	\
94	$(BUILDDIR)/client/sv_ccmds.o \
95	$(BUILDDIR)/client/sv_ents.o \
96	$(BUILDDIR)/client/sv_game.o \
97	$(BUILDDIR)/client/sv_init.o \
98	$(BUILDDIR)/client/sv_main.o \
99	$(BUILDDIR)/client/sv_send.o \
100	$(BUILDDIR)/client/sv_user.o \
101	$(BUILDDIR)/client/sv_world.o \
102	\
103	$(BUILDDIR)/client/q_shsolaris.o \
104	$(BUILDDIR)/client/sys_solaris.o \
105	$(BUILDDIR)/client/glob.o \
106	$(BUILDDIR)/client/net_udp.o \
107	\
108	$(BUILDDIR)/client/q_shared.o \
109	$(BUILDDIR)/client/pmove.o \
110	\
111	$(BUILDDIR)/client/cl_null.o \
112	$(BUILDDIR)/client/cd_null.o
113
114$(BUILDDIR)/q2ded : $(QUAKE2_OBJS)
115	$(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(LDFLAGS)
116
117$(BUILDDIR)/client/cmd.o :        $(COMMON_DIR)/cmd.c
118	$(DO_CC)
119
120$(BUILDDIR)/client/cmodel.o :     $(COMMON_DIR)/cmodel.c
121	$(DO_CC)
122
123$(BUILDDIR)/client/common.o :     $(COMMON_DIR)/common.c
124	$(DO_CC)
125
126$(BUILDDIR)/client/crc.o :        $(COMMON_DIR)/crc.c
127	$(DO_CC)
128
129$(BUILDDIR)/client/cvar.o :       $(COMMON_DIR)/cvar.c
130	$(DO_CC)
131
132$(BUILDDIR)/client/files.o :      $(COMMON_DIR)/files.c
133	$(DO_CC)
134
135$(BUILDDIR)/client/md4.o :        $(COMMON_DIR)/md4.c
136	$(DO_CC)
137
138$(BUILDDIR)/client/net_chan.o :   $(COMMON_DIR)/net_chan.c
139	$(DO_CC)
140
141$(BUILDDIR)/client/q_shared.o :   $(GAME_DIR)/q_shared.c
142	$(DO_CC)
143
144$(BUILDDIR)/client/pmove.o :      $(COMMON_DIR)/pmove.c
145	$(DO_CC)
146
147$(BUILDDIR)/client/sv_ccmds.o :   $(SERVER_DIR)/sv_ccmds.c
148	$(DO_CC)
149
150$(BUILDDIR)/client/sv_ents.o :    $(SERVER_DIR)/sv_ents.c
151	$(DO_CC)
152
153$(BUILDDIR)/client/sv_game.o :    $(SERVER_DIR)/sv_game.c
154	$(DO_CC)
155
156$(BUILDDIR)/client/sv_init.o :    $(SERVER_DIR)/sv_init.c
157	$(DO_CC)
158
159$(BUILDDIR)/client/sv_main.o :    $(SERVER_DIR)/sv_main.c
160	$(DO_CC)
161
162$(BUILDDIR)/client/sv_send.o :    $(SERVER_DIR)/sv_send.c
163	$(DO_CC)
164
165$(BUILDDIR)/client/sv_user.o :    $(SERVER_DIR)/sv_user.c
166	$(DO_CC)
167
168$(BUILDDIR)/client/sv_world.o :   $(SERVER_DIR)/sv_world.c
169	$(DO_CC)
170
171$(BUILDDIR)/client/q_shsolaris.o :  $(SOLARIS_DIR)/q_shsolaris.c
172	$(DO_CC)
173
174$(BUILDDIR)/client/sys_solaris.o :  $(SOLARIS_DIR)/sys_solaris.c
175	$(DO_CC)
176
177$(BUILDDIR)/client/glob.o :       $(SOLARIS_DIR)/glob.c
178	$(DO_CC)
179
180$(BUILDDIR)/client/net_udp.o :    $(SOLARIS_DIR)/net_udp.c
181	$(DO_CC)
182
183$(BUILDDIR)/client/cd_null.o     : $(NULL_DIR)/cd_null.c
184	$(DO_CC)
185
186$(BUILDDIR)/client/cl_null.o     : $(NULL_DIR)/cl_null.c
187	$(DO_CC)
188
189#############################################################################
190# GAME
191#############################################################################
192
193GAME_OBJS = \
194	$(BUILDDIR)/game/g_ai.o \
195	$(BUILDDIR)/game/p_client.o \
196	$(BUILDDIR)/game/g_cmds.o \
197	$(BUILDDIR)/game/g_svcmds.o \
198	$(BUILDDIR)/game/g_chase.o \
199	$(BUILDDIR)/game/g_combat.o \
200	$(BUILDDIR)/game/g_func.o \
201	$(BUILDDIR)/game/g_items.o \
202	$(BUILDDIR)/game/g_main.o \
203	$(BUILDDIR)/game/g_misc.o \
204	$(BUILDDIR)/game/g_monster.o \
205	$(BUILDDIR)/game/g_phys.o \
206	$(BUILDDIR)/game/g_save.o \
207	$(BUILDDIR)/game/g_spawn.o \
208	$(BUILDDIR)/game/g_target.o \
209	$(BUILDDIR)/game/g_trigger.o \
210	$(BUILDDIR)/game/g_turret.o \
211	$(BUILDDIR)/game/g_utils.o \
212	$(BUILDDIR)/game/g_weapon.o \
213	$(BUILDDIR)/game/m_actor.o \
214	$(BUILDDIR)/game/m_berserk.o \
215	$(BUILDDIR)/game/m_boss2.o \
216	$(BUILDDIR)/game/m_boss3.o \
217	$(BUILDDIR)/game/m_boss31.o \
218	$(BUILDDIR)/game/m_boss32.o \
219	$(BUILDDIR)/game/m_brain.o \
220	$(BUILDDIR)/game/m_chick.o \
221	$(BUILDDIR)/game/m_flipper.o \
222	$(BUILDDIR)/game/m_float.o \
223	$(BUILDDIR)/game/m_flyer.o \
224	$(BUILDDIR)/game/m_gladiator.o \
225	$(BUILDDIR)/game/m_gunner.o \
226	$(BUILDDIR)/game/m_hover.o \
227	$(BUILDDIR)/game/m_infantry.o \
228	$(BUILDDIR)/game/m_insane.o \
229	$(BUILDDIR)/game/m_medic.o \
230	$(BUILDDIR)/game/m_move.o \
231	$(BUILDDIR)/game/m_mutant.o \
232	$(BUILDDIR)/game/m_parasite.o \
233	$(BUILDDIR)/game/m_soldier.o \
234	$(BUILDDIR)/game/m_supertank.o \
235	$(BUILDDIR)/game/m_tank.o \
236	$(BUILDDIR)/game/p_hud.o \
237	$(BUILDDIR)/game/p_trail.o \
238	$(BUILDDIR)/game/p_view.o \
239	$(BUILDDIR)/game/p_weapon.o \
240	$(BUILDDIR)/game/q_shared.o \
241	$(BUILDDIR)/game/m_flash.o
242
243$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
244	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
245
246$(BUILDDIR)/game/g_ai.o :        $(GAME_DIR)/g_ai.c
247	$(DO_SHLIB_CC)
248
249$(BUILDDIR)/game/p_client.o :    $(GAME_DIR)/p_client.c
250	$(DO_SHLIB_CC)
251
252$(BUILDDIR)/game/g_cmds.o :      $(GAME_DIR)/g_cmds.c
253	$(DO_SHLIB_CC)
254
255$(BUILDDIR)/game/g_svcmds.o :    $(GAME_DIR)/g_svcmds.c
256	$(DO_SHLIB_CC)
257
258$(BUILDDIR)/game/g_chase.o :    $(GAME_DIR)/g_chase.c
259	$(DO_SHLIB_CC)
260
261$(BUILDDIR)/game/g_combat.o :    $(GAME_DIR)/g_combat.c
262	$(DO_SHLIB_CC)
263
264$(BUILDDIR)/game/g_func.o :      $(GAME_DIR)/g_func.c
265	$(DO_SHLIB_CC)
266
267$(BUILDDIR)/game/g_items.o :     $(GAME_DIR)/g_items.c
268	$(DO_SHLIB_CC)
269
270$(BUILDDIR)/game/g_main.o :      $(GAME_DIR)/g_main.c
271	$(DO_SHLIB_CC)
272
273$(BUILDDIR)/game/g_misc.o :      $(GAME_DIR)/g_misc.c
274	$(DO_SHLIB_CC)
275
276$(BUILDDIR)/game/g_monster.o :   $(GAME_DIR)/g_monster.c
277	$(DO_SHLIB_CC)
278
279$(BUILDDIR)/game/g_phys.o :      $(GAME_DIR)/g_phys.c
280	$(DO_SHLIB_CC)
281
282$(BUILDDIR)/game/g_save.o :      $(GAME_DIR)/g_save.c
283	$(DO_SHLIB_CC)
284
285$(BUILDDIR)/game/g_spawn.o :     $(GAME_DIR)/g_spawn.c
286	$(DO_SHLIB_CC)
287
288$(BUILDDIR)/game/g_target.o :    $(GAME_DIR)/g_target.c
289	$(DO_SHLIB_CC)
290
291$(BUILDDIR)/game/g_trigger.o :   $(GAME_DIR)/g_trigger.c
292	$(DO_SHLIB_CC)
293
294$(BUILDDIR)/game/g_turret.o :    $(GAME_DIR)/g_turret.c
295	$(DO_SHLIB_CC)
296
297$(BUILDDIR)/game/g_utils.o :     $(GAME_DIR)/g_utils.c
298	$(DO_SHLIB_CC)
299
300$(BUILDDIR)/game/g_weapon.o :    $(GAME_DIR)/g_weapon.c
301	$(DO_SHLIB_CC)
302
303$(BUILDDIR)/game/m_actor.o :     $(GAME_DIR)/m_actor.c
304	$(DO_SHLIB_CC)
305
306$(BUILDDIR)/game/m_berserk.o :   $(GAME_DIR)/m_berserk.c
307	$(DO_SHLIB_CC)
308
309$(BUILDDIR)/game/m_boss2.o :     $(GAME_DIR)/m_boss2.c
310	$(DO_SHLIB_CC)
311
312$(BUILDDIR)/game/m_boss3.o :     $(GAME_DIR)/m_boss3.c
313	$(DO_SHLIB_CC)
314
315$(BUILDDIR)/game/m_boss31.o :     $(GAME_DIR)/m_boss31.c
316	$(DO_SHLIB_CC)
317
318$(BUILDDIR)/game/m_boss32.o :     $(GAME_DIR)/m_boss32.c
319	$(DO_SHLIB_CC)
320
321$(BUILDDIR)/game/m_brain.o :     $(GAME_DIR)/m_brain.c
322	$(DO_SHLIB_CC)
323
324$(BUILDDIR)/game/m_chick.o :     $(GAME_DIR)/m_chick.c
325	$(DO_SHLIB_CC)
326
327$(BUILDDIR)/game/m_flipper.o :   $(GAME_DIR)/m_flipper.c
328	$(DO_SHLIB_CC)
329
330$(BUILDDIR)/game/m_float.o :     $(GAME_DIR)/m_float.c
331	$(DO_SHLIB_CC)
332
333$(BUILDDIR)/game/m_flyer.o :     $(GAME_DIR)/m_flyer.c
334	$(DO_SHLIB_CC)
335
336$(BUILDDIR)/game/m_gladiator.o : $(GAME_DIR)/m_gladiator.c
337	$(DO_SHLIB_CC)
338
339$(BUILDDIR)/game/m_gunner.o :    $(GAME_DIR)/m_gunner.c
340	$(DO_SHLIB_CC)
341
342$(BUILDDIR)/game/m_hover.o :     $(GAME_DIR)/m_hover.c
343	$(DO_SHLIB_CC)
344
345$(BUILDDIR)/game/m_infantry.o :  $(GAME_DIR)/m_infantry.c
346	$(DO_SHLIB_CC)
347
348$(BUILDDIR)/game/m_insane.o :    $(GAME_DIR)/m_insane.c
349	$(DO_SHLIB_CC)
350
351$(BUILDDIR)/game/m_medic.o :     $(GAME_DIR)/m_medic.c
352	$(DO_SHLIB_CC)
353
354$(BUILDDIR)/game/m_move.o :      $(GAME_DIR)/m_move.c
355	$(DO_SHLIB_CC)
356
357$(BUILDDIR)/game/m_mutant.o :    $(GAME_DIR)/m_mutant.c
358	$(DO_SHLIB_CC)
359
360$(BUILDDIR)/game/m_parasite.o :  $(GAME_DIR)/m_parasite.c
361	$(DO_SHLIB_CC)
362
363$(BUILDDIR)/game/m_soldier.o :   $(GAME_DIR)/m_soldier.c
364	$(DO_SHLIB_CC)
365
366$(BUILDDIR)/game/m_supertank.o : $(GAME_DIR)/m_supertank.c
367	$(DO_SHLIB_CC)
368
369$(BUILDDIR)/game/m_tank.o :      $(GAME_DIR)/m_tank.c
370	$(DO_SHLIB_CC)
371
372$(BUILDDIR)/game/p_hud.o :       $(GAME_DIR)/p_hud.c
373	$(DO_SHLIB_CC)
374
375$(BUILDDIR)/game/p_trail.o :     $(GAME_DIR)/p_trail.c
376	$(DO_SHLIB_CC)
377
378$(BUILDDIR)/game/p_view.o :      $(GAME_DIR)/p_view.c
379	$(DO_SHLIB_CC)
380
381$(BUILDDIR)/game/p_weapon.o :    $(GAME_DIR)/p_weapon.c
382	$(DO_SHLIB_CC)
383
384$(BUILDDIR)/game/q_shared.o :    $(GAME_DIR)/q_shared.c
385	$(DO_SHLIB_CC)
386
387$(BUILDDIR)/game/m_flash.o :     $(GAME_DIR)/m_flash.c
388	$(DO_SHLIB_CC)
389
390#############################################################################
391# CTF
392#############################################################################
393
394CTF_OBJS = \
395	$(BUILDDIR)/ctf/g_ai.o \
396	$(BUILDDIR)/ctf/g_chase.o \
397	$(BUILDDIR)/ctf/g_cmds.o \
398	$(BUILDDIR)/ctf/g_combat.o \
399	$(BUILDDIR)/ctf/g_ctf.o \
400	$(BUILDDIR)/ctf/g_func.o \
401	$(BUILDDIR)/ctf/g_items.o \
402	$(BUILDDIR)/ctf/g_main.o \
403	$(BUILDDIR)/ctf/g_misc.o \
404	$(BUILDDIR)/ctf/g_monster.o \
405	$(BUILDDIR)/ctf/g_phys.o \
406	$(BUILDDIR)/ctf/g_save.o \
407	$(BUILDDIR)/ctf/g_spawn.o \
408	$(BUILDDIR)/ctf/g_svcmds.o \
409	$(BUILDDIR)/ctf/g_target.o \
410	$(BUILDDIR)/ctf/g_trigger.o \
411	$(BUILDDIR)/ctf/g_utils.o \
412	$(BUILDDIR)/ctf/g_weapon.o \
413	$(BUILDDIR)/ctf/m_move.o \
414	$(BUILDDIR)/ctf/p_client.o \
415	$(BUILDDIR)/ctf/p_hud.o \
416	$(BUILDDIR)/ctf/p_menu.o \
417	$(BUILDDIR)/ctf/p_trail.o \
418	$(BUILDDIR)/ctf/p_view.o \
419	$(BUILDDIR)/ctf/p_weapon.o \
420	$(BUILDDIR)/ctf/q_shared.o
421
422$(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) : $(CTF_OBJS)
423	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(CTF_OBJS)
424
425$(BUILDDIR)/ctf/g_ai.o :       $(CTF_DIR)/g_ai.c
426	$(DO_SHLIB_CC)
427
428$(BUILDDIR)/ctf/g_chase.o :    $(CTF_DIR)/g_chase.c
429	$(DO_SHLIB_CC)
430
431$(BUILDDIR)/ctf/g_cmds.o :     $(CTF_DIR)/g_cmds.c
432	$(DO_SHLIB_CC)
433
434$(BUILDDIR)/ctf/g_combat.o :   $(CTF_DIR)/g_combat.c
435	$(DO_SHLIB_CC)
436
437$(BUILDDIR)/ctf/g_ctf.o :      $(CTF_DIR)/g_ctf.c
438	$(DO_SHLIB_CC)
439
440$(BUILDDIR)/ctf/g_func.o :     $(CTF_DIR)/g_func.c
441	$(DO_SHLIB_CC)
442
443$(BUILDDIR)/ctf/g_items.o :    $(CTF_DIR)/g_items.c
444	$(DO_SHLIB_CC)
445
446$(BUILDDIR)/ctf/g_main.o :     $(CTF_DIR)/g_main.c
447	$(DO_SHLIB_CC)
448
449$(BUILDDIR)/ctf/g_misc.o :     $(CTF_DIR)/g_misc.c
450	$(DO_SHLIB_CC)
451
452$(BUILDDIR)/ctf/g_monster.o :  $(CTF_DIR)/g_monster.c
453	$(DO_SHLIB_CC)
454
455$(BUILDDIR)/ctf/g_phys.o :     $(CTF_DIR)/g_phys.c
456	$(DO_SHLIB_CC)
457
458$(BUILDDIR)/ctf/g_save.o :     $(CTF_DIR)/g_save.c
459	$(DO_SHLIB_CC)
460
461$(BUILDDIR)/ctf/g_spawn.o :    $(CTF_DIR)/g_spawn.c
462	$(DO_SHLIB_CC)
463
464$(BUILDDIR)/ctf/g_svcmds.o :   $(CTF_DIR)/g_svcmds.c
465	$(DO_SHLIB_CC)
466
467$(BUILDDIR)/ctf/g_target.o :   $(CTF_DIR)/g_target.c
468	$(DO_SHLIB_CC)
469
470$(BUILDDIR)/ctf/g_trigger.o :  $(CTF_DIR)/g_trigger.c
471	$(DO_SHLIB_CC)
472
473$(BUILDDIR)/ctf/g_utils.o :    $(CTF_DIR)/g_utils.c
474	$(DO_SHLIB_CC)
475
476$(BUILDDIR)/ctf/g_weapon.o :   $(CTF_DIR)/g_weapon.c
477	$(DO_SHLIB_CC)
478
479$(BUILDDIR)/ctf/m_move.o :     $(CTF_DIR)/m_move.c
480	$(DO_SHLIB_CC)
481
482$(BUILDDIR)/ctf/p_client.o :   $(CTF_DIR)/p_client.c
483	$(DO_SHLIB_CC)
484
485$(BUILDDIR)/ctf/p_hud.o :      $(CTF_DIR)/p_hud.c
486	$(DO_SHLIB_CC)
487
488$(BUILDDIR)/ctf/p_menu.o :     $(CTF_DIR)/p_menu.c
489	$(DO_SHLIB_CC)
490
491$(BUILDDIR)/ctf/p_trail.o :    $(CTF_DIR)/p_trail.c
492	$(DO_SHLIB_CC)
493
494$(BUILDDIR)/ctf/p_view.o :     $(CTF_DIR)/p_view.c
495	$(DO_SHLIB_CC)
496
497$(BUILDDIR)/ctf/p_weapon.o :   $(CTF_DIR)/p_weapon.c
498	$(DO_SHLIB_CC)
499
500$(BUILDDIR)/ctf/q_shared.o :   $(CTF_DIR)/q_shared.c
501	$(DO_SHLIB_CC)
502
503#############################################################################
504# XATRIX
505#############################################################################
506
507XATRIX_OBJS = \
508	$(BUILDDIR)/xatrix/g_ai.o \
509	$(BUILDDIR)/xatrix/g_cmds.o \
510	$(BUILDDIR)/xatrix/g_chase.o \
511	$(BUILDDIR)/xatrix/g_combat.o \
512	$(BUILDDIR)/xatrix/g_func.o \
513	$(BUILDDIR)/xatrix/g_items.o \
514	$(BUILDDIR)/xatrix/g_main.o \
515	$(BUILDDIR)/xatrix/g_misc.o \
516	$(BUILDDIR)/xatrix/g_monster.o \
517	$(BUILDDIR)/xatrix/g_phys.o \
518	$(BUILDDIR)/xatrix/g_save.o \
519	$(BUILDDIR)/xatrix/g_spawn.o \
520	$(BUILDDIR)/xatrix/g_svcmds.o \
521	$(BUILDDIR)/xatrix/g_target.o \
522	$(BUILDDIR)/xatrix/g_trigger.o \
523	$(BUILDDIR)/xatrix/g_turret.o \
524	$(BUILDDIR)/xatrix/g_utils.o \
525	$(BUILDDIR)/xatrix/g_weapon.o \
526	$(BUILDDIR)/xatrix/m_actor.o \
527	$(BUILDDIR)/xatrix/m_berserk.o \
528	$(BUILDDIR)/xatrix/m_boss2.o \
529	$(BUILDDIR)/xatrix/m_boss3.o \
530	$(BUILDDIR)/xatrix/m_boss31.o \
531	$(BUILDDIR)/xatrix/m_boss32.o \
532	$(BUILDDIR)/xatrix/m_boss5.o \
533	$(BUILDDIR)/xatrix/m_brain.o \
534	$(BUILDDIR)/xatrix/m_chick.o \
535	$(BUILDDIR)/xatrix/m_fixbot.o \
536	$(BUILDDIR)/xatrix/m_flash.o \
537	$(BUILDDIR)/xatrix/m_flipper.o \
538	$(BUILDDIR)/xatrix/m_float.o \
539	$(BUILDDIR)/xatrix/m_flyer.o \
540	$(BUILDDIR)/xatrix/m_gekk.o \
541	$(BUILDDIR)/xatrix/m_gladb.o \
542	$(BUILDDIR)/xatrix/m_gladiator.o \
543	$(BUILDDIR)/xatrix/m_gunner.o \
544	$(BUILDDIR)/xatrix/m_hover.o \
545	$(BUILDDIR)/xatrix/m_infantry.o \
546	$(BUILDDIR)/xatrix/m_insane.o \
547	$(BUILDDIR)/xatrix/m_medic.o \
548	$(BUILDDIR)/xatrix/m_move.o \
549	$(BUILDDIR)/xatrix/m_mutant.o \
550	$(BUILDDIR)/xatrix/m_parasite.o \
551	$(BUILDDIR)/xatrix/m_soldier.o \
552	$(BUILDDIR)/xatrix/m_supertank.o \
553	$(BUILDDIR)/xatrix/m_tank.o \
554	$(BUILDDIR)/xatrix/p_client.o \
555	$(BUILDDIR)/xatrix/p_hud.o \
556	$(BUILDDIR)/xatrix/p_trail.o \
557	$(BUILDDIR)/xatrix/p_view.o \
558	$(BUILDDIR)/xatrix/p_weapon.o \
559	$(BUILDDIR)/xatrix/q_shared.o
560
561$(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) : $(XATRIX_OBJS)
562	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(XATRIX_OBJS)
563
564$(BUILDDIR)/xatrix/g_ai.o :        $(XATRIX_DIR)/g_ai.c
565	$(DO_SHLIB_CC)
566
567$(BUILDDIR)/xatrix/g_cmds.o :      $(XATRIX_DIR)/g_cmds.c
568	$(DO_SHLIB_CC)
569
570$(BUILDDIR)/xatrix/g_chase.o :    $(XATRIX_DIR)/g_chase.c
571	$(DO_SHLIB_CC)
572
573$(BUILDDIR)/xatrix/g_combat.o :    $(XATRIX_DIR)/g_combat.c
574	$(DO_SHLIB_CC)
575
576$(BUILDDIR)/xatrix/g_func.o :      $(XATRIX_DIR)/g_func.c
577	$(DO_SHLIB_CC)
578
579$(BUILDDIR)/xatrix/g_items.o :     $(XATRIX_DIR)/g_items.c
580	$(DO_SHLIB_CC)
581
582$(BUILDDIR)/xatrix/g_main.o :      $(XATRIX_DIR)/g_main.c
583	$(DO_SHLIB_CC)
584
585$(BUILDDIR)/xatrix/g_misc.o :      $(XATRIX_DIR)/g_misc.c
586	$(DO_SHLIB_CC)
587
588$(BUILDDIR)/xatrix/g_monster.o :   $(XATRIX_DIR)/g_monster.c
589	$(DO_SHLIB_CC)
590
591$(BUILDDIR)/xatrix/g_phys.o :      $(XATRIX_DIR)/g_phys.c
592	$(DO_SHLIB_CC)
593
594$(BUILDDIR)/xatrix/g_save.o :      $(XATRIX_DIR)/g_save.c
595	$(DO_SHLIB_CC)
596
597$(BUILDDIR)/xatrix/g_spawn.o :     $(XATRIX_DIR)/g_spawn.c
598	$(DO_SHLIB_CC)
599
600$(BUILDDIR)/xatrix/g_svcmds.o :    $(XATRIX_DIR)/g_svcmds.c
601	$(DO_SHLIB_CC)
602
603$(BUILDDIR)/xatrix/g_target.o :    $(XATRIX_DIR)/g_target.c
604	$(DO_SHLIB_CC)
605
606$(BUILDDIR)/xatrix/g_trigger.o :   $(XATRIX_DIR)/g_trigger.c
607	$(DO_SHLIB_CC)
608
609$(BUILDDIR)/xatrix/g_turret.o :    $(XATRIX_DIR)/g_turret.c
610	$(DO_SHLIB_CC)
611
612$(BUILDDIR)/xatrix/g_utils.o :     $(XATRIX_DIR)/g_utils.c
613	$(DO_SHLIB_CC)
614
615$(BUILDDIR)/xatrix/g_weapon.o :    $(XATRIX_DIR)/g_weapon.c
616	$(DO_SHLIB_CC)
617
618$(BUILDDIR)/xatrix/m_actor.o :     $(XATRIX_DIR)/m_actor.c
619	$(DO_SHLIB_CC)
620
621$(BUILDDIR)/xatrix/m_berserk.o :   $(XATRIX_DIR)/m_berserk.c
622	$(DO_SHLIB_CC)
623
624$(BUILDDIR)/xatrix/m_boss2.o :     $(XATRIX_DIR)/m_boss2.c
625	$(DO_SHLIB_CC)
626
627$(BUILDDIR)/xatrix/m_boss3.o :     $(XATRIX_DIR)/m_boss3.c
628	$(DO_SHLIB_CC)
629
630$(BUILDDIR)/xatrix/m_boss31.o :    $(XATRIX_DIR)/m_boss31.c
631	$(DO_SHLIB_CC)
632
633$(BUILDDIR)/xatrix/m_boss32.o :    $(XATRIX_DIR)/m_boss32.c
634	$(DO_SHLIB_CC)
635
636$(BUILDDIR)/xatrix/m_boss5.o :     $(XATRIX_DIR)/m_boss5.c
637	$(DO_SHLIB_CC)
638
639$(BUILDDIR)/xatrix/m_brain.o :     $(XATRIX_DIR)/m_brain.c
640	$(DO_SHLIB_CC)
641
642$(BUILDDIR)/xatrix/m_chick.o :     $(XATRIX_DIR)/m_chick.c
643	$(DO_SHLIB_CC)
644
645$(BUILDDIR)/xatrix/m_fixbot.o :    $(XATRIX_DIR)/m_fixbot.c
646	$(DO_SHLIB_CC)
647
648$(BUILDDIR)/xatrix/m_flash.o :     $(XATRIX_DIR)/m_flash.c
649	$(DO_SHLIB_CC)
650
651$(BUILDDIR)/xatrix/m_flipper.o :   $(XATRIX_DIR)/m_flipper.c
652	$(DO_SHLIB_CC)
653
654$(BUILDDIR)/xatrix/m_float.o :     $(XATRIX_DIR)/m_float.c
655	$(DO_SHLIB_CC)
656
657$(BUILDDIR)/xatrix/m_flyer.o :     $(XATRIX_DIR)/m_flyer.c
658	$(DO_SHLIB_CC)
659
660$(BUILDDIR)/xatrix/m_gekk.o :      $(XATRIX_DIR)/m_gekk.c
661	$(DO_SHLIB_CC)
662
663$(BUILDDIR)/xatrix/m_gladb.o :     $(XATRIX_DIR)/m_gladb.c
664	$(DO_SHLIB_CC)
665
666$(BUILDDIR)/xatrix/m_gladiator.o : $(XATRIX_DIR)/m_gladiator.c
667	$(DO_SHLIB_CC)
668
669$(BUILDDIR)/xatrix/m_gunner.o :    $(XATRIX_DIR)/m_gunner.c
670	$(DO_SHLIB_CC)
671
672$(BUILDDIR)/xatrix/m_hover.o :     $(XATRIX_DIR)/m_hover.c
673	$(DO_SHLIB_CC)
674
675$(BUILDDIR)/xatrix/m_infantry.o :  $(XATRIX_DIR)/m_infantry.c
676	$(DO_SHLIB_CC)
677
678$(BUILDDIR)/xatrix/m_insane.o :    $(XATRIX_DIR)/m_insane.c
679	$(DO_SHLIB_CC)
680
681$(BUILDDIR)/xatrix/m_medic.o :     $(XATRIX_DIR)/m_medic.c
682	$(DO_SHLIB_CC)
683
684$(BUILDDIR)/xatrix/m_move.o :      $(XATRIX_DIR)/m_move.c
685	$(DO_SHLIB_CC)
686
687$(BUILDDIR)/xatrix/m_mutant.o :    $(XATRIX_DIR)/m_mutant.c
688	$(DO_SHLIB_CC)
689
690$(BUILDDIR)/xatrix/m_parasite.o :  $(XATRIX_DIR)/m_parasite.c
691	$(DO_SHLIB_CC)
692
693$(BUILDDIR)/xatrix/m_soldier.o :   $(XATRIX_DIR)/m_soldier.c
694	$(DO_SHLIB_CC)
695
696$(BUILDDIR)/xatrix/m_supertank.o : $(XATRIX_DIR)/m_supertank.c
697	$(DO_SHLIB_CC)
698
699$(BUILDDIR)/xatrix/m_tank.o :      $(XATRIX_DIR)/m_tank.c
700	$(DO_SHLIB_CC)
701
702$(BUILDDIR)/xatrix/p_client.o :    $(XATRIX_DIR)/p_client.c
703	$(DO_SHLIB_CC)
704
705$(BUILDDIR)/xatrix/p_hud.o :       $(XATRIX_DIR)/p_hud.c
706	$(DO_SHLIB_CC)
707
708$(BUILDDIR)/xatrix/p_trail.o :     $(XATRIX_DIR)/p_trail.c
709	$(DO_SHLIB_CC)
710
711$(BUILDDIR)/xatrix/p_view.o :      $(XATRIX_DIR)/p_view.c
712	$(DO_SHLIB_CC)
713
714$(BUILDDIR)/xatrix/p_weapon.o :    $(XATRIX_DIR)/p_weapon.c
715	$(DO_SHLIB_CC)
716
717$(BUILDDIR)/xatrix/q_shared.o :    $(XATRIX_DIR)/q_shared.c
718	$(DO_SHLIB_CC)
719
720#############################################################################
721# ROGUE
722#############################################################################
723
724ROGUE_OBJS = \
725	$(BUILDDIR)/rogue/dm_ball.o \
726	$(BUILDDIR)/rogue/dm_tag.o \
727	$(BUILDDIR)/rogue/g_ai.o \
728	$(BUILDDIR)/rogue/g_chase.o \
729	$(BUILDDIR)/rogue/g_cmds.o \
730	$(BUILDDIR)/rogue/g_combat.o \
731	$(BUILDDIR)/rogue/g_func.o \
732	$(BUILDDIR)/rogue/g_items.o \
733	$(BUILDDIR)/rogue/g_main.o \
734	$(BUILDDIR)/rogue/g_misc.o \
735	$(BUILDDIR)/rogue/g_monster.o \
736	$(BUILDDIR)/rogue/g_newai.o \
737	$(BUILDDIR)/rogue/g_newdm.o \
738	$(BUILDDIR)/rogue/g_newfnc.o \
739	$(BUILDDIR)/rogue/g_newtarg.o \
740	$(BUILDDIR)/rogue/g_newtrig.o \
741	$(BUILDDIR)/rogue/g_newweap.o \
742	$(BUILDDIR)/rogue/g_phys.o \
743	$(BUILDDIR)/rogue/g_save.o \
744	$(BUILDDIR)/rogue/g_spawn.o \
745	$(BUILDDIR)/rogue/g_sphere.o \
746	$(BUILDDIR)/rogue/g_svcmds.o \
747	$(BUILDDIR)/rogue/g_target.o \
748	$(BUILDDIR)/rogue/g_trigger.o \
749	$(BUILDDIR)/rogue/g_turret.o \
750	$(BUILDDIR)/rogue/g_utils.o \
751	$(BUILDDIR)/rogue/g_weapon.o \
752	$(BUILDDIR)/rogue/m_actor.o \
753	$(BUILDDIR)/rogue/m_berserk.o \
754	$(BUILDDIR)/rogue/m_boss2.o \
755	$(BUILDDIR)/rogue/m_boss3.o \
756	$(BUILDDIR)/rogue/m_boss31.o \
757	$(BUILDDIR)/rogue/m_boss32.o \
758	$(BUILDDIR)/rogue/m_brain.o \
759	$(BUILDDIR)/rogue/m_carrier.o \
760	$(BUILDDIR)/rogue/m_chick.o \
761	$(BUILDDIR)/rogue/m_flash.o \
762	$(BUILDDIR)/rogue/m_flipper.o \
763	$(BUILDDIR)/rogue/m_float.o \
764	$(BUILDDIR)/rogue/m_flyer.o \
765	$(BUILDDIR)/rogue/m_gladiator.o \
766	$(BUILDDIR)/rogue/m_gunner.o \
767	$(BUILDDIR)/rogue/m_hover.o \
768	$(BUILDDIR)/rogue/m_infantry.o \
769	$(BUILDDIR)/rogue/m_insane.o \
770	$(BUILDDIR)/rogue/m_medic.o \
771	$(BUILDDIR)/rogue/m_move.o \
772	$(BUILDDIR)/rogue/m_mutant.o \
773	$(BUILDDIR)/rogue/m_parasite.o \
774	$(BUILDDIR)/rogue/m_soldier.o \
775	$(BUILDDIR)/rogue/m_stalker.o \
776	$(BUILDDIR)/rogue/m_supertank.o \
777	$(BUILDDIR)/rogue/m_tank.o \
778	$(BUILDDIR)/rogue/m_turret.o \
779	$(BUILDDIR)/rogue/m_widow.o \
780	$(BUILDDIR)/rogue/m_widow2.o \
781	$(BUILDDIR)/rogue/p_client.o \
782	$(BUILDDIR)/rogue/p_hud.o \
783	$(BUILDDIR)/rogue/p_trail.o \
784	$(BUILDDIR)/rogue/p_view.o \
785	$(BUILDDIR)/rogue/p_weapon.o \
786	$(BUILDDIR)/rogue/q_shared.o
787
788$(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT) : $(ROGUE_OBJS)
789	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(ROGUE_OBJS)
790
791$(BUILDDIR)/rogue/dm_ball.o :      $(ROGUE_DIR)/dm_ball.c
792	$(DO_SHLIB_CC)
793
794$(BUILDDIR)/rogue/dm_tag.o :       $(ROGUE_DIR)/dm_tag.c
795	$(DO_SHLIB_CC)
796
797$(BUILDDIR)/rogue/g_ai.o :         $(ROGUE_DIR)/g_ai.c
798	$(DO_SHLIB_CC)
799
800$(BUILDDIR)/rogue/g_chase.o :      $(ROGUE_DIR)/g_chase.c
801	$(DO_SHLIB_CC)
802
803$(BUILDDIR)/rogue/g_cmds.o :       $(ROGUE_DIR)/g_cmds.c
804	$(DO_SHLIB_CC)
805
806$(BUILDDIR)/rogue/g_combat.o :     $(ROGUE_DIR)/g_combat.c
807	$(DO_SHLIB_CC)
808
809$(BUILDDIR)/rogue/g_func.o :       $(ROGUE_DIR)/g_func.c
810	$(DO_SHLIB_CC)
811
812$(BUILDDIR)/rogue/g_items.o :      $(ROGUE_DIR)/g_items.c
813	$(DO_SHLIB_CC)
814
815$(BUILDDIR)/rogue/g_main.o :       $(ROGUE_DIR)/g_main.c
816	$(DO_SHLIB_CC)
817
818$(BUILDDIR)/rogue/g_misc.o :       $(ROGUE_DIR)/g_misc.c
819	$(DO_SHLIB_CC)
820
821$(BUILDDIR)/rogue/g_monster.o :    $(ROGUE_DIR)/g_monster.c
822	$(DO_SHLIB_CC)
823
824$(BUILDDIR)/rogue/g_newai.o :      $(ROGUE_DIR)/g_newai.c
825	$(DO_SHLIB_CC)
826
827$(BUILDDIR)/rogue/g_newdm.o :      $(ROGUE_DIR)/g_newdm.c
828	$(DO_SHLIB_CC)
829
830$(BUILDDIR)/rogue/g_newfnc.o :     $(ROGUE_DIR)/g_newfnc.c
831	$(DO_SHLIB_CC)
832
833$(BUILDDIR)/rogue/g_newtarg.o :    $(ROGUE_DIR)/g_newtarg.c
834	$(DO_SHLIB_CC)
835
836$(BUILDDIR)/rogue/g_newtrig.o :    $(ROGUE_DIR)/g_newtrig.c
837	$(DO_SHLIB_CC)
838
839$(BUILDDIR)/rogue/g_newweap.o :    $(ROGUE_DIR)/g_newweap.c
840	$(DO_SHLIB_CC)
841
842$(BUILDDIR)/rogue/g_phys.o :       $(ROGUE_DIR)/g_phys.c
843	$(DO_SHLIB_CC)
844
845$(BUILDDIR)/rogue/g_save.o :       $(ROGUE_DIR)/g_save.c
846	$(DO_SHLIB_CC)
847
848$(BUILDDIR)/rogue/g_spawn.o :      $(ROGUE_DIR)/g_spawn.c
849	$(DO_SHLIB_CC)
850
851$(BUILDDIR)/rogue/g_sphere.o :     $(ROGUE_DIR)/g_sphere.c
852	$(DO_SHLIB_CC)
853
854$(BUILDDIR)/rogue/g_svcmds.o :     $(ROGUE_DIR)/g_svcmds.c
855	$(DO_SHLIB_CC)
856
857$(BUILDDIR)/rogue/g_target.o :     $(ROGUE_DIR)/g_target.c
858	$(DO_SHLIB_CC)
859
860$(BUILDDIR)/rogue/g_trigger.o :    $(ROGUE_DIR)/g_trigger.c
861	$(DO_SHLIB_CC)
862
863$(BUILDDIR)/rogue/g_turret.o :     $(ROGUE_DIR)/g_turret.c
864	$(DO_SHLIB_CC)
865
866$(BUILDDIR)/rogue/g_utils.o :      $(ROGUE_DIR)/g_utils.c
867	$(DO_SHLIB_CC)
868
869$(BUILDDIR)/rogue/g_weapon.o :     $(ROGUE_DIR)/g_weapon.c
870	$(DO_SHLIB_CC)
871
872$(BUILDDIR)/rogue/m_actor.o :      $(ROGUE_DIR)/m_actor.c
873	$(DO_SHLIB_CC)
874
875$(BUILDDIR)/rogue/m_berserk.o :    $(ROGUE_DIR)/m_berserk.c
876	$(DO_SHLIB_CC)
877
878$(BUILDDIR)/rogue/m_boss2.o :      $(ROGUE_DIR)/m_boss2.c
879	$(DO_SHLIB_CC)
880
881$(BUILDDIR)/rogue/m_boss3.o :      $(ROGUE_DIR)/m_boss3.c
882	$(DO_SHLIB_CC)
883
884$(BUILDDIR)/rogue/m_boss31.o :     $(ROGUE_DIR)/m_boss31.c
885	$(DO_SHLIB_CC)
886
887$(BUILDDIR)/rogue/m_boss32.o :     $(ROGUE_DIR)/m_boss32.c
888	$(DO_SHLIB_CC)
889
890$(BUILDDIR)/rogue/m_brain.o :      $(ROGUE_DIR)/m_brain.c
891	$(DO_SHLIB_CC)
892
893$(BUILDDIR)/rogue/m_carrier.o :    $(ROGUE_DIR)/m_carrier.c
894	$(DO_SHLIB_CC)
895
896$(BUILDDIR)/rogue/m_chick.o :      $(ROGUE_DIR)/m_chick.c
897	$(DO_SHLIB_CC)
898
899$(BUILDDIR)/rogue/m_flash.o :      $(ROGUE_DIR)/m_flash.c
900	$(DO_SHLIB_CC)
901
902$(BUILDDIR)/rogue/m_flipper.o :    $(ROGUE_DIR)/m_flipper.c
903	$(DO_SHLIB_CC)
904
905$(BUILDDIR)/rogue/m_float.o :      $(ROGUE_DIR)/m_float.c
906	$(DO_SHLIB_CC)
907
908$(BUILDDIR)/rogue/m_flyer.o :      $(ROGUE_DIR)/m_flyer.c
909	$(DO_SHLIB_CC)
910
911$(BUILDDIR)/rogue/m_gladiator.o :  $(ROGUE_DIR)/m_gladiator.c
912	$(DO_SHLIB_CC)
913
914$(BUILDDIR)/rogue/m_gunner.o :     $(ROGUE_DIR)/m_gunner.c
915	$(DO_SHLIB_CC)
916
917$(BUILDDIR)/rogue/m_hover.o :      $(ROGUE_DIR)/m_hover.c
918	$(DO_SHLIB_CC)
919
920$(BUILDDIR)/rogue/m_infantry.o :   $(ROGUE_DIR)/m_infantry.c
921	$(DO_SHLIB_CC)
922
923$(BUILDDIR)/rogue/m_insane.o :     $(ROGUE_DIR)/m_insane.c
924	$(DO_SHLIB_CC)
925
926$(BUILDDIR)/rogue/m_medic.o :      $(ROGUE_DIR)/m_medic.c
927	$(DO_SHLIB_CC)
928
929$(BUILDDIR)/rogue/m_move.o :       $(ROGUE_DIR)/m_move.c
930	$(DO_SHLIB_CC)
931
932$(BUILDDIR)/rogue/m_mutant.o :     $(ROGUE_DIR)/m_mutant.c
933	$(DO_SHLIB_CC)
934
935$(BUILDDIR)/rogue/m_parasite.o :   $(ROGUE_DIR)/m_parasite.c
936	$(DO_SHLIB_CC)
937
938$(BUILDDIR)/rogue/m_soldier.o :    $(ROGUE_DIR)/m_soldier.c
939	$(DO_SHLIB_CC)
940
941$(BUILDDIR)/rogue/m_stalker.o :    $(ROGUE_DIR)/m_stalker.c
942	$(DO_SHLIB_CC)
943
944$(BUILDDIR)/rogue/m_supertank.o :  $(ROGUE_DIR)/m_supertank.c
945	$(DO_SHLIB_CC)
946
947$(BUILDDIR)/rogue/m_tank.o :       $(ROGUE_DIR)/m_tank.c
948	$(DO_SHLIB_CC)
949
950$(BUILDDIR)/rogue/m_turret.o :     $(ROGUE_DIR)/m_turret.c
951	$(DO_SHLIB_CC)
952
953$(BUILDDIR)/rogue/m_widow.o :      $(ROGUE_DIR)/m_widow.c
954	$(DO_SHLIB_CC)
955
956$(BUILDDIR)/rogue/m_widow2.o :     $(ROGUE_DIR)/m_widow2.c
957	$(DO_SHLIB_CC)
958
959$(BUILDDIR)/rogue/p_client.o :     $(ROGUE_DIR)/p_client.c
960	$(DO_SHLIB_CC)
961
962$(BUILDDIR)/rogue/p_hud.o :        $(ROGUE_DIR)/p_hud.c
963	$(DO_SHLIB_CC)
964
965$(BUILDDIR)/rogue/p_trail.o :      $(ROGUE_DIR)/p_trail.c
966	$(DO_SHLIB_CC)
967
968$(BUILDDIR)/rogue/p_view.o :       $(ROGUE_DIR)/p_view.c
969	$(DO_SHLIB_CC)
970
971$(BUILDDIR)/rogue/p_weapon.o :     $(ROGUE_DIR)/p_weapon.c
972	$(DO_SHLIB_CC)
973
974$(BUILDDIR)/rogue/q_shared.o :     $(ROGUE_DIR)/q_shared.c
975	$(DO_SHLIB_CC)
976
977#############################################################################
978# TAR
979#############################################################################
980
981# Make RPMs.  You need to be root to make this work
982RPMDIR = /var/tmp/q2ded-$(VERSION)
983
984tar:
985	if [ ! -d archives ];then mkdir archives;fi
986	$(MAKE) copyfiles COPYDIR=$(RPMDIR)
987	cd $(RPMDIR); tar cvf q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar *
988	cd $(RPMDIR); compress q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar
989	mv $(RPMDIR)/*.tar.Z archives/.
990	rm -rf $(RPMDIR)
991
992copyfiles:
993	-mkdirhier $(COPYDIR)
994	cp $(BUILD_RELEASE_DIR)/q2ded $(COPYDIR)
995	strip $(COPYDIR)/q2ded
996	chmod 755 $(COPYDIR)/q2ded
997	-mkdir $(COPYDIR)/baseq2
998	chmod 755 $(COPYDIR)/baseq2
999	cp $(BUILD_RELEASE_DIR)/game$(ARCH).$(SHLIBEXT) $(COPYDIR)/baseq2
1000	chmod 755 $(COPYDIR)/baseq2/game$(ARCH).$(SHLIBEXT)
1001#	-mkdir $(COPYDIR)/ctf
1002#	chmod 755 $(COPYDIR)/ctf
1003#	cp $(BUILD_RELEASE_DIR)/ctf/game$(ARCH).$(SHLIBEXT) $(COPYDIR)/ctf
1004#	chmod 755 $(COPYDIR)/ctf/game$(ARCH).$(SHLIBEXT)
1005	-mkdir $(COPYDIR)/xatrix
1006	chmod 755 $(COPYDIR)/xatrix
1007	cp $(BUILD_RELEASE_DIR)/xatrix/game$(ARCH).$(SHLIBEXT) $(COPYDIR)/xatrix
1008	chmod 755 $(COPYDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
1009	-mkdir $(COPYDIR)/rogue
1010	chmod 755 $(COPYDIR)/rogue
1011	cp $(BUILD_RELEASE_DIR)/rogue/game$(ARCH).$(SHLIBEXT) $(COPYDIR)/rogue
1012	chmod 755 $(COPYDIR)/rogue/game$(ARCH).$(SHLIBEXT)
1013	cp $(MOUNT_DIR)/solaris/readme.solaris $(COPYDIR)/README
1014	cp $(MOUNT_DIR)/readme.txt $(COPYDIR)
1015	cp $(MOUNT_DIR)/3.19_Changes.txt $(COPYDIR)
1016
1017
1018#############################################################################
1019# MISC
1020#############################################################################
1021
1022clean: clean-debug clean-release
1023
1024clean-debug:
1025	$(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
1026
1027clean-release:
1028	$(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
1029
1030clean2:
1031	-rm -f $(QUAKE2_OBJS) $(GAME_OBJS) $(CTF_OBJS) $(XATRIX_OBJS)
1032