1# 2# QuakeWorld Makefile for Linux 2.0 3# 4# Apr '98 by Zoid <zoid@idsoftware.com> 5# 6# GNU Make required 7# 8# ELF only 9# 10 11# RPM release number 12RPM_RELEASE=1 13 14VERSION=2.30$(GLIBC) 15 16ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6* ];then echo libc6;fi))) 17GLIBC=-glibc 18else 19GLIBC= 20endif 21 22ifneq (,$(findstring alpha,$(shell uname -m))) 23ARCH=axp 24RPMARCH=alpha 25else 26ARCH=i386 27RPMARCH=i386 28endif 29 30MAINDIR=/grog/Projects/QW 31 32BUILD_DEBUG_DIR=debug$(ARCH)$(GLIBC) 33BUILD_RELEASE_DIR=release$(ARCH)$(GLIBC) 34CLIENT_DIR=$(MAINDIR)/client 35SERVER_DIR=$(MAINDIR)/server 36 37MESA_DIR=/usr/local/src/Mesa-3.0 38 39CC=gcc 40BASE_CFLAGS=-Wall -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) 41DEBUG_CFLAGS=$(BASE_CFLAGS) -g 42ifeq ($(ARCH),axp) 43RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \ 44 -fomit-frame-pointer -fexpensive-optimizations 45else 46RELEASE_CFLAGS=$(BASE_CFLAGS) -m486 -O6 -ffast-math -funroll-loops \ 47 -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 \ 48 -malign-jumps=2 -malign-functions=2 49endif 50GLCFLAGS=-DGLQUAKE -I/usr/local/src/Mesa-3.0/include -I/usr/include/glide 51 52LDFLAGS=-lm 53SVGALDFLAGS=-lvga 54XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext 55GL_SVGA_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lMesaGL -lglide2x -lX11 -lXext -lvga 56GL_X11_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lGL -lX11 -lXext 57 58DO_CC=$(CC) $(CFLAGS) -o $@ -c $< 59DO_O_CC=$(CC) -O $(CFLAGS) -o $@ -c $< 60DO_GL_CC=$(CC) $(CFLAGS) $(GLCFLAGS) -o $@ -c $< 61DO_SERVER_CC=$(CC) -DSERVERONLY $(CFLAGS) -o $@ -c $< 62 63DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< 64DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< 65 66############################################################################# 67# SETUP AND BUILD 68############################################################################# 69 70ifeq ($(ARCH),axp) 71TARGETS=$(BUILDDIR)/qwsv 72#$(BUILDDIR)/qwcl.x11 73else 74TARGETS=$(BUILDDIR)/qwsv $(BUILDDIR)/qwcl $(BUILDDIR)/qwcl.x11 $(BUILDDIR)/glqwcl $(BUILDDIR)/glqwcl.glx 75endif 76 77build_debug: 78 @-mkdir $(BUILD_DEBUG_DIR) \ 79 $(BUILD_DEBUG_DIR)/client \ 80 $(BUILD_DEBUG_DIR)/glclient \ 81 $(BUILD_DEBUG_DIR)/server 82 $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" 83 84build_release: 85 @-mkdir $(BUILD_RELEASE_DIR) \ 86 $(BUILD_RELEASE_DIR)/client \ 87 $(BUILD_RELEASE_DIR)/glclient \ 88 $(BUILD_RELEASE_DIR)/server 89 $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)" 90 91all: build_debug build_release 92 93targets: $(TARGETS) 94 95############################################################################# 96# SERVER 97############################################################################# 98 99QWSV_OBJS = \ 100 $(BUILDDIR)/server/pr_cmds.o \ 101 $(BUILDDIR)/server/pr_edict.o \ 102 $(BUILDDIR)/server/pr_exec.o \ 103 $(BUILDDIR)/server/sv_init.o \ 104 $(BUILDDIR)/server/sv_main.o \ 105 $(BUILDDIR)/server/sv_nchan.o \ 106 $(BUILDDIR)/server/sv_ents.o \ 107 $(BUILDDIR)/server/sv_send.o \ 108 $(BUILDDIR)/server/sv_move.o \ 109 $(BUILDDIR)/server/sv_phys.o \ 110 $(BUILDDIR)/server/sv_user.o \ 111 $(BUILDDIR)/server/sv_ccmds.o \ 112 $(BUILDDIR)/server/world.o \ 113 $(BUILDDIR)/server/sys_unix.o \ 114 $(BUILDDIR)/server/model.o \ 115 $(BUILDDIR)/server/cmd.o \ 116 $(BUILDDIR)/server/common.o \ 117 $(BUILDDIR)/server/crc.o \ 118 $(BUILDDIR)/server/cvar.o \ 119 $(BUILDDIR)/server/mathlib.o \ 120 $(BUILDDIR)/server/md4.o \ 121 $(BUILDDIR)/server/zone.o \ 122 $(BUILDDIR)/server/pmove.o \ 123 $(BUILDDIR)/server/pmovetst.o \ 124 $(BUILDDIR)/server/net_chan.o \ 125 $(BUILDDIR)/server/net_udp.o 126 127$(BUILDDIR)/qwsv : $(QWSV_OBJS) 128 $(CC) $(CFLAGS) -o $@ $(QWSV_OBJS) $(LDFLAGS) 129 130$(BUILDDIR)/server/pr_cmds.o : $(SERVER_DIR)/pr_cmds.c 131 $(DO_SERVER_CC) 132 133$(BUILDDIR)/server/pr_edict.o : $(SERVER_DIR)/pr_edict.c 134 $(DO_SERVER_CC) 135 136$(BUILDDIR)/server/pr_exec.o : $(SERVER_DIR)/pr_exec.c 137 $(DO_SERVER_CC) 138 139$(BUILDDIR)/server/sv_init.o : $(SERVER_DIR)/sv_init.c 140 $(DO_SERVER_CC) 141 142$(BUILDDIR)/server/sv_main.o : $(SERVER_DIR)/sv_main.c 143 $(DO_SERVER_CC) 144 145$(BUILDDIR)/server/sv_nchan.o : $(SERVER_DIR)/sv_nchan.c 146 $(DO_SERVER_CC) 147 148$(BUILDDIR)/server/sv_ents.o : $(SERVER_DIR)/sv_ents.c 149 $(DO_SERVER_CC) 150 151$(BUILDDIR)/server/sv_send.o : $(SERVER_DIR)/sv_send.c 152 $(DO_SERVER_CC) 153 154$(BUILDDIR)/server/sv_move.o : $(SERVER_DIR)/sv_move.c 155 $(DO_SERVER_CC) 156 157$(BUILDDIR)/server/sv_phys.o : $(SERVER_DIR)/sv_phys.c 158 $(DO_SERVER_CC) 159 160$(BUILDDIR)/server/sv_user.o : $(SERVER_DIR)/sv_user.c 161 $(DO_SERVER_CC) 162 163$(BUILDDIR)/server/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c 164 $(DO_SERVER_CC) 165 166$(BUILDDIR)/server/world.o : $(SERVER_DIR)/world.c 167 $(DO_SERVER_CC) 168 169$(BUILDDIR)/server/sys_unix.o : $(SERVER_DIR)/sys_unix.c 170 $(DO_SERVER_CC) 171 172$(BUILDDIR)/server/model.o : $(SERVER_DIR)/model.c 173 $(DO_SERVER_CC) 174 175$(BUILDDIR)/server/cmd.o : $(CLIENT_DIR)/cmd.c 176 $(DO_SERVER_CC) 177 178$(BUILDDIR)/server/common.o : $(CLIENT_DIR)/common.c 179 $(DO_SERVER_CC) 180 181$(BUILDDIR)/server/crc.o : $(CLIENT_DIR)/crc.c 182 $(DO_SERVER_CC) 183 184$(BUILDDIR)/server/cvar.o : $(CLIENT_DIR)/cvar.c 185 $(DO_SERVER_CC) 186 187$(BUILDDIR)/server/mathlib.o : $(CLIENT_DIR)/mathlib.c 188 $(DO_SERVER_CC) 189 190$(BUILDDIR)/server/md4.o : $(CLIENT_DIR)/md4.c 191 $(DO_SERVER_CC) 192 193$(BUILDDIR)/server/zone.o : $(CLIENT_DIR)/zone.c 194 $(DO_SERVER_CC) 195 196$(BUILDDIR)/server/pmove.o : $(CLIENT_DIR)/pmove.c 197 $(DO_SERVER_CC) 198 199$(BUILDDIR)/server/pmovetst.o : $(CLIENT_DIR)/pmovetst.c 200 $(DO_SERVER_CC) 201 202$(BUILDDIR)/server/net_chan.o : $(CLIENT_DIR)/net_chan.c 203 $(DO_SERVER_CC) 204 205$(BUILDDIR)/server/net_udp.o : $(CLIENT_DIR)/net_udp.c 206 $(DO_SERVER_CC) 207 208############################################################################# 209# CLIENT 210############################################################################# 211 212QWCL_OBJS = \ 213 $(BUILDDIR)/client/cl_demo.o \ 214 $(BUILDDIR)/client/cl_ents.o \ 215 $(BUILDDIR)/client/cl_input.o \ 216 $(BUILDDIR)/client/cl_main.o \ 217 $(BUILDDIR)/client/cl_parse.o \ 218 $(BUILDDIR)/client/cl_pred.o \ 219 $(BUILDDIR)/client/cl_tent.o \ 220 $(BUILDDIR)/client/cl_cam.o \ 221 $(BUILDDIR)/client/cmd.o \ 222 $(BUILDDIR)/client/common.o \ 223 $(BUILDDIR)/client/console.o \ 224 $(BUILDDIR)/client/crc.o \ 225 $(BUILDDIR)/client/cvar.o \ 226 $(BUILDDIR)/client/d_edge.o \ 227 $(BUILDDIR)/client/d_fill.o \ 228 $(BUILDDIR)/client/d_init.o \ 229 $(BUILDDIR)/client/d_modech.o \ 230 $(BUILDDIR)/client/d_part.o \ 231 $(BUILDDIR)/client/d_polyse.o \ 232 $(BUILDDIR)/client/d_scan.o \ 233 $(BUILDDIR)/client/d_sky.o \ 234 $(BUILDDIR)/client/d_sprite.o \ 235 $(BUILDDIR)/client/d_surf.o \ 236 $(BUILDDIR)/client/d_vars.o \ 237 $(BUILDDIR)/client/d_zpoint.o \ 238 $(BUILDDIR)/client/draw.o \ 239 $(BUILDDIR)/client/keys.o \ 240 $(BUILDDIR)/client/mathlib.o \ 241 $(BUILDDIR)/client/md4.o \ 242 $(BUILDDIR)/client/menu.o \ 243 $(BUILDDIR)/client/model.o \ 244 $(BUILDDIR)/client/net_chan.o \ 245 $(BUILDDIR)/client/net_udp.o \ 246 $(BUILDDIR)/client/nonintel.o \ 247 $(BUILDDIR)/client/pmove.o \ 248 $(BUILDDIR)/client/pmovetst.o \ 249 $(BUILDDIR)/client/r_aclip.o \ 250 $(BUILDDIR)/client/r_alias.o \ 251 $(BUILDDIR)/client/r_bsp.o \ 252 $(BUILDDIR)/client/r_draw.o \ 253 $(BUILDDIR)/client/r_edge.o \ 254 $(BUILDDIR)/client/r_efrag.o \ 255 $(BUILDDIR)/client/r_light.o \ 256 $(BUILDDIR)/client/r_main.o \ 257 $(BUILDDIR)/client/r_misc.o \ 258 $(BUILDDIR)/client/r_part.o \ 259 $(BUILDDIR)/client/r_sky.o \ 260 $(BUILDDIR)/client/r_sprite.o \ 261 $(BUILDDIR)/client/r_surf.o \ 262 $(BUILDDIR)/client/r_vars.o \ 263 $(BUILDDIR)/client/sbar.o \ 264 $(BUILDDIR)/client/screen.o \ 265 $(BUILDDIR)/client/skin.o \ 266 $(BUILDDIR)/client/snd_dma.o \ 267 $(BUILDDIR)/client/snd_mem.o \ 268 $(BUILDDIR)/client/snd_mix.o \ 269 $(BUILDDIR)/client/view.o \ 270 $(BUILDDIR)/client/wad.o \ 271 $(BUILDDIR)/client/zone.o \ 272 $(BUILDDIR)/client/cd_linux.o \ 273 $(BUILDDIR)/client/sys_linux.o \ 274 $(BUILDDIR)/client/snd_linux.o \ 275 276ifeq ($(ARCH),i386) 277 QWCL_AS_OBJS = \ 278 $(BUILDDIR)/client/d_copy.o \ 279 $(BUILDDIR)/client/d_draw.o \ 280 $(BUILDDIR)/client/d_draw16.o \ 281 $(BUILDDIR)/client/d_parta.o \ 282 $(BUILDDIR)/client/d_polysa.o \ 283 $(BUILDDIR)/client/d_scana.o \ 284 $(BUILDDIR)/client/d_spr8.o \ 285 $(BUILDDIR)/client/d_varsa.o \ 286 $(BUILDDIR)/client/math.o \ 287 $(BUILDDIR)/client/r_aclipa.o \ 288 $(BUILDDIR)/client/r_aliasa.o \ 289 $(BUILDDIR)/client/r_drawa.o \ 290 $(BUILDDIR)/client/r_edgea.o \ 291 $(BUILDDIR)/client/r_varsa.o \ 292 $(BUILDDIR)/client/snd_mixa.o \ 293 $(BUILDDIR)/client/surf16.o \ 294 $(BUILDDIR)/client/surf8.o \ 295 $(BUILDDIR)/client/sys_dosa.o 296else 297 QWCL_AS_OBJS= 298endif 299 300QWCL_SVGA_OBJS = $(BUILDDIR)/client/vid_svgalib.o 301QWCL_X11_OBJS = $(BUILDDIR)/client/vid_x.o 302 303$(BUILDDIR)/qwcl : $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_SVGA_OBJS) 304 $(CC) $(CFLAGS) -o $@ $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_SVGA_OBJS) \ 305 $(LDFLAGS) $(SVGALDFLAGS) 306 307$(BUILDDIR)/qwcl.x11 : $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_X11_OBJS) 308 $(CC) $(CFLAGS) -o $@ $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_X11_OBJS) \ 309 $(LDFLAGS) $(XLDFLAGS) 310 311$(BUILDDIR)/client/cl_demo.o : $(CLIENT_DIR)/cl_demo.c 312 $(DO_CC) 313 314$(BUILDDIR)/client/cl_ents.o : $(CLIENT_DIR)/cl_ents.c 315 $(DO_CC) 316 317$(BUILDDIR)/client/cl_input.o : $(CLIENT_DIR)/cl_input.c 318 $(DO_CC) 319 320$(BUILDDIR)/client/cl_main.o : $(CLIENT_DIR)/cl_main.c 321 $(DO_CC) 322 323$(BUILDDIR)/client/cl_parse.o : $(CLIENT_DIR)/cl_parse.c 324 $(DO_CC) 325 326$(BUILDDIR)/client/cl_pred.o : $(CLIENT_DIR)/cl_pred.c 327 $(DO_CC) 328 329$(BUILDDIR)/client/cl_tent.o : $(CLIENT_DIR)/cl_tent.c 330 $(DO_CC) 331 332$(BUILDDIR)/client/cl_cam.o : $(CLIENT_DIR)/cl_cam.c 333 $(DO_CC) 334 335$(BUILDDIR)/client/cmd.o : $(CLIENT_DIR)/cmd.c 336 $(DO_CC) 337 338$(BUILDDIR)/client/common.o : $(CLIENT_DIR)/common.c 339 $(DO_CC) 340 341$(BUILDDIR)/client/console.o : $(CLIENT_DIR)/console.c 342 $(DO_CC) 343 344$(BUILDDIR)/client/crc.o : $(CLIENT_DIR)/crc.c 345 $(DO_CC) 346 347$(BUILDDIR)/client/cvar.o : $(CLIENT_DIR)/cvar.c 348 $(DO_CC) 349 350$(BUILDDIR)/client/d_edge.o : $(CLIENT_DIR)/d_edge.c 351 $(DO_CC) 352 353$(BUILDDIR)/client/d_fill.o : $(CLIENT_DIR)/d_fill.c 354 $(DO_CC) 355 356$(BUILDDIR)/client/d_init.o : $(CLIENT_DIR)/d_init.c 357 $(DO_CC) 358 359$(BUILDDIR)/client/d_modech.o : $(CLIENT_DIR)/d_modech.c 360 $(DO_CC) 361 362$(BUILDDIR)/client/d_part.o : $(CLIENT_DIR)/d_part.c 363 $(DO_CC) 364 365$(BUILDDIR)/client/d_polyse.o : $(CLIENT_DIR)/d_polyse.c 366 $(DO_CC) 367 368$(BUILDDIR)/client/d_scan.o : $(CLIENT_DIR)/d_scan.c 369 $(DO_CC) 370 371$(BUILDDIR)/client/d_sky.o : $(CLIENT_DIR)/d_sky.c 372 $(DO_CC) 373 374$(BUILDDIR)/client/d_sprite.o : $(CLIENT_DIR)/d_sprite.c 375 $(DO_CC) 376 377$(BUILDDIR)/client/d_surf.o : $(CLIENT_DIR)/d_surf.c 378 $(DO_CC) 379 380$(BUILDDIR)/client/d_vars.o : $(CLIENT_DIR)/d_vars.c 381 $(DO_CC) 382 383$(BUILDDIR)/client/d_zpoint.o : $(CLIENT_DIR)/d_zpoint.c 384 $(DO_CC) 385 386$(BUILDDIR)/client/draw.o : $(CLIENT_DIR)/draw.c 387 $(DO_CC) 388 389$(BUILDDIR)/client/keys.o : $(CLIENT_DIR)/keys.c 390 $(DO_CC) 391 392$(BUILDDIR)/client/mathlib.o : $(CLIENT_DIR)/mathlib.c 393 $(DO_CC) 394 395$(BUILDDIR)/client/md4.o : $(CLIENT_DIR)/md4.c 396 $(DO_CC) 397 398$(BUILDDIR)/client/menu.o : $(CLIENT_DIR)/menu.c 399 $(DO_CC) 400 401$(BUILDDIR)/client/model.o : $(CLIENT_DIR)/model.c 402 $(DO_CC) 403 404$(BUILDDIR)/client/net_chan.o : $(CLIENT_DIR)/net_chan.c 405 $(DO_CC) 406 407$(BUILDDIR)/client/net_udp.o : $(CLIENT_DIR)/net_udp.c 408 $(DO_CC) 409 410$(BUILDDIR)/client/nonintel.o : $(CLIENT_DIR)/nonintel.c 411 $(DO_CC) 412 413$(BUILDDIR)/client/pmove.o : $(CLIENT_DIR)/pmove.c 414 $(DO_CC) 415 416$(BUILDDIR)/client/pmovetst.o : $(CLIENT_DIR)/pmovetst.c 417 $(DO_CC) 418 419$(BUILDDIR)/client/r_aclip.o : $(CLIENT_DIR)/r_aclip.c 420 $(DO_CC) 421 422$(BUILDDIR)/client/r_alias.o : $(CLIENT_DIR)/r_alias.c 423 $(DO_CC) 424 425$(BUILDDIR)/client/r_bsp.o : $(CLIENT_DIR)/r_bsp.c 426 $(DO_CC) 427 428$(BUILDDIR)/client/r_draw.o : $(CLIENT_DIR)/r_draw.c 429 $(DO_CC) 430 431$(BUILDDIR)/client/r_edge.o : $(CLIENT_DIR)/r_edge.c 432 $(DO_CC) 433 434$(BUILDDIR)/client/r_efrag.o : $(CLIENT_DIR)/r_efrag.c 435 $(DO_CC) 436 437$(BUILDDIR)/client/r_light.o : $(CLIENT_DIR)/r_light.c 438 $(DO_CC) 439 440$(BUILDDIR)/client/r_main.o : $(CLIENT_DIR)/r_main.c 441 $(DO_CC) 442 443$(BUILDDIR)/client/r_misc.o : $(CLIENT_DIR)/r_misc.c 444 $(DO_CC) 445 446$(BUILDDIR)/client/r_part.o : $(CLIENT_DIR)/r_part.c 447 $(DO_CC) 448 449$(BUILDDIR)/client/r_sky.o : $(CLIENT_DIR)/r_sky.c 450 $(DO_CC) 451 452$(BUILDDIR)/client/r_sprite.o : $(CLIENT_DIR)/r_sprite.c 453 $(DO_CC) 454 455$(BUILDDIR)/client/r_surf.o : $(CLIENT_DIR)/r_surf.c 456 $(DO_CC) 457 458$(BUILDDIR)/client/r_vars.o : $(CLIENT_DIR)/r_vars.c 459 $(DO_CC) 460 461$(BUILDDIR)/client/sbar.o : $(CLIENT_DIR)/sbar.c 462 $(DO_CC) 463 464$(BUILDDIR)/client/screen.o : $(CLIENT_DIR)/screen.c 465 $(DO_CC) 466 467$(BUILDDIR)/client/skin.o : $(CLIENT_DIR)/skin.c 468 $(DO_CC) 469 470$(BUILDDIR)/client/snd_dma.o : $(CLIENT_DIR)/snd_dma.c 471 $(DO_CC) 472 473$(BUILDDIR)/client/snd_mem.o : $(CLIENT_DIR)/snd_mem.c 474 $(DO_CC) 475 476$(BUILDDIR)/client/snd_mix.o : $(CLIENT_DIR)/snd_mix.c 477 $(DO_CC) 478 479$(BUILDDIR)/client/view.o : $(CLIENT_DIR)/view.c 480 $(DO_CC) 481 482$(BUILDDIR)/client/wad.o : $(CLIENT_DIR)/wad.c 483 $(DO_CC) 484 485$(BUILDDIR)/client/zone.o : $(CLIENT_DIR)/zone.c 486 $(DO_CC) 487 488$(BUILDDIR)/client/cd_linux.o : $(CLIENT_DIR)/cd_linux.c 489 $(DO_CC) 490 491$(BUILDDIR)/client/sys_linux.o : $(CLIENT_DIR)/sys_linux.c 492 $(DO_CC) 493 494$(BUILDDIR)/client/snd_linux.o : $(CLIENT_DIR)/snd_linux.c 495 $(DO_CC) 496 497$(BUILDDIR)/client/d_copy.o : $(CLIENT_DIR)/d_copy.s 498 $(DO_AS) 499 500$(BUILDDIR)/client/d_draw.o : $(CLIENT_DIR)/d_draw.s 501 $(DO_AS) 502 503$(BUILDDIR)/client/d_draw16.o : $(CLIENT_DIR)/d_draw16.s 504 $(DO_AS) 505 506$(BUILDDIR)/client/d_parta.o : $(CLIENT_DIR)/d_parta.s 507 $(DO_AS) 508 509$(BUILDDIR)/client/d_polysa.o : $(CLIENT_DIR)/d_polysa.s 510 $(DO_AS) 511 512$(BUILDDIR)/client/d_scana.o : $(CLIENT_DIR)/d_scana.s 513 $(DO_AS) 514 515$(BUILDDIR)/client/d_spr8.o : $(CLIENT_DIR)/d_spr8.s 516 $(DO_AS) 517 518$(BUILDDIR)/client/d_varsa.o : $(CLIENT_DIR)/d_varsa.s 519 $(DO_AS) 520 521$(BUILDDIR)/client/math.o : $(CLIENT_DIR)/math.s 522 $(DO_AS) 523 524$(BUILDDIR)/client/r_aclipa.o : $(CLIENT_DIR)/r_aclipa.s 525 $(DO_AS) 526 527$(BUILDDIR)/client/r_aliasa.o : $(CLIENT_DIR)/r_aliasa.s 528 $(DO_AS) 529 530$(BUILDDIR)/client/r_drawa.o : $(CLIENT_DIR)/r_drawa.s 531 $(DO_AS) 532 533$(BUILDDIR)/client/r_edgea.o : $(CLIENT_DIR)/r_edgea.s 534 $(DO_AS) 535 536$(BUILDDIR)/client/r_varsa.o : $(CLIENT_DIR)/r_varsa.s 537 $(DO_AS) 538 539$(BUILDDIR)/client/snd_mixa.o : $(CLIENT_DIR)/snd_mixa.s 540 $(DO_AS) 541 542$(BUILDDIR)/client/surf16.o : $(CLIENT_DIR)/surf16.s 543 $(DO_AS) 544 545$(BUILDDIR)/client/surf8.o : $(CLIENT_DIR)/surf8.s 546 $(DO_AS) 547 548$(BUILDDIR)/client/sys_dosa.o : $(CLIENT_DIR)/sys_dosa.s 549 $(DO_AS) 550 551$(BUILDDIR)/client/vid_svgalib.o : $(CLIENT_DIR)/vid_svgalib.c 552 $(DO_O_CC) 553 554$(BUILDDIR)/client/vid_x.o : $(CLIENT_DIR)/vid_x.c 555 $(DO_CC) 556 557############################################################################# 558# GL CLIENT 559############################################################################# 560 561GLQWCL_OBJS = \ 562 $(BUILDDIR)/glclient/cl_demo.o \ 563 $(BUILDDIR)/glclient/cl_ents.o \ 564 $(BUILDDIR)/glclient/cl_input.o \ 565 $(BUILDDIR)/glclient/cl_main.o \ 566 $(BUILDDIR)/glclient/cl_parse.o \ 567 $(BUILDDIR)/glclient/cl_pred.o \ 568 $(BUILDDIR)/glclient/cl_tent.o \ 569 $(BUILDDIR)/glclient/cl_cam.o \ 570 $(BUILDDIR)/glclient/cmd.o \ 571 $(BUILDDIR)/glclient/common.o \ 572 $(BUILDDIR)/glclient/console.o \ 573 $(BUILDDIR)/glclient/crc.o \ 574 $(BUILDDIR)/glclient/cvar.o \ 575 $(BUILDDIR)/glclient/keys.o \ 576 $(BUILDDIR)/glclient/mathlib.o \ 577 $(BUILDDIR)/glclient/md4.o \ 578 $(BUILDDIR)/glclient/menu.o \ 579 $(BUILDDIR)/glclient/net_chan.o \ 580 $(BUILDDIR)/glclient/net_udp.o \ 581 $(BUILDDIR)/glclient/nonintel.o \ 582 $(BUILDDIR)/glclient/pmove.o \ 583 $(BUILDDIR)/glclient/pmovetst.o \ 584 $(BUILDDIR)/glclient/r_part.o \ 585 $(BUILDDIR)/glclient/sbar.o \ 586 $(BUILDDIR)/glclient/skin.o \ 587 $(BUILDDIR)/glclient/snd_dma.o \ 588 $(BUILDDIR)/glclient/snd_mem.o \ 589 $(BUILDDIR)/glclient/snd_mix.o \ 590 $(BUILDDIR)/glclient/view.o \ 591 $(BUILDDIR)/glclient/wad.o \ 592 $(BUILDDIR)/glclient/zone.o \ 593 $(BUILDDIR)/glclient/cd_linux.o \ 594 $(BUILDDIR)/glclient/sys_linux.o \ 595 $(BUILDDIR)/glclient/snd_linux.o \ 596 \ 597 $(BUILDDIR)/glclient/gl_draw.o \ 598 $(BUILDDIR)/glclient/gl_mesh.o \ 599 $(BUILDDIR)/glclient/gl_model.o \ 600 $(BUILDDIR)/glclient/gl_ngraph.o \ 601 $(BUILDDIR)/glclient/gl_refrag.o \ 602 $(BUILDDIR)/glclient/gl_rlight.o \ 603 $(BUILDDIR)/glclient/gl_rmain.o \ 604 $(BUILDDIR)/glclient/gl_rmisc.o \ 605 $(BUILDDIR)/glclient/gl_rsurf.o \ 606 $(BUILDDIR)/glclient/gl_screen.o \ 607 $(BUILDDIR)/glclient/gl_warp.o \ 608 \ 609 $(BUILDDIR)/glclient/math.o \ 610 $(BUILDDIR)/glclient/snd_mixa.o \ 611 $(BUILDDIR)/glclient/sys_dosa.o 612 613GLQWCL_SVGA_OBJS = $(BUILDDIR)/glclient/gl_vidlinux.o 614GLQWCL_X11_OBJS = $(BUILDDIR)/glclient/gl_vidlinuxglx.o 615 616$(BUILDDIR)/glqwcl : $(GLQWCL_OBJS) $(GLQWCL_SVGA_OBJS) 617 $(CC) $(CFLAGS) -o $@ $(GLQWCL_OBJS) $(GLQWCL_SVGA_OBJS) $(LDFLAGS) $(GL_SVGA_LDFLAGS) 618 619$(BUILDDIR)/glqwcl.glx : $(GLQWCL_OBJS) $(GLQWCL_X11_OBJS) 620 $(CC) $(CFLAGS) -o $@ $(GLQWCL_OBJS) $(GLQWCL_X11_OBJS) $(LDFLAGS) $(GL_X11_LDFLAGS) 621 622$(BUILDDIR)/glclient/cl_demo.o : $(CLIENT_DIR)/cl_demo.c 623 $(DO_GL_CC) 624 625$(BUILDDIR)/glclient/cl_ents.o : $(CLIENT_DIR)/cl_ents.c 626 $(DO_GL_CC) 627 628$(BUILDDIR)/glclient/cl_input.o : $(CLIENT_DIR)/cl_input.c 629 $(DO_GL_CC) 630 631$(BUILDDIR)/glclient/cl_main.o : $(CLIENT_DIR)/cl_main.c 632 $(DO_GL_CC) 633 634$(BUILDDIR)/glclient/cl_parse.o : $(CLIENT_DIR)/cl_parse.c 635 $(DO_GL_CC) 636 637$(BUILDDIR)/glclient/cl_pred.o : $(CLIENT_DIR)/cl_pred.c 638 $(DO_GL_CC) 639 640$(BUILDDIR)/glclient/cl_tent.o : $(CLIENT_DIR)/cl_tent.c 641 $(DO_GL_CC) 642 643$(BUILDDIR)/glclient/cl_cam.o : $(CLIENT_DIR)/cl_cam.c 644 $(DO_GL_CC) 645 646$(BUILDDIR)/glclient/cmd.o : $(CLIENT_DIR)/cmd.c 647 $(DO_GL_CC) 648 649$(BUILDDIR)/glclient/common.o : $(CLIENT_DIR)/common.c 650 $(DO_GL_CC) 651 652$(BUILDDIR)/glclient/console.o : $(CLIENT_DIR)/console.c 653 $(DO_GL_CC) 654 655$(BUILDDIR)/glclient/crc.o : $(CLIENT_DIR)/crc.c 656 $(DO_GL_CC) 657 658$(BUILDDIR)/glclient/cvar.o : $(CLIENT_DIR)/cvar.c 659 $(DO_GL_CC) 660 661$(BUILDDIR)/glclient/keys.o : $(CLIENT_DIR)/keys.c 662 $(DO_GL_CC) 663 664$(BUILDDIR)/glclient/mathlib.o : $(CLIENT_DIR)/mathlib.c 665 $(DO_GL_CC) 666 667$(BUILDDIR)/glclient/md4.o : $(CLIENT_DIR)/md4.c 668 $(DO_GL_CC) 669 670$(BUILDDIR)/glclient/menu.o : $(CLIENT_DIR)/menu.c 671 $(DO_GL_CC) 672 673$(BUILDDIR)/glclient/net_chan.o : $(CLIENT_DIR)/net_chan.c 674 $(DO_GL_CC) 675 676$(BUILDDIR)/glclient/net_udp.o : $(CLIENT_DIR)/net_udp.c 677 $(DO_GL_CC) 678 679$(BUILDDIR)/glclient/nonintel.o : $(CLIENT_DIR)/nonintel.c 680 $(DO_GL_CC) 681 682$(BUILDDIR)/glclient/pmove.o : $(CLIENT_DIR)/pmove.c 683 $(DO_GL_CC) 684 685$(BUILDDIR)/glclient/pmovetst.o : $(CLIENT_DIR)/pmovetst.c 686 $(DO_GL_CC) 687 688$(BUILDDIR)/glclient/r_part.o : $(CLIENT_DIR)/r_part.c 689 $(DO_GL_CC) 690 691$(BUILDDIR)/glclient/sbar.o : $(CLIENT_DIR)/sbar.c 692 $(DO_GL_CC) 693 694$(BUILDDIR)/glclient/screen.o : $(CLIENT_DIR)/screen.c 695 $(DO_GL_CC) 696 697$(BUILDDIR)/glclient/skin.o : $(CLIENT_DIR)/skin.c 698 $(DO_GL_CC) 699 700$(BUILDDIR)/glclient/snd_dma.o : $(CLIENT_DIR)/snd_dma.c 701 $(DO_GL_CC) 702 703$(BUILDDIR)/glclient/snd_mem.o : $(CLIENT_DIR)/snd_mem.c 704 $(DO_GL_CC) 705 706$(BUILDDIR)/glclient/snd_mix.o : $(CLIENT_DIR)/snd_mix.c 707 $(DO_GL_CC) 708 709$(BUILDDIR)/glclient/view.o : $(CLIENT_DIR)/view.c 710 $(DO_GL_CC) 711 712$(BUILDDIR)/glclient/wad.o : $(CLIENT_DIR)/wad.c 713 $(DO_GL_CC) 714 715$(BUILDDIR)/glclient/zone.o : $(CLIENT_DIR)/zone.c 716 $(DO_GL_CC) 717 718$(BUILDDIR)/glclient/cd_linux.o : $(CLIENT_DIR)/cd_linux.c 719 $(DO_GL_CC) 720 721$(BUILDDIR)/glclient/sys_linux.o : $(CLIENT_DIR)/sys_linux.c 722 $(DO_GL_CC) 723 724$(BUILDDIR)/glclient/snd_linux.o : $(CLIENT_DIR)/snd_linux.c 725 $(DO_GL_CC) 726 727$(BUILDDIR)/glclient/gl_draw.o : $(CLIENT_DIR)/gl_draw.c 728 $(DO_GL_CC) 729 730$(BUILDDIR)/glclient/gl_mesh.o : $(CLIENT_DIR)/gl_mesh.c 731 $(DO_GL_CC) 732 733$(BUILDDIR)/glclient/gl_model.o : $(CLIENT_DIR)/gl_model.c 734 $(DO_GL_CC) 735 736$(BUILDDIR)/glclient/gl_ngraph.o : $(CLIENT_DIR)/gl_ngraph.c 737 $(DO_GL_CC) 738 739$(BUILDDIR)/glclient/gl_refrag.o : $(CLIENT_DIR)/gl_refrag.c 740 $(DO_GL_CC) 741 742$(BUILDDIR)/glclient/gl_rlight.o : $(CLIENT_DIR)/gl_rlight.c 743 $(DO_GL_CC) 744 745$(BUILDDIR)/glclient/gl_rmain.o : $(CLIENT_DIR)/gl_rmain.c 746 $(DO_GL_CC) 747 748$(BUILDDIR)/glclient/gl_rmisc.o : $(CLIENT_DIR)/gl_rmisc.c 749 $(DO_GL_CC) 750 751$(BUILDDIR)/glclient/gl_rsurf.o : $(CLIENT_DIR)/gl_rsurf.c 752 $(DO_GL_CC) 753 754$(BUILDDIR)/glclient/gl_screen.o : $(CLIENT_DIR)/gl_screen.c 755 $(DO_GL_CC) 756 757$(BUILDDIR)/glclient/gl_vidlinux.o : $(CLIENT_DIR)/gl_vidlinux.c 758 $(DO_GL_CC) 759 760$(BUILDDIR)/glclient/gl_vidlinuxglx.o : $(CLIENT_DIR)/gl_vidlinuxglx.c 761 $(DO_GL_CC) 762 763$(BUILDDIR)/glclient/gl_warp.o : $(CLIENT_DIR)/gl_warp.c 764 $(DO_GL_CC) 765 766$(BUILDDIR)/glclient/math.o : $(CLIENT_DIR)/math.s 767 $(DO_GL_AS) 768 769$(BUILDDIR)/glclient/snd_mixa.o : $(CLIENT_DIR)/snd_mixa.s 770 $(DO_GL_AS) 771 772$(BUILDDIR)/glclient/sys_dosa.o : $(CLIENT_DIR)/sys_dosa.s 773 $(DO_GL_AS) 774 775############################################################################# 776# RPM 777############################################################################# 778 779# Make RPMs. You need to be root to make this work 780RPMROOT=/usr/src/redhat 781RPM = rpm 782RPMFLAGS = -bb 783INSTALLDIR = /usr/local/games/quake 784 785ifeq ($(ARCH),axp) 786rpm: rpm-qwsv 787tar: tar-qwsv 788else 789rpm: rpm-qwcl rpm-qwsv 790tar: tar-qwcl tar-qwsv 791endif 792 793QWCL_RPMDIR=/var/tmp/qwcl-$(VERSION) 794TDFXGL_DIR=/home/zoid/3dfxgl 795 796QWPROGS = \ 797 $(MAINDIR)/progs/buttons.qc \ 798 $(MAINDIR)/progs/client.qc \ 799 $(MAINDIR)/progs/combat.qc \ 800 $(MAINDIR)/progs/defs.qc \ 801 $(MAINDIR)/progs/doors.qc \ 802 $(MAINDIR)/progs/items.qc \ 803 $(MAINDIR)/progs/misc.qc \ 804 $(MAINDIR)/progs/models.qc \ 805 $(MAINDIR)/progs/plats.qc \ 806 $(MAINDIR)/progs/player.qc \ 807 $(MAINDIR)/progs/progdefs.h \ 808 $(MAINDIR)/progs/progs.src \ 809 $(MAINDIR)/progs/qwprogs.dat \ 810 $(MAINDIR)/progs/server.qc \ 811 $(MAINDIR)/progs/spectate.qc \ 812 $(MAINDIR)/progs/sprites.qc \ 813 $(MAINDIR)/progs/subs.qc \ 814 $(MAINDIR)/progs/triggers.qc \ 815 $(MAINDIR)/progs/weapons.qc \ 816 $(MAINDIR)/progs/world.qc 817 818rpm-qwcl: qwcl.spec \ 819 $(BUILD_RELEASE_DIR)/qwcl \ 820 $(BUILD_RELEASE_DIR)/glqwcl \ 821 $(BUILD_RELEASE_DIR)/glqwcl.glx \ 822 $(BUILD_RELEASE_DIR)/qwcl.x11 823 touch $(RPMROOT)/SOURCES/qwcl-$(VERSION).tar.gz 824 if [ ! -d archives ];then mkdir archives;fi 825 $(MAKE) copyfiles-qwcl DESTDIR=$(QWCL_RPMDIR)/$(INSTALLDIR) 826 cp qwcl.spec $(RPMROOT)/SPECS/qwcl.spec 827 cp $(MAINDIR)/quake.gif $(RPMROOT)/SOURCES/quake.gif 828 cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) qwcl.spec 829 cp $(RPMROOT)/RPMS/$(RPMARCH)/qwcl-$(VERSION)-$(RPM_RELEASE).$(RPMARCH).rpm archives/. 830 rm -rf $(QWCL_RPMDIR) 831 832tar-qwcl: $(BUILD_RELEASE_DIR)/qwcl \ 833 $(BUILD_RELEASE_DIR)/glqwcl \ 834 $(BUILD_RELEASE_DIR)/glqwcl.glx \ 835 $(BUILD_RELEASE_DIR)/qwcl.x11 836 if [ ! -d archives ];then mkdir archives;fi 837 $(MAKE) copyfiles-qwcl DESTDIR=$(QWCL_RPMDIR)/$(INSTALLDIR) 838 cd $(QWCL_RPMDIR)/$(INSTALLDIR); tar czvf qwcl-$(VERSION)-$(RPMARCH)-unknown-linux2.0.tar.gz * 839 mv $(QWCL_RPMDIR)/$(INSTALLDIR)/*.tar.gz archives/. 840 rm -rf $(QWCL_RPMDIR) 841 842copyfiles-qwcl: 843 -mkdirhier $(DESTDIR) 844 -mkdirhier $(DESTDIR)/qw 845 -mkdirhier $(DESTDIR)/qw/skins 846 cp $(BUILD_RELEASE_DIR)/qwcl $(DESTDIR)/. 847 strip $(DESTDIR)/qwcl 848 chmod 4755 $(DESTDIR)/qwcl 849 cp $(BUILD_RELEASE_DIR)/qwcl.x11 $(DESTDIR)/. 850 strip $(DESTDIR)/qwcl.x11 851 chmod 755 $(DESTDIR)/qwcl.x11 852 cp $(BUILD_RELEASE_DIR)/glqwcl $(DESTDIR)/. 853 strip $(DESTDIR)/glqwcl 854 chmod 4755 $(DESTDIR)/glqwcl 855 cp $(BUILD_RELEASE_DIR)/glqwcl.glx $(DESTDIR)/. 856 strip $(DESTDIR)/glqwcl.glx 857 chmod 4755 $(DESTDIR)/glqwcl.glx 858 cp $(TDFXGL_DIR)/release$(ARCH)/lib3dfxgl.so $(DESTDIR)/. 859 chmod 755 $(DESTDIR)/lib3dfxgl.so 860 cp $(MAINDIR)/glqwcl.3dfxgl $(DESTDIR)/. 861 chmod 755 $(DESTDIR)/glqwcl.3dfxgl 862 cp $(MAINDIR)/docs/README.qwcl $(DESTDIR)/. 863 chmod 644 $(DESTDIR)/README.qwcl 864 cp $(MAINDIR)/fixskins.sh $(DESTDIR)/qw/skins/. 865 chmod 755 $(DESTDIR)/qw/skins/fixskins.sh 866 cp $(MESA_DIR)/lib/libMesaGL.so.2.6 $(DESTDIR) 867 chmod 755 $(DESTDIR)/libMesaGL.so.2.6 868 cd $(DESTDIR); ln -sf libMesaGL.so.2.6 libMesaGL.so.2 869 cd $(DESTDIR); ln -sf libMesaGL.so.2 libMesaGL.so 870 cd $(DESTDIR); ln -sf libMesaGL.so libGL.so 871 872qwcl.spec : $(MAINDIR)/qwcl.spec.sh $(BUILD_RELEASE_DIR)/qwcl 873 sh $< $(VERSION) $(RPM_RELEASE) $(INSTALLDIR) > $@ 874 875QWSV_RPMDIR=/var/tmp/qwsv-$(VERSION) 876rpm-qwsv: qwsv.spec $(BUILD_RELEASE_DIR)/qwsv $(QWPROGS) 877 touch $(RPMROOT)/SOURCES/qwsv-$(VERSION).tar.gz 878 if [ ! -d archives ];then mkdir archives;fi 879 $(MAKE) copyfiles-qwsv DESTDIR=$(QWSV_RPMDIR)/$(INSTALLDIR) 880 cp qwsv.spec $(RPMROOT)/SPECS/qwsv.spec 881 cp $(MAINDIR)/quake.gif $(RPMROOT)/SOURCES/quake.gif 882 cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) qwsv.spec 883 cp $(RPMROOT)/RPMS/$(RPMARCH)/qwsv-$(VERSION)-$(RPM_RELEASE).$(RPMARCH).rpm archives/. 884 rm -rf $(QWSV_RPMDIR) 885 886tar-qwsv: $(BUILD_RELEASE_DIR)/qwsv $(QWPROGS) 887 if [ ! -d archives ];then mkdir archives;fi 888 $(MAKE) copyfiles-qwsv DESTDIR=$(QWSV_RPMDIR)/$(INSTALLDIR) 889 cd $(QWSV_RPMDIR)/$(INSTALLDIR); tar czvf qwsv-$(VERSION)-$(RPMARCH)-unknown-linux2.0.tar.gz * 890 mv $(QWSV_RPMDIR)/$(INSTALLDIR)/*.tar.gz archives/. 891 rm -rf $(QWSV_RPMDIR) 892 893copyfiles-qwsv: 894 -mkdirhier $(DESTDIR) 895 -mkdirhier $(DESTDIR)/qw 896 -mkdirhier $(DESTDIR)/qw/skins 897 cp $(BUILD_RELEASE_DIR)/qwsv $(DESTDIR)/. 898 strip $(DESTDIR)/qwsv 899 chmod 755 $(DESTDIR)/qwsv 900 cp $(MAINDIR)/docs/README.qwsv $(DESTDIR)/. 901 chmod 644 $(DESTDIR)/README.qwsv 902 cp $(QWPROGS) $(DESTDIR)/qw/. 903 cd $(DESTDIR)/qw; chmod 644 * 904 chmod 755 $(DESTDIR)/qw/skins 905 cp $(MAINDIR)/fixskins.sh $(DESTDIR)/qw/skins/. 906 chmod 755 $(DESTDIR)/qw/skins/fixskins.sh 907 908qwsv.spec : $(MAINDIR)/qwsv.spec.sh $(BUILD_RELEASE_DIR)/qwsv 909 sh $< $(VERSION) $(RPM_RELEASE) $(INSTALLDIR) > $@ 910 911############################################################################# 912# MISC 913############################################################################# 914 915clean: clean-debug clean-release 916 917clean-debug: 918 $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" 919 920clean-release: 921 $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)" 922 923clean2: 924 -rm -f $(QWSV_OBJS) \ 925 $(QWCL_OBJS) \ 926 $(QWCL_AS_OBJS) \ 927 $(QWCL_SVGA_OBJS) \ 928 $(QWCL_X11_OBJS) \ 929 $(GLQWCL_OBJS) \ 930 931