Fix for the problem that SDL applications exited
[AROS-Contrib.git] / Games / Quake / mmakefile.src
blob2bf5cb96450e8cb474e31582dddfd8906f4138b4
1 # $Id$
2 include $(TOP)/config/make.cfg
4 INSTDIR  := $(AROS_CONTRIB)/Games/Quake
5 BUILDDIR := $(GENDIR)/$(CURDIR)
6 STARTUP := $(AROS_LIB)/startup.o
7 LIBS    := -L$(AROS_LIB) -lamiga -larossupport -lautoinit
8 DEPLIBS := $(STARTUP) $(AROS_LIB)/libstdc.a \
9                 $(AROS_LIB)/libamiga.a $(AROS_LIB)/libarossupport.a
11 EXE := $(INSTDIR)/quake
13 #MM- contrib-games : Quake-$(AROS_TARGET_CPU)
14 #MM- Quake-i386 : Quake
16 #MM Quake : linklibs includes
18 Quake : make-dirs $(EXE)
20 make-dirs :
21         %mkdirs_q $(INSTDIR) $(BUILDDIR)
23 BASEVERSION=1.09
24 VERSION=$(BASEVERSION)$(GLIBC)
26 ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6 ];then echo libc6;fi)))
27 GLIBC=-glibc
28 else
29 GLIBC=
30 endif
32 #FIXME: what about ARM?
33 ifneq (,$(findstring alpha,$(shell uname -m)))
34 ARCH=axp
35 else
36 ARCH=i386
37 endif
38 NOARCH=noarch
40 MOUNT_DIR=.
41 MASTER_DIR=/grog/Projects/QuakeMaster
42 MESA_DIR=/usr/local/src/Mesa-2.6
43 TDFXGL_DIR = /home/zoid/3dfxgl
45 BUILD_DEBUG_DIR=debug$(ARCH)$(GLIBC)
46 BUILD_RELEASE_DIR=release$(ARCH)$(GLIBC)
48 CC=$(AROS_CC)
50 CFLAGS += $(FORMAT_SECURITY_CFLAGS) -nix
51 BASE_CFLAGS=-Dstricmp=strcasecmp
53 DEBUG_CFLAGS=$(CFLAGS) $(BASE_CFLAGS) -g
55 AROSCFLAGS=-DAROS $(RELEASE_CFLAGS)
56 AROSLDFLAGS=-L$(AROS_LIB) -lamiga -lautoinit -nix
58 DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
59 DO_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) -o $@ -c $<
60 DO_GL_CC=$(CC) $(CFLAGS) $(GLCFLAGS) -o $@ -c $<
61 DO_GL_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) $(GLCFLAGS) -o $@ -c $<
63 DO_AROS_CC=$(CC) $(CFLAGS) $(AROSCFLAGS) -o $@ -c $<
64 DO_AROS_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) $(AROSCFLAGS) -o $@ -c $<
66 DO_O_CC=$(CC) -O $(CFLAGS) -o $@ -c $<
67 DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
68 DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
70 #############################################################################
71 # SETUP AND BUILD
72 #############################################################################
78 #############################################################################
79 # AROS Quake
80 #############################################################################
82 AROS_OBJS = \
83         $(BUILDDIR)/cl_demo.o \
84         $(BUILDDIR)/cl_input.o \
85         $(BUILDDIR)/cl_main.o \
86         $(BUILDDIR)/cl_parse.o \
87         $(BUILDDIR)/cl_tent.o \
88         $(BUILDDIR)/chase.o \
89         $(BUILDDIR)/cmd.o \
90         $(BUILDDIR)/common.o \
91         $(BUILDDIR)/console.o \
92         $(BUILDDIR)/crc.o \
93         $(BUILDDIR)/cvar.o \
94         $(BUILDDIR)/draw.o \
95         $(BUILDDIR)/d_edge.o \
96         $(BUILDDIR)/d_fill.o \
97         $(BUILDDIR)/d_init.o \
98         $(BUILDDIR)/d_modech.o \
99         $(BUILDDIR)/d_part.o \
100         $(BUILDDIR)/d_polyse.o \
101         $(BUILDDIR)/d_scan.o \
102         $(BUILDDIR)/d_sky.o \
103         $(BUILDDIR)/d_sprite.o \
104         $(BUILDDIR)/d_surf.o \
105         $(BUILDDIR)/d_vars.o \
106         $(BUILDDIR)/d_zpoint.o \
107         $(BUILDDIR)/host.o \
108         $(BUILDDIR)/host_cmd.o \
109         $(BUILDDIR)/keys.o \
110         $(BUILDDIR)/menu.o \
111         $(BUILDDIR)/mathlib.o \
112         $(BUILDDIR)/model.o \
113         $(BUILDDIR)/net_loop.o \
114         $(BUILDDIR)/net_main.o \
115         $(BUILDDIR)/net_vcr.o \
116         $(BUILDDIR)/nonintel.o \
117         $(BUILDDIR)/pr_cmds.o \
118         $(BUILDDIR)/pr_edict.o \
119         $(BUILDDIR)/pr_exec.o \
120         $(BUILDDIR)/r_aclip.o \
121         $(BUILDDIR)/r_alias.o \
122         $(BUILDDIR)/r_bsp.o \
123         $(BUILDDIR)/r_light.o \
124         $(BUILDDIR)/r_draw.o \
125         $(BUILDDIR)/r_efrag.o \
126         $(BUILDDIR)/r_edge.o \
127         $(BUILDDIR)/r_misc.o \
128         $(BUILDDIR)/r_main.o \
129         $(BUILDDIR)/r_sky.o \
130         $(BUILDDIR)/r_sprite.o \
131         $(BUILDDIR)/r_surf.o \
132         $(BUILDDIR)/r_part.o \
133         $(BUILDDIR)/r_vars.o \
134         $(BUILDDIR)/screen.o \
135         $(BUILDDIR)/sbar.o \
136         $(BUILDDIR)/sv_main.o \
137         $(BUILDDIR)/sv_phys.o \
138         $(BUILDDIR)/sv_move.o \
139         $(BUILDDIR)/sv_user.o \
140         $(BUILDDIR)/zone.o      \
141         $(BUILDDIR)/view.o      \
142         $(BUILDDIR)/wad.o \
143         $(BUILDDIR)/world.o \
144         \
145         $(BUILDDIR)/d_draw.o \
146         $(BUILDDIR)/d_draw16.o \
147         $(BUILDDIR)/d_parta.o \
148         $(BUILDDIR)/d_polysa.o \
149         $(BUILDDIR)/d_scana.o \
150         $(BUILDDIR)/d_spr8.o \
151         $(BUILDDIR)/d_varsa.o \
152         $(BUILDDIR)/math.o \
153         $(BUILDDIR)/r_aliasa.o \
154         $(BUILDDIR)/r_drawa.o \
155         $(BUILDDIR)/r_edgea.o \
156         $(BUILDDIR)/r_varsa.o \
157         $(BUILDDIR)/surf16.o \
158         $(BUILDDIR)/surf8.o \
159         $(BUILDDIR)/worlda.o \
160         $(BUILDDIR)/r_aclipa.o \
161         $(BUILDDIR)/sys_dosa.o \
162         $(BUILDDIR)/sys_aros.o \
163         $(BUILDDIR)/cd_null.o \
164         $(BUILDDIR)/snd_null.o \
165         $(BUILDDIR)/net_none.o \
166         $(BUILDDIR)/vid_aros.o \
167         $(BUILDDIR)/in_null.o
170 # added objects below sys_aros.o
172 # Removed objects
174 #       $(BUILDDIR)/net_dgrm.o \
175 #       $(BUILDDIR)/net_udp.o \
176 #       $(BUILDDIR)/net_bsd.o \
178 #       $(BUILDDIR)/cd_linux.o \
179 #       $(BUILDDIR)/sys_linux.o \
180 #       $(BUILDDIR)/vid_x.o \
181 #       $(BUILDDIR)/snd_linux.o \
182 #       $(BUILDDIR)/snd_dma.o \
183 #       $(BUILDDIR)/snd_mem.o \
184 #       $(BUILDDIR)/snd_mix.o \
185 #       $(BUILDDIR)/snd_mixa.o \
187 # $(INSTDIR)/quake : $(AROS_OBJS)
188 #       $(CC) $(CFLAGS) -o $@ $(AROS_OBJS) $(AROSLDFLAGS) $(LDFLAGS)
190 $(EXE) : $(AROS_OBJS) $(DEPLIBS)
191         %link_q opt="$(LDFLAGS) $(AROSLDFLAGS)" from="$(AROS_OBJS)"
193 ####
195 $(BUILDDIR)/cl_demo.o :  $(MOUNT_DIR)/cl_demo.c
196         $(DO_AROS_CC)
198 $(BUILDDIR)/cl_input.o : $(MOUNT_DIR)/cl_input.c
199         $(DO_AROS_CC)
201 $(BUILDDIR)/cl_main.o :  $(MOUNT_DIR)/cl_main.c
202         $(DO_AROS_CC)
204 $(BUILDDIR)/cl_parse.o : $(MOUNT_DIR)/cl_parse.c
205         $(DO_AROS_CC)
207 $(BUILDDIR)/cl_tent.o :  $(MOUNT_DIR)/cl_tent.c
208         $(DO_AROS_CC)
210 $(BUILDDIR)/chase.o :    $(MOUNT_DIR)/chase.c
211         $(DO_AROS_CC)
213 $(BUILDDIR)/cmd.o :      $(MOUNT_DIR)/cmd.c
214         $(DO_AROS_CC)
216 $(BUILDDIR)/common.o :   $(MOUNT_DIR)/common.c
217         $(DO_AROS_DEBUG_CC)
219 $(BUILDDIR)/console.o :  $(MOUNT_DIR)/console.c
220         $(DO_AROS_CC)
222 $(BUILDDIR)/crc.o :      $(MOUNT_DIR)/crc.c
223         $(DO_AROS_CC)
225 $(BUILDDIR)/cvar.o :     $(MOUNT_DIR)/cvar.c
226         $(DO_AROS_CC)
228 $(BUILDDIR)/draw.o :     $(MOUNT_DIR)/draw.c
229         $(DO_AROS_CC)
231 $(BUILDDIR)/d_edge.o :   $(MOUNT_DIR)/d_edge.c
232         $(DO_AROS_CC)
234 $(BUILDDIR)/d_fill.o :   $(MOUNT_DIR)/d_fill.c
235         $(DO_AROS_CC)
237 $(BUILDDIR)/d_init.o :   $(MOUNT_DIR)/d_init.c
238         $(DO_AROS_CC)
240 $(BUILDDIR)/d_modech.o : $(MOUNT_DIR)/d_modech.c
241         $(DO_AROS_CC)
243 $(BUILDDIR)/d_part.o :   $(MOUNT_DIR)/d_part.c
244         $(DO_AROS_CC)
246 $(BUILDDIR)/d_polyse.o : $(MOUNT_DIR)/d_polyse.c
247         $(DO_AROS_CC)
249 $(BUILDDIR)/d_scan.o :   $(MOUNT_DIR)/d_scan.c
250         $(DO_AROS_CC)
252 $(BUILDDIR)/d_sky.o :    $(MOUNT_DIR)/d_sky.c
253         $(DO_AROS_CC)
255 $(BUILDDIR)/d_sprite.o : $(MOUNT_DIR)/d_sprite.c
256         $(DO_AROS_CC)
258 $(BUILDDIR)/d_surf.o :   $(MOUNT_DIR)/d_surf.c
259         $(DO_AROS_CC)
261 $(BUILDDIR)/d_vars.o :   $(MOUNT_DIR)/d_vars.c
262         $(DO_AROS_CC)
264 $(BUILDDIR)/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c
265         $(DO_AROS_CC)
267 $(BUILDDIR)/host.o :     $(MOUNT_DIR)/host.c
268         $(DO_AROS_CC)
270 $(BUILDDIR)/host_cmd.o : $(MOUNT_DIR)/host_cmd.c
271         $(DO_AROS_CC)
273 $(BUILDDIR)/keys.o :     $(MOUNT_DIR)/keys.c
274         $(DO_AROS_CC)
276 $(BUILDDIR)/menu.o :     $(MOUNT_DIR)/menu.c
277         $(DO_AROS_CC)
279 $(BUILDDIR)/mathlib.o :  $(MOUNT_DIR)/mathlib.c
280         $(DO_AROS_CC)
282 $(BUILDDIR)/model.o :    $(MOUNT_DIR)/model.c
283         $(DO_AROS_CC)
285 # $(BUILDDIR)/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c
286 #       $(DO_AROS_CC)
288 $(BUILDDIR)/net_loop.o : $(MOUNT_DIR)/net_loop.c
289         $(DO_AROS_CC)
291 $(BUILDDIR)/net_main.o : $(MOUNT_DIR)/net_main.c
292         $(DO_AROS_CC)
294 $(BUILDDIR)/net_vcr.o :  $(MOUNT_DIR)/net_vcr.c
295         $(DO_AROS_CC)
297 # $(BUILDDIR)/net_udp.o :  $(MOUNT_DIR)/net_udp.c
298 #       $(DO_AROS_CC)
300 # $(BUILDDIR)/net_bsd.o :  $(MOUNT_DIR)/net_bsd.c
301 #       $(DO_AROS_CC)
303 $(BUILDDIR)/nonintel.o : $(MOUNT_DIR)/nonintel.c
304         $(DO_AROS_CC)
306 $(BUILDDIR)/pr_cmds.o :  $(MOUNT_DIR)/pr_cmds.c
307         $(DO_AROS_CC)
309 $(BUILDDIR)/pr_edict.o : $(MOUNT_DIR)/pr_edict.c
310         $(DO_AROS_CC)
312 $(BUILDDIR)/pr_exec.o :  $(MOUNT_DIR)/pr_exec.c
313         $(DO_AROS_CC)
315 $(BUILDDIR)/r_aclip.o :  $(MOUNT_DIR)/r_aclip.c
316         $(DO_AROS_CC)
318 $(BUILDDIR)/r_alias.o :  $(MOUNT_DIR)/r_alias.c
319         $(DO_AROS_CC)
321 $(BUILDDIR)/r_bsp.o :    $(MOUNT_DIR)/r_bsp.c
322         $(DO_AROS_CC)
324 $(BUILDDIR)/r_light.o :  $(MOUNT_DIR)/r_light.c
325         $(DO_AROS_CC)
327 $(BUILDDIR)/r_draw.o :   $(MOUNT_DIR)/r_draw.c
328         $(DO_AROS_CC)
330 $(BUILDDIR)/r_efrag.o :  $(MOUNT_DIR)/r_efrag.c
331         $(DO_AROS_CC)
333 $(BUILDDIR)/r_edge.o :   $(MOUNT_DIR)/r_edge.c
334         $(DO_AROS_CC)
336 $(BUILDDIR)/r_misc.o :   $(MOUNT_DIR)/r_misc.c
337         $(DO_AROS_CC)
339 $(BUILDDIR)/r_main.o :   $(MOUNT_DIR)/r_main.c
340         $(DO_AROS_CC)
342 $(BUILDDIR)/r_sky.o :    $(MOUNT_DIR)/r_sky.c
343         $(DO_AROS_CC)
345 $(BUILDDIR)/r_sprite.o : $(MOUNT_DIR)/r_sprite.c
346         $(DO_AROS_CC)
348 $(BUILDDIR)/r_surf.o :   $(MOUNT_DIR)/r_surf.c
349         $(DO_AROS_CC)
351 $(BUILDDIR)/r_part.o :   $(MOUNT_DIR)/r_part.c
352         $(DO_AROS_CC)
354 $(BUILDDIR)/r_vars.o :   $(MOUNT_DIR)/r_vars.c
355         $(DO_AROS_CC)
357 $(BUILDDIR)/screen.o :   $(MOUNT_DIR)/screen.c
358         $(DO_AROS_CC)
360 $(BUILDDIR)/sbar.o :     $(MOUNT_DIR)/sbar.c
361         $(DO_AROS_CC)
363 $(BUILDDIR)/sv_main.o :  $(MOUNT_DIR)/sv_main.c
364         $(DO_AROS_CC)
366 $(BUILDDIR)/sv_phys.o :  $(MOUNT_DIR)/sv_phys.c
367         $(DO_AROS_CC)
369 $(BUILDDIR)/sv_move.o :  $(MOUNT_DIR)/sv_move.c
370         $(DO_AROS_CC)
372 $(BUILDDIR)/sv_user.o :  $(MOUNT_DIR)/sv_user.c
373         $(DO_AROS_CC)
375 $(BUILDDIR)/zone.o      :   $(MOUNT_DIR)/zone.c
376         $(DO_AROS_CC)
378 $(BUILDDIR)/view.o      :   $(MOUNT_DIR)/view.c
379         $(DO_AROS_CC)
381 $(BUILDDIR)/wad.o :      $(MOUNT_DIR)/wad.c
382         $(DO_AROS_CC)
384 $(BUILDDIR)/world.o :    $(MOUNT_DIR)/world.c
385         $(DO_AROS_CC)
387 # $(BUILDDIR)/cd_linux.o : $(MOUNT_DIR)/cd_linux.c
388 #       $(DO_AROS_CC)
390 # $(BUILDDIR)/sys_linux.o :$(MOUNT_DIR)/sys_linux.c
391 #       $(DO_AROS_CC)
393 # $(BUILDDIR)/vid_x.o: $(MOUNT_DIR)/vid_x.c
394 #       $(DO_O_CC)
396 # $(BUILDDIR)/snd_dma.o :  $(MOUNT_DIR)/snd_dma.c
397 #       $(DO_AROS_CC)
399 # $(BUILDDIR)/snd_mem.o :  $(MOUNT_DIR)/snd_mem.c
400 #       $(DO_AROS_CC)
402 # $(BUILDDIR)/snd_mix.o :  $(MOUNT_DIR)/snd_mix.c
403 #       $(DO_AROS_CC)
405 # $(BUILDDIR)/snd_linux.o :$(MOUNT_DIR)/snd_linux.c
406 #       $(DO_AROS_CC)
408 #####
410 $(BUILDDIR)/d_copy.o :   $(MOUNT_DIR)/d_copy.s
411         $(DO_AS)
413 $(BUILDDIR)/d_draw.o :   $(MOUNT_DIR)/d_draw.s
414         $(DO_AS)
416 $(BUILDDIR)/d_draw16.o : $(MOUNT_DIR)/d_draw16.s
417         $(DO_AS)
419 $(BUILDDIR)/d_parta.o :  $(MOUNT_DIR)/d_parta.s
420         $(DO_AS)
422 $(BUILDDIR)/d_polysa.o : $(MOUNT_DIR)/d_polysa.s
423         $(DO_AS)
425 $(BUILDDIR)/d_scana.o :  $(MOUNT_DIR)/d_scana.s
426         $(DO_AS)
428 $(BUILDDIR)/d_spr8.o :   $(MOUNT_DIR)/d_spr8.s
429         $(DO_AS)
431 $(BUILDDIR)/d_varsa.o :  $(MOUNT_DIR)/d_varsa.s
432         $(DO_AS)
434 $(BUILDDIR)/math.o :     $(MOUNT_DIR)/math.s
435         $(DO_AS)
437 $(BUILDDIR)/r_aliasa.o : $(MOUNT_DIR)/r_aliasa.s
438         $(DO_AS)
440 $(BUILDDIR)/r_drawa.o :  $(MOUNT_DIR)/r_drawa.s
441         $(DO_AS)
443 $(BUILDDIR)/r_edgea.o :  $(MOUNT_DIR)/r_edgea.s
444         $(DO_AS)
446 $(BUILDDIR)/r_varsa.o :  $(MOUNT_DIR)/r_varsa.s
447         $(DO_AS)
449 $(BUILDDIR)/surf16.o :   $(MOUNT_DIR)/surf16.s
450         $(DO_AS)
452 $(BUILDDIR)/surf8.o :    $(MOUNT_DIR)/surf8.s
453         $(DO_AS)
455 $(BUILDDIR)/worlda.o :   $(MOUNT_DIR)/worlda.s
456         $(DO_AS)
458 $(BUILDDIR)/r_aclipa.o : $(MOUNT_DIR)/r_aclipa.s
459         $(DO_AS)
461 # $(BUILDDIR)/snd_mixa.o : $(MOUNT_DIR)/snd_mixa.s
462 #       $(DO_AS)
464 $(BUILDDIR)/sys_dosa.o : $(MOUNT_DIR)/sys_dosa.s
465         $(DO_AS)
468 ###############
469 # AROS SPECIFIC FILE HERE
471 $(BUILDDIR)/sys_aros.o :$(MOUNT_DIR)/sys_aros.c
472         $(DO_AROS_CC) 2>sys_aros.err
474 $(BUILDDIR)/cd_null.o :$(MOUNT_DIR)/cd_null.c
475         $(DO_AROS_CC) 2>cd_null.err
477 $(BUILDDIR)/snd_null.o :$(MOUNT_DIR)/snd_null.c
478         $(DO_AROS_CC)
480 $(BUILDDIR)/net_none.o :$(MOUNT_DIR)/net_none.c
481         $(DO_AROS_CC) 2>net_none.err
483 $(BUILDDIR)/vid_aros.o :$(MOUNT_DIR)/vid_aros.c
484         $(DO_AROS_CC) 2>vid_aros.err
486 $(BUILDDIR)/in_null.o :$(MOUNT_DIR)/in_null.c
487         $(DO_AROS_CC) 2>in_null.err
490 #############################################################################
491 # MISC
492 #############################################################################
495 Quake-clean : 
496         rm -rf $(BUILDDIR)
497         rm -f $(EXE)
499 # clean: clean-debug clean-release
500 #       rm -f squake.spec glquake.spec quake.x11.spec
502 # clean-debug:
503 #       $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
505 # clean-release:
506 #       $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
508 # clean2:
509 #       -rm -f $(SQUAKE_OBJS) $(AROS_OBJS) $(GLQUAKE_OBJS) $(GLSVGA_OBJS) \
510 #               $(GLX_OBJS)