1# 2# Makefile for Unix 2.0 3# 4# Nov '97 by Zoid <zoid@idsoftware.com> 5# 6# ELF only 7# 8# Modified by QuDos at http://qudos.quakedev.com 9 10# Check OS type. 11OSTYPE= $(shell uname -s | tr A-Z a-z) 12ARCH?= $(shell uname -m | sed -e s/i.86/i386/) 13MARCH= $(shell uname -m) 14OP_SYSTEM= $(shell uname -sr) 15 16MOUNT_DIR=. 17VERSION=$(shell grep "\#define Q2PVERSION" $(MOUNT_DIR)/qcommon/qcommon.h | sed -e 's/.*".* \([^ ]*\)"/\1/') 18Q2P_VERSION=Q2P $(VERSION) 19Q2P_VERSION_BZ2=Q2P-$(VERSION) 20BINDIR=quake2 21 22BUILD_DEBUG_DIR:=build_debug 23BUILD_RELEASE_DIR:=build_release 24 25#===========================# 26# Set to YES or NO for a # 27# verbose compilation # 28# process. # 29#===========================# 30VERBOSE=YES 31 32#===========================# 33# Q2P Client # 34#===========================# 35BUILD_Q2P?=NO 36 37#===========================# 38# Enable Optimizations. # 39# Release build only. # 40#===========================# 41OPTIMIZE?=NO 42 43#===========================# 44# Remove symbols from # 45# binaries, reduce size. # 46# Release build only. # 47#===========================# 48STRIP?=YES 49 50#===========================# 51# Sound Drivers # 52#===========================# 53ifeq ($(OSTYPE),linux) 54BUILD_ALSA_SND?=NO 55endif 56BUILD_OSS_SND?=NO 57BUILD_SDL_SND?=NO 58 59#===========================# 60# Quake 2 dedicated server. # 61#===========================# 62BUILD_DEDICATED?=NO 63 64#===========================# 65# GLX, SDL-GLX # 66# render. # 67#===========================# 68BUILD_GLX?=NO 69BUILD_SDLGL?=NO 70 71#===========================# 72# Linked To GLU library. # 73#===========================# 74WITH_GLULIB?=YES 75 76#===========================# 77# Built in DGA mouse # 78# support. # 79#===========================# 80WITH_XF86_DGA?=YES 81 82#===========================# 83# Read from $(DATADIR) and # 84# write to "~/.quake2" # 85#===========================# 86WITH_DATADIR?=YES 87 88#===========================# 89# Load renderers # 90# from $(LIBDIR) # 91#===========================# 92WITH_LIBDIR?=YES 93 94#===========================# 95# Built in CD Audio # 96# support. # 97#===========================# 98WITH_CDAUDIO?=YES 99ifeq ($(OSTYPE),freebsd) 100CD_API=cd_freebsd.c 101endif 102ifeq ($(OSTYPE),dragonfly) 103CD_API=cd_freebsd.c 104endif 105ifeq ($(OSTYPE),linux) 106CD_API=cd_linux.c 107endif 108 109#===========================# 110# Enable XMMS/Audacious # 111# support. Only one of them # 112# at same time. # 113#===========================# 114WITH_AUDACIOUS?=NO 115WITH_XMMS?=NO 116 117#===========================# 118# Quake 2 game library. # 119#===========================# 120BUILD_GAME?=NO 121 122#===========================# 123# CTF Library. # 124#===========================# 125BUILD_CTF?=NO 126 127 128CLIENT_DIR=$(MOUNT_DIR)/client 129SERVER_DIR=$(MOUNT_DIR)/server 130REF_GL_DIR=$(MOUNT_DIR)/ref_gl 131COMMON_DIR=$(MOUNT_DIR)/qcommon 132UNIX_DIR=$(MOUNT_DIR)/unix 133GAME_DIR=$(MOUNT_DIR)/game 134CTF_DIR=$(MOUNT_DIR)/ctf 135 136CC?=gcc 137CC_VERSION=$(shell $(CC) -dumpversion) 138 139X11BASE?= /usr/local 140LOCALBASE?= /usr/local 141GAMEBASE?= $(PREFIX) 142SYSBINDIR?= $(PREFIX)/bin 143 144ifeq (${OSTYPE},$(filter ${OSTYPE}, freebsd dragonfly)) 145 DATADIR?= $(GAMEBASE)/share/quake2 146 LIBDIR?= $(GAMEBASE)/lib/quake2 147else 148 DATADIR?= $(GAMEBASE)/games/quake2 149 LIBDIR?= $(GAMEBASE)/games/quake2 150endif 151 152SHLIB_EXT=so 153GAME_NAME=game.$(SHLIB_EXT) 154 155BASE_CFLAGS+=-I$(LOCALBASE)/include \ 156 -I$(X11BASE)/include \ 157 -DOP_SYSTEM='\"$(OP_SYSTEM)\"' \ 158 -DGAME_NAME='\"$(GAME_NAME)\"' \ 159 -DQ2P_VERSION='\"$(VERSION)\"' \ 160 -DCC_VERSION='\"$(CC_VERSION)\"' \ 161 -Wall -fcommon \ 162 -pipe #-Werror 163 164RELEASE_CFLAGS+=$(BASE_CFLAGS) \ 165 -fno-strict-aliasing \ 166 -DNDEBUG 167 168ifeq ($(strip $(OPTIMIZE)),YES) 169 RELEASE_CFLAGS+=-O3 \ 170 -funroll-loops \ 171 -fomit-frame-pointer \ 172 -ffast-math 173endif 174 175ifeq ($(strip $(STRIP)),YES) 176 RELEASE_CFLAGS+=-s 177endif 178 179OGG_LDFLAGS= -lvorbisfile -lvorbis -logg 180 181ifeq ($(strip $(WITH_GLULIB)),YES) 182 GLU_CFLAGS+=-DUSE_GLU 183endif 184 185ifeq ($(strip $(WITH_XF86_DGA)),YES) 186 BASE_CFLAGS+=-DUSE_XF86_DGA 187endif 188 189ifeq ($(ARCH),x86_64) 190 ARCH_LIBDIR=64 191endif 192 193ifeq ($(strip $(WITH_DATADIR)),YES) 194 BASE_CFLAGS+=-DDATADIR='\"$(DATADIR)\"' 195endif 196 197ifeq ($(strip $(WITH_LIBDIR)),YES) 198 BASE_CFLAGS+=-DLIBDIR='\"$(LIBDIR)\"' 199endif 200 201ifeq ($(strip $(WITH_CDAUDIO)),YES) 202 CDAUDIO_CFLAGS+=-DCDAUDIO 203endif 204 205GLIB_CFLAGS=$(shell glib-config --cflags) 206 207ifeq ($(strip $(WITH_AUDACIOUS)),YES) 208 AUDACIOUS_CFLAGS=$(GLIB_CFLAGS) -DWITH_AUDACIOUS 209endif 210 211ifeq ($(strip $(WITH_XMMS)),YES) 212 XMMS_CFLAGS=$(GLIB_CFLAGS) -DWITH_XMMS 213endif 214 215DEBUG_CFLAGS=$(BASE_CFLAGS) -O0 -g 216 217LDFLAGS=-L$(LOCALBASE)/lib -lm -lpthread 218ifeq ($(OSTYPE),linux) 219 LDFLAGS+=-ldl 220endif 221 222Z_LDFLAGS=-L$(LOCALBASE)/lib -lz 223 224X_LDFLAGS=-L$(X11BASE)/lib$(ARCH_LIBDIR) -lX11 -lXext -lXxf86vm 225ifeq ($(strip $(WITH_XF86_DGA)),YES) 226 X_LDFLAGS+=-lXxf86dga 227endif 228 229GLX_LDFLAGS+=-L$(LOCALBASE)/lib -ljpeg `libpng-config --libs` 230ifeq ($(strip $(WITH_GLULIB)),YES) 231GLX_LDFLAGS+=-L$(X11BASE)/lib$(ARCH_LIBDIR) -lGLU 232endif 233 234SDL_CONFIG=sdl-config 235SDL_CFLAGS=$(shell $(SDL_CONFIG) --cflags) 236SDL_LDFLAGS=$(shell $(SDL_CONFIG) --libs) 237SDL_GL_CFLAGS=$(SDL_CFLAGS) 238SDL_GL_LDFLAGS=$(SDL_LDFLAGS) 239 240SHLIB_CFLAGS=-fPIC -DPIC 241SHLIB_LDFLAGS= $(LDFLAGS) -shared 242 243ifeq ($(VERBOSE),NO) 244CC_OUTPUT=echo " Compiling >> $< ..." && 245endif 246 247DO_CC=$(CC_OUTPUT) $(CC) $(CFLAGS) -o $@ -c $< 248DO_SHLIB_CC=$(CC_OUTPUT) $(CC) $(CFLAGS) $(SHLIB_CFLAGS) -o $@ -c $< 249 250############################################################################# 251# SETUP AND BUILD 252############################################################################# 253 254ifeq ($(strip $(BUILD_Q2P)),YES) 255 TARGETS += $(BINDIR)/q2p 256endif 257 258ifeq ($(strip $(BUILD_DEDICATED)),YES) 259 TARGETS += $(BINDIR)/q2p-ded 260 DED_CFLAGS += -DDEDICATED_ONLY 261endif 262 263ifeq ($(OSTYPE),linux) 264 ifeq ($(strip $(BUILD_ALSA_SND)),YES) 265 ALSA_LDFLAGS +=-lasound 266 TARGETS += $(BINDIR)/snd_alsa.$(SHLIB_EXT) 267 endif 268endif 269 270ifeq ($(strip $(BUILD_OSS_SND)),YES) 271 TARGETS += $(BINDIR)/snd_oss.$(SHLIB_EXT) 272endif 273 274ifeq ($(strip $(BUILD_SDL_SND)),YES) 275 TARGETS += $(BINDIR)/snd_sdl.$(SHLIB_EXT) 276endif 277 278 279ifeq ($(strip $(BUILD_GLX)),YES) 280 TARGETS += $(BINDIR)/vid_gl.$(SHLIB_EXT) 281endif 282 283ifeq ($(strip $(BUILD_SDLGL)),YES) 284 TARGETS += $(BINDIR)/vid_sdl.$(SHLIB_EXT) 285endif 286 287ifeq ($(strip $(BUILD_GAME)),YES) 288 TARGETS+=$(BINDIR)/baseq2/game.$(SHLIB_EXT) 289endif 290 291ifeq ($(strip $(BUILD_CTF)),YES) 292 TARGETS+=$(BINDIR)/ctf/game.$(SHLIB_EXT) 293endif 294 295all: 296 @echo 297 @echo "Operative system: $(OP_SYSTEM)" 298 @echo 299 @echo Set to YES or NO at the top of this file the possible options to build by the makefile. 300 @echo By default, it will build q2p, q2p dedicated and glx renderer. 301 @echo 302 @echo Possible targets: 303 @echo 304 @echo " "">> Add VERBOSE=YES to a verbose output, defaults to NO" 305 @echo " "">> WARNING: -ffast-math and/or -fomit-frame-pointer flags can cause crashes." 306 @echo " "">> make/gmake release" 307 @echo " "">> make/gmake debug" 308 @echo " "">> make/gmake install (quake2 home dir)." 309 @echo " "">> make/gmake install_root (required when was built with DATADIR/LIBDIR" 310 @echo " "" options enabled, you must gain root privileges)." 311 @echo " "">> make/gmake clean (clean objects)." 312 @echo " "">> make/gmake clean_bin (clean executables)." 313 @echo " "">> make/gmake distclean (clean objects, executables and modified files)." 314 @echo " "">> make/gmake bz2 (create a tar.bz2 package with the full release distribution)." 315 @echo 316 317debug: 318 @printf "** Debug Build **\n" 319 @-mkdir -p $(BUILD_DEBUG_DIR) \ 320 $(BINDIR) \ 321 $(BUILD_DEBUG_DIR)/client 322 323ifeq ($(strip $(BUILD_DEDICATED)),YES) 324 @-mkdir -p $(BUILD_DEBUG_DIR) \ 325 $(BUILD_DEBUG_DIR)/ded 326endif 327 328ifeq ($(strip $(BUILD_GLX)),YES) 329 @-mkdir -p $(BUILD_DEBUG_DIR) \ 330 $(BUILD_DEBUG_DIR)/ref_gl 331endif 332 333ifeq ($(strip $(BUILD_SDLGL)),YES) 334 @-mkdir -p $(BUILD_DEBUG_DIR) \ 335 $(BUILD_DEBUG_DIR)/ref_gl 336endif 337 338ifeq ($(strip $(BUILD_GAME)),YES) 339 @-mkdir -p $(BUILD_DEBUG_DIR) \ 340 $(BINDIR)/baseq2 \ 341 $(BUILD_DEBUG_DIR)/game 342endif 343 344ifeq ($(strip $(BUILD_CTF)),YES) 345 @-mkdir -p $(BUILD_DEBUG_DIR) \ 346 $(BINDIR)/ctf \ 347 $(BUILD_DEBUG_DIR)/ctf 348endif 349 350ifeq ($(VERBOSE),YES) 351 $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"; 352else 353 @-$(MAKE) --silent targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"; 354endif 355 @printf "Done \n" 356 357release: 358 @printf "** Release Build **\n" 359 @-mkdir -p $(BUILD_RELEASE_DIR) \ 360 $(BINDIR) \ 361 $(BUILD_RELEASE_DIR)/client 362 363ifeq ($(strip $(BUILD_DEDICATED)),YES) 364 @-mkdir -p $(BUILD_RELEASE_DIR) \ 365 $(BUILD_RELEASE_DIR)/ded 366endif 367 368ifeq ($(strip $(BUILD_GLX)),YES) 369 @-mkdir -p $(BUILD_RELEASE_DIR) \ 370 $(BUILD_RELEASE_DIR)/ref_gl 371endif 372 373ifeq ($(strip $(BUILD_SDLGL)),YES) 374 @-mkdir -p $(BUILD_RELEASE_DIR) \ 375 $(BUILD_RELEASE_DIR)/ref_gl 376endif 377 378ifeq ($(strip $(BUILD_GAME)),YES) 379 @-mkdir -p $(BUILD_RELEASE_DIR) \ 380 $(BINDIR)/baseq2 \ 381 $(BUILD_RELEASE_DIR)/game 382endif 383 384ifeq ($(strip $(BUILD_CTF)),YES) 385 @-mkdir -p $(BUILD_RELEASE_DIR) \ 386 $(BINDIR)/ctf \ 387 $(BUILD_RELEASE_DIR)/ctf 388endif 389 390ifeq ($(VERBOSE),YES) 391 $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"; 392else 393 @-$(MAKE) --silent targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"; 394endif 395 @printf "Done \n" 396 397targets: $(TARGETS) 398 @echo "Q2P compilation finished succesfully ;)" 399 @echo 400 @echo "'make/gmake install' to install in your quake2 home dir." 401 @echo 402 @echo "'make/gmake install_root' if was built with DATADIR/LIBDIR options enabled, you must gain root privileges." 403 @echo 404# @xmessage -center -bg black -fg green -file Q2P_readme.txt & 405 406############################################################################# 407# CLIENT/SERVER 408############################################################################# 409 410Q2P_OBJS = \ 411$(BUILDDIR)/client/cl_cin.o $(BUILDDIR)/client/cl_ents.o $(BUILDDIR)/client/cl_events.o \ 412$(BUILDDIR)/client/cl_flash.o $(BUILDDIR)/client/cl_fx.o $(BUILDDIR)/client/cl_input.o \ 413$(BUILDDIR)/client/cl_inv.o $(BUILDDIR)/client/cl_lights.o $(BUILDDIR)/client/cl_main.o \ 414$(BUILDDIR)/client/cl_newfx.o $(BUILDDIR)/client/cl_parse.o $(BUILDDIR)/client/cl_pred.o \ 415$(BUILDDIR)/client/cl_tent.o $(BUILDDIR)/client/cl_scrn.o $(BUILDDIR)/client/cl_view.o \ 416$(BUILDDIR)/client/console.o $(BUILDDIR)/client/keys.o $(BUILDDIR)/client/menu.o \ 417$(BUILDDIR)/client/snd_dma.o $(BUILDDIR)/client/snd_mem.o $(BUILDDIR)/client/snd_mix.o \ 418$(BUILDDIR)/client/snd_ogg.o $(BUILDDIR)/client/qmenu.o $(BUILDDIR)/client/m_flash.o \ 419$(BUILDDIR)/client/cmd.o $(BUILDDIR)/client/cmodel.o $(BUILDDIR)/client/common.o \ 420$(BUILDDIR)/client/crc.o $(BUILDDIR)/client/cvar.o $(BUILDDIR)/client/files.o \ 421$(BUILDDIR)/client/md4.o $(BUILDDIR)/client/net_chan.o \ 422$(BUILDDIR)/client/unzip.o $(BUILDDIR)/client/ioapi.o \ 423$(BUILDDIR)/client/sv_ccmds.o $(BUILDDIR)/client/sv_ents.o $(BUILDDIR)/client/sv_game.o \ 424$(BUILDDIR)/client/sv_init.o $(BUILDDIR)/client/sv_main.o $(BUILDDIR)/client/sv_send.o \ 425$(BUILDDIR)/client/sv_user.o $(BUILDDIR)/client/sv_world.o \ 426$(BUILDDIR)/client/sh_unix.o $(BUILDDIR)/client/vid_so.o $(BUILDDIR)/client/sys_unix.o \ 427$(BUILDDIR)/client/net_udp.o $(BUILDDIR)/client/menu_video.o $(BUILDDIR)/client/cl_think.o \ 428$(BUILDDIR)/client/audacious_player.o \ 429$(BUILDDIR)/client/xmms_player.o \ 430$(BUILDDIR)/client/cl_locs.o \ 431$(BUILDDIR)/client/q_shared.o $(BUILDDIR)/client/pmove.o 432 433CD_OBJS = \ 434 $(BUILDDIR)/client/cd_unix.o 435 436ifeq ($(OSTYPE),linux) 437 ifeq ($(strip $(BUILD_ALSA_SND)),YES) 438 ALSA_SND_OBJS= $(BUILDDIR)/client/snd_alsa.o 439 endif 440endif 441 442ifeq ($(strip $(BUILD_OSS_SND)),YES) 443 OSS_SND_OBJS= $(BUILDDIR)/client/snd_oss.o 444endif 445 446ifeq ($(strip $(BUILD_SDL_SND)),YES) 447 SDL_SND_OBJS= $(BUILDDIR)/client/snd_sdl.o 448endif 449 450$(BINDIR)/q2p : $(Q2P_OBJS) $(CD_OBJS) 451 @echo 452 @echo "**Built Q2P client with cflags:" 453 @echo "$(CC) $(CC_VERSION)"; 454 @echo "$(CFLAGS)"; 455 @echo "$(AUDACIOUS_CFLAGS)"; 456 @echo "$(XMMS_CFLAGS)"; 457 @echo "$(CDAUDIO_CFLAGS)"; 458 @echo 459 @echo "**Linking Client with flags:" 460 @echo "$(LDFLAGS)"; 461 @echo "$(Z_LDFLAGS)"; 462 @echo "$(OGG_LDFLAGS)"; 463 @echo 464 $(CC) $(CFLAGS) $(GLIB_CFLAGS) $(AUDACIOUS_CFLAGS) $(XMMS_CFLAGS) $(CDAUDIO_CFLAGS) -o $@ $(Q2P_OBJS) $(CD_OBJS) $(LDFLAGS) $(Z_LDFLAGS) $(OGG_LDFLAGS) 465 466ifeq ($(OSTYPE),linux) 467$(BINDIR)/snd_alsa.$(SHLIB_EXT) : $(ALSA_SND_OBJS) 468 @echo 469 @echo "**Built Alsa sound driver with cflags:" 470 @echo "$(CC) $(CC_VERSION)"; 471 @echo "$(CFLAGS)"; 472 @echo "$(SHLIB_CFLAGS)"; 473 @echo 474 @echo "**Linking Alsa sound driver with flags:" 475 @echo "$(SHLIB_LDFLAGS)"; 476 @echo "$(ALSA_LDFLAGS)"; 477 @echo 478 $(CC) $(CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(ALSA_SND_OBJS) $(LDFLAGS) $(ALSA_LDFLAGS) 479endif 480 481$(BINDIR)/snd_oss.$(SHLIB_EXT) : $(OSS_SND_OBJS) 482 @echo 483 @echo "**Built OSS sound driver with cflags:" 484 @echo "$(CC) $(CC_VERSION)"; 485 @echo "$(CFLAGS)"; 486 @echo "$(SHLIB_CFLAGS)"; 487 @echo 488 @echo "**Linking OSS sound driver with flags:" 489 @echo "$(SHLIB_LDFLAGS)"; 490 @echo 491 $(CC) $(CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSS_SND_OBJS) $(LDFLAGS) 492 493$(BINDIR)/snd_sdl.$(SHLIB_EXT) : $(SDL_SND_OBJS) 494 @echo 495 @echo "**Built SDL sound driver with cflags:" 496 @echo "$(CC) $(CC_VERSION)"; 497 @echo "$(CFLAGS)"; 498 @echo "$(SHLIB_CFLAGS)"; 499 @echo 500 @echo "**Linking SDL sound driver with flags:" 501 @echo "$(SHLIB_LDFLAGS)"; 502 @echo "$(SDL_LDFLAGS)"; 503 @echo 504 $(CC) $(CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(SDL_SND_OBJS) $(LDFLAGS) $(SDL_LDFLAGS) 505 506 507$(BUILDDIR)/client/cl_cin.o : $(CLIENT_DIR)/cl_cin.c; $(DO_CC) $(CDAUDIO_CFLAGS) 508$(BUILDDIR)/client/cl_ents.o : $(CLIENT_DIR)/cl_ents.c; $(DO_CC) 509$(BUILDDIR)/client/cl_events.o : $(CLIENT_DIR)/cl_events.c; $(DO_CC) 510$(BUILDDIR)/client/cl_fx.o : $(CLIENT_DIR)/cl_fx.c; $(DO_CC) 511$(BUILDDIR)/client/cl_think.o : $(CLIENT_DIR)/cl_think.c; $(DO_CC) 512$(BUILDDIR)/client/cl_flash.o : $(CLIENT_DIR)/cl_flash.c; $(DO_CC) 513$(BUILDDIR)/client/cl_input.o : $(CLIENT_DIR)/cl_input.c; $(DO_CC) 514$(BUILDDIR)/client/cl_inv.o : $(CLIENT_DIR)/cl_inv.c; $(DO_CC) 515$(BUILDDIR)/client/cl_lights.o : $(CLIENT_DIR)/cl_lights.c; $(DO_CC) 516$(BUILDDIR)/client/cl_locs.o : $(CLIENT_DIR)/cl_locs.c; $(DO_CC) 517$(BUILDDIR)/client/cl_main.o : $(CLIENT_DIR)/cl_main.c; $(DO_CC) $(CDAUDIO_CFLAGS) $(AUDACIOUS_CFLAGS) $(XMMS_CFLAGS) 518$(BUILDDIR)/client/cl_newfx.o : $(CLIENT_DIR)/cl_newfx.c; $(DO_CC) 519$(BUILDDIR)/client/cl_parse.o : $(CLIENT_DIR)/cl_parse.c; $(DO_CC) $(CDAUDIO_CFLAGS) 520$(BUILDDIR)/client/cl_pred.o : $(CLIENT_DIR)/cl_pred.c; $(DO_CC) 521$(BUILDDIR)/client/cl_tent.o : $(CLIENT_DIR)/cl_tent.c; $(DO_CC) 522$(BUILDDIR)/client/cl_scrn.o : $(CLIENT_DIR)/cl_scrn.c; $(DO_CC) $(CDAUDIO_CFLAGS) 523$(BUILDDIR)/client/cl_view.o : $(CLIENT_DIR)/cl_view.c; $(DO_CC) $(CDAUDIO_CFLAGS) 524$(BUILDDIR)/client/console.o : $(CLIENT_DIR)/console.c; $(DO_CC) 525$(BUILDDIR)/client/keys.o : $(CLIENT_DIR)/keys.c; $(DO_CC) 526$(BUILDDIR)/client/menu.o : $(CLIENT_DIR)/menu.c; $(DO_CC) 527$(BUILDDIR)/client/menu_video.o : $(CLIENT_DIR)/menu_video.c; $(DO_CC) 528$(BUILDDIR)/client/snd_dma.o : $(CLIENT_DIR)/snd_dma.c; $(DO_CC) $(AUDACIOUS_CFLAGS) $(XMMS_CFLAGS) 529$(BUILDDIR)/client/snd_mem.o : $(CLIENT_DIR)/snd_mem.c; $(DO_CC) 530$(BUILDDIR)/client/snd_mix.o : $(CLIENT_DIR)/snd_mix.c; $(DO_CC) 531$(BUILDDIR)/client/snd_ogg.o : $(CLIENT_DIR)/snd_ogg.c; $(DO_CC) 532$(BUILDDIR)/client/qmenu.o : $(CLIENT_DIR)/qmenu.c; $(DO_CC) 533$(BUILDDIR)/client/cmd.o : $(COMMON_DIR)/cmd.c; $(DO_CC) 534$(BUILDDIR)/client/cmodel.o : $(COMMON_DIR)/cmodel.c; $(DO_CC) 535$(BUILDDIR)/client/common.o : $(COMMON_DIR)/common.c; $(DO_CC) 536$(BUILDDIR)/client/crc.o : $(COMMON_DIR)/crc.c; $(DO_CC) 537$(BUILDDIR)/client/cvar.o : $(COMMON_DIR)/cvar.c; $(DO_CC) 538$(BUILDDIR)/client/files.o : $(COMMON_DIR)/files.c; $(DO_CC) $(CDAUDIO_CFLAGS) 539$(BUILDDIR)/client/md4.o : $(COMMON_DIR)/md4.c; $(DO_CC) 540$(BUILDDIR)/client/net_chan.o : $(COMMON_DIR)/net_chan.c; $(DO_CC) 541$(BUILDDIR)/client/unzip.o : $(COMMON_DIR)/unzip/unzip.c; $(DO_CC) 542$(BUILDDIR)/client/ioapi.o : $(COMMON_DIR)/unzip/ioapi.c; $(DO_CC) 543$(BUILDDIR)/client/pmove.o : $(COMMON_DIR)/pmove.c; $(DO_CC) 544$(BUILDDIR)/client/m_flash.o : $(GAME_DIR)/m_flash.c; $(DO_CC) 545$(BUILDDIR)/client/q_shared.o : $(GAME_DIR)/q_shared.c; $(DO_CC) 546$(BUILDDIR)/client/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c; $(DO_CC) 547$(BUILDDIR)/client/sv_ents.o : $(SERVER_DIR)/sv_ents.c; $(DO_CC) 548$(BUILDDIR)/client/sv_game.o : $(SERVER_DIR)/sv_game.c; $(DO_CC) 549$(BUILDDIR)/client/sv_init.o : $(SERVER_DIR)/sv_init.c; $(DO_CC) 550$(BUILDDIR)/client/sv_main.o : $(SERVER_DIR)/sv_main.c; $(DO_CC) 551$(BUILDDIR)/client/sv_send.o : $(SERVER_DIR)/sv_send.c; $(DO_CC) 552$(BUILDDIR)/client/sv_user.o : $(SERVER_DIR)/sv_user.c; $(DO_CC) 553$(BUILDDIR)/client/sv_world.o : $(SERVER_DIR)/sv_world.c; $(DO_CC) 554$(BUILDDIR)/client/cd_unix.o : $(UNIX_DIR)/$(CD_API); $(DO_CC) $(CDAUDIO_CFLAGS) 555$(BUILDDIR)/client/sh_unix.o : $(UNIX_DIR)/sh_unix.c; $(DO_CC) 556$(BUILDDIR)/client/vid_so.o : $(UNIX_DIR)/vid_so.c; $(DO_CC) 557$(BUILDDIR)/client/snd_alsa.o : $(UNIX_DIR)/snd_alsa.c; $(DO_SHLIB_CC) 558$(BUILDDIR)/client/snd_oss.o : $(UNIX_DIR)/snd_oss.c; $(DO_SHLIB_CC) 559$(BUILDDIR)/client/snd_sdl.o : $(UNIX_DIR)/snd_sdl.c; $(DO_SHLIB_CC) $(SDL_CFLAGS) 560$(BUILDDIR)/client/sys_unix.o : $(UNIX_DIR)/sys_unix.c; $(DO_CC) 561$(BUILDDIR)/client/net_udp.o : $(UNIX_DIR)/net_udp.c; $(DO_CC) 562$(BUILDDIR)/client/audacious_player.o : $(UNIX_DIR)/audacious_player.c; $(DO_CC) $(AUDACIOUS_CFLAGS) 563$(BUILDDIR)/client/xmms_player.o : $(UNIX_DIR)/xmms_player.c; $(DO_CC) $(XMMS_CFLAGS) 564 565############################################################################# 566# DEDICATED SERVER 567############################################################################# 568 569Q2PDED_OBJS = \ 570$(BUILDDIR)/ded/cmd.o $(BUILDDIR)/ded/cmodel.o $(BUILDDIR)/ded/common.o \ 571$(BUILDDIR)/ded/crc.o $(BUILDDIR)/ded/cvar.o $(BUILDDIR)/ded/files.o \ 572$(BUILDDIR)/ded/md4.o $(BUILDDIR)/ded/net_chan.o \ 573$(BUILDDIR)/ded/unzip.o $(BUILDDIR)/ded/ioapi.o \ 574$(BUILDDIR)/ded/sv_ccmds.o $(BUILDDIR)/ded/sv_ents.o $(BUILDDIR)/ded/sv_game.o \ 575$(BUILDDIR)/ded/sv_init.o $(BUILDDIR)/ded/sv_main.o $(BUILDDIR)/ded/sv_send.o \ 576$(BUILDDIR)/ded/sv_user.o $(BUILDDIR)/ded/sv_world.o \ 577$(BUILDDIR)/ded/sh_unix.o $(BUILDDIR)/ded/sys_unix.o $(BUILDDIR)/ded/net_udp.o \ 578$(BUILDDIR)/ded/q_shared.o $(BUILDDIR)/ded/pmove.o \ 579$(BUILDDIR)/ded/cl_null.o $(BUILDDIR)/ded/cd_null.o 580 581$(BINDIR)/q2p-ded : $(Q2PDED_OBJS) 582 @echo 583 @echo "**Built Q2P dedicated client with cflags:" 584 @echo "$(CC) $(CC_VERSION)"; 585 @echo "$(CFLAGS)"; 586 @echo "$(DED_CFLAGS)"; 587 @echo "$(CDAUDIO_CFLAGS)"; 588 @echo 589 @echo "**Linking Dedicated client with flags:" 590 @echo "$(LDFLAGS)"; 591 @echo "$(Z_LDFLAGS)"; 592 @echo 593 $(CC) $(CFLAGS) $(DED_CFLAGS) $(CDAUDIO_CFLAGS) -o $@ $(Q2PDED_OBJS) $(LDFLAGS) $(Z_LDFLAGS) 594 595$(BUILDDIR)/ded/cmd.o : $(COMMON_DIR)/cmd.c; $(DO_CC) 596$(BUILDDIR)/ded/cmodel.o : $(COMMON_DIR)/cmodel.c; $(DO_CC) 597$(BUILDDIR)/ded/common.o : $(COMMON_DIR)/common.c; $(DO_CC) $(DED_CFLAGS) 598$(BUILDDIR)/ded/crc.o : $(COMMON_DIR)/crc.c; $(DO_CC) 599$(BUILDDIR)/ded/cvar.o : $(COMMON_DIR)/cvar.c; $(DO_CC) 600$(BUILDDIR)/ded/files.o : $(COMMON_DIR)/files.c; $(DO_CC) 601$(BUILDDIR)/ded/md4.o : $(COMMON_DIR)/md4.c; $(DO_CC) 602$(BUILDDIR)/ded/net_chan.o : $(COMMON_DIR)/net_chan.c; $(DO_CC) 603$(BUILDDIR)/ded/unzip.o : $(COMMON_DIR)/unzip/unzip.c; $(DO_CC) 604$(BUILDDIR)/ded/ioapi.o : $(COMMON_DIR)/unzip/ioapi.c; $(DO_CC) 605$(BUILDDIR)/ded/q_shared.o : $(GAME_DIR)/q_shared.c; $(DO_CC) 606$(BUILDDIR)/ded/pmove.o : $(COMMON_DIR)/pmove.c; $(DO_CC) 607$(BUILDDIR)/ded/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c; $(DO_CC) 608$(BUILDDIR)/ded/sv_ents.o : $(SERVER_DIR)/sv_ents.c; $(DO_CC) 609$(BUILDDIR)/ded/sv_game.o : $(SERVER_DIR)/sv_game.c; $(DO_CC) 610$(BUILDDIR)/ded/sv_init.o : $(SERVER_DIR)/sv_init.c; $(DO_CC) 611$(BUILDDIR)/ded/sv_main.o : $(SERVER_DIR)/sv_main.c; $(DO_CC) 612$(BUILDDIR)/ded/sv_send.o : $(SERVER_DIR)/sv_send.c; $(DO_CC) 613$(BUILDDIR)/ded/sv_user.o : $(SERVER_DIR)/sv_user.c; $(DO_CC) 614$(BUILDDIR)/ded/sv_world.o : $(SERVER_DIR)/sv_world.c; $(DO_CC) 615$(BUILDDIR)/ded/sh_unix.o : $(UNIX_DIR)/sh_unix.c; $(DO_CC) 616$(BUILDDIR)/ded/sys_unix.o : $(UNIX_DIR)/sys_unix.c; $(DO_CC) $(DED_CFLAGS) 617$(BUILDDIR)/ded/net_udp.o : $(UNIX_DIR)/net_udp.c; $(DO_CC) 618$(BUILDDIR)/ded/cd_null.o : $(CLIENT_DIR)/cd_null.c; $(DO_CC) $(CDAUDIO_CFLAGS) 619$(BUILDDIR)/ded/cl_null.o : $(CLIENT_DIR)/cl_null.c; $(DO_CC) $(DED_CFLAGS) 620 621############################################################################# 622# REF_GL 623############################################################################# 624 625REF_GL_OBJS = \ 626$(BUILDDIR)/ref_gl/gl_decals.o $(BUILDDIR)/ref_gl/gl_draw.o $(BUILDDIR)/ref_gl/gl_image.o \ 627$(BUILDDIR)/ref_gl/gl_light.o $(BUILDDIR)/ref_gl/gl_mesh.o $(BUILDDIR)/ref_gl/gl_model.o \ 628$(BUILDDIR)/ref_gl/gl_refl.o $(BUILDDIR)/ref_gl/gl_rmain.o $(BUILDDIR)/ref_gl/gl_rmisc.o \ 629$(BUILDDIR)/ref_gl/gl_rsurf.o $(BUILDDIR)/ref_gl/gl_warp.o $(BUILDDIR)/ref_gl/qgl.o \ 630$(BUILDDIR)/ref_gl/sh_unix.o $(BUILDDIR)/ref_gl/q_shared.o 631 632REF_GL_GLX_OBJS = \ 633$(BUILDDIR)/ref_gl/gl_glx.o 634 635REF_SDL_GLX_OBJS = \ 636$(BUILDDIR)/ref_gl/gl_sdl.o 637 638$(BINDIR)/vid_gl.$(SHLIB_EXT) : $(REF_GL_OBJS) $(REF_GL_GLX_OBJS) 639 @echo 640 @echo "**Built GLX video driver with cflags:" 641 @echo "$(CC) $(CC_VERSION)"; 642 @echo "$(CFLAGS)"; 643 @echo "$(GLU_CFLAGS)"; 644 @echo 645 @echo "**Linking GLX video driver with flags:" 646 @echo "$(X_LDFLAGS)"; 647 @echo "$(GLX_LDFLAGS)"; 648 @echo "$(SHLIB_LDFLAGS)"; 649 @echo 650 $(CC) $(CFLAGS) $(GLU_CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(REF_GL_OBJS) $(REF_GL_GLX_OBJS) $(X_LDFLAGS) $(GLX_LDFLAGS) 651 652$(BINDIR)/vid_sdl.$(SHLIB_EXT) : $(REF_GL_OBJS) $(REF_SDL_GLX_OBJS) 653 @echo 654 @echo "**Built SDL video driver with cflags:" 655 @echo "$(CC) $(CC_VERSION)"; 656 @echo "$(CFLAGS)"; 657 @echo "$(GLU_CFLAGS)"; 658 @echo 659 @echo "**Linking SDL video driver with flags:" 660 @echo "$(SDL_GL_LDFLAGS)"; 661 @echo "$(GLX_LDFLAGS)"; 662 @echo "$(SHLIB_LDFLAGS)"; 663 @echo 664 $(CC) $(CFLAGS) $(GLU_CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(REF_GL_OBJS) $(REF_SDL_GLX_OBJS) $(GLX_LDFLAGS) $(SDL_GL_LDFLAGS) 665 666$(BUILDDIR)/ref_gl/gl_decals.o : $(REF_GL_DIR)/gl_decals.c; $(DO_SHLIB_CC) 667$(BUILDDIR)/ref_gl/gl_draw.o : $(REF_GL_DIR)/gl_draw.c; $(DO_SHLIB_CC) 668$(BUILDDIR)/ref_gl/gl_image.o : $(REF_GL_DIR)/gl_image.c; $(DO_SHLIB_CC) $(GLU_CFLAGS) 669$(BUILDDIR)/ref_gl/gl_light.o : $(REF_GL_DIR)/gl_light.c; $(DO_SHLIB_CC) 670$(BUILDDIR)/ref_gl/gl_mesh.o : $(REF_GL_DIR)/gl_mesh.c; $(DO_SHLIB_CC) 671$(BUILDDIR)/ref_gl/gl_model.o : $(REF_GL_DIR)/gl_model.c; $(DO_SHLIB_CC) 672$(BUILDDIR)/ref_gl/gl_refl.o : $(REF_GL_DIR)/gl_refl.c; $(DO_SHLIB_CC) $(GLU_CFLAGS) 673$(BUILDDIR)/ref_gl/gl_rmain.o : $(REF_GL_DIR)/gl_rmain.c; $(DO_SHLIB_CC) 674$(BUILDDIR)/ref_gl/gl_rmisc.o : $(REF_GL_DIR)/gl_rmisc.c; $(DO_SHLIB_CC) $(GLU_CFLAGS) 675$(BUILDDIR)/ref_gl/gl_rsurf.o : $(REF_GL_DIR)/gl_rsurf.c; $(DO_SHLIB_CC) 676$(BUILDDIR)/ref_gl/gl_warp.o : $(REF_GL_DIR)/gl_warp.c; $(DO_SHLIB_CC) 677$(BUILDDIR)/ref_gl/qgl.o : $(REF_GL_DIR)/qgl.c; $(DO_SHLIB_CC) $(GLU_CFLAGS) 678$(BUILDDIR)/ref_gl/gl_glx.o : $(UNIX_DIR)/gl_glx.c; $(DO_SHLIB_CC) 679$(BUILDDIR)/ref_gl/gl_sdl.o : $(UNIX_DIR)/gl_sdl.c; $(DO_SHLIB_CC) $(SDL_GL_CFLAGS) 680$(BUILDDIR)/ref_gl/sh_unix.o : $(UNIX_DIR)/sh_unix.c; $(DO_SHLIB_CC) 681$(BUILDDIR)/ref_gl/q_shared.o : $(GAME_DIR)/q_shared.c; $(DO_SHLIB_CC) 682 683############################################################################# 684# GAME 685############################################################################# 686 687GAME_OBJS = \ 688$(BUILDDIR)/game/q_shared.o $(BUILDDIR)/game/g_ai.o $(BUILDDIR)/game/p_client.o \ 689$(BUILDDIR)/game/g_cmds.o $(BUILDDIR)/game/g_svcmds.o $(BUILDDIR)/game/g_chase.o \ 690$(BUILDDIR)/game/g_combat.o $(BUILDDIR)/game/g_func.o $(BUILDDIR)/game/g_items.o \ 691$(BUILDDIR)/game/g_main.o $(BUILDDIR)/game/g_misc.o $(BUILDDIR)/game/g_monster.o \ 692$(BUILDDIR)/game/g_phys.o $(BUILDDIR)/game/g_save.o $(BUILDDIR)/game/g_spawn.o \ 693$(BUILDDIR)/game/g_target.o $(BUILDDIR)/game/g_trigger.o $(BUILDDIR)/game/g_turret.o \ 694$(BUILDDIR)/game/g_utils.o $(BUILDDIR)/game/g_weapon.o $(BUILDDIR)/game/m_actor.o \ 695$(BUILDDIR)/game/m_berserk.o $(BUILDDIR)/game/m_boss2.o $(BUILDDIR)/game/m_boss3.o \ 696$(BUILDDIR)/game/m_boss31.o $(BUILDDIR)/game/m_boss32.o $(BUILDDIR)/game/m_brain.o \ 697$(BUILDDIR)/game/m_chick.o $(BUILDDIR)/game/m_flipper.o $(BUILDDIR)/game/m_float.o \ 698$(BUILDDIR)/game/m_flyer.o $(BUILDDIR)/game/m_gladiator.o $(BUILDDIR)/game/m_gunner.o \ 699$(BUILDDIR)/game/m_hover.o $(BUILDDIR)/game/m_infantry.o $(BUILDDIR)/game/m_insane.o \ 700$(BUILDDIR)/game/m_medic.o $(BUILDDIR)/game/m_move.o $(BUILDDIR)/game/m_mutant.o \ 701$(BUILDDIR)/game/m_parasite.o $(BUILDDIR)/game/m_soldier.o $(BUILDDIR)/game/m_supertank.o \ 702$(BUILDDIR)/game/m_tank.o $(BUILDDIR)/game/p_hud.o $(BUILDDIR)/game/p_trail.o \ 703$(BUILDDIR)/game/p_view.o $(BUILDDIR)/game/p_weapon.o $(BUILDDIR)/game/m_flash.o 704 705$(BINDIR)/baseq2/game.$(SHLIB_EXT) : $(GAME_OBJS) 706 @echo 707 @echo "**Built $@ with cflags:" 708 @echo "$(CC) $(CC_VERSION) $(CFLAGS)"; 709 @echo "$(SHLIB_CFLAGS)"; 710 @echo 711 @echo "**Linking $@ with flags:" 712 @echo "$(SHLIB_LDFLAGS)"; 713 @echo 714 $(CC) $(CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(GAME_OBJS) 715 716$(BUILDDIR)/game/g_ai.o : $(GAME_DIR)/g_ai.c; $(DO_SHLIB_CC) 717$(BUILDDIR)/game/p_client.o : $(GAME_DIR)/p_client.c; $(DO_SHLIB_CC) 718$(BUILDDIR)/game/g_cmds.o : $(GAME_DIR)/g_cmds.c; $(DO_SHLIB_CC) 719$(BUILDDIR)/game/g_svcmds.o : $(GAME_DIR)/g_svcmds.c; $(DO_SHLIB_CC) 720$(BUILDDIR)/game/g_chase.o : $(GAME_DIR)/g_chase.c; $(DO_SHLIB_CC) 721$(BUILDDIR)/game/g_combat.o : $(GAME_DIR)/g_combat.c; $(DO_SHLIB_CC) 722$(BUILDDIR)/game/g_func.o : $(GAME_DIR)/g_func.c; $(DO_SHLIB_CC) 723$(BUILDDIR)/game/g_items.o : $(GAME_DIR)/g_items.c; $(DO_SHLIB_CC) 724$(BUILDDIR)/game/g_main.o : $(GAME_DIR)/g_main.c; $(DO_SHLIB_CC) 725$(BUILDDIR)/game/g_misc.o : $(GAME_DIR)/g_misc.c; $(DO_SHLIB_CC) 726$(BUILDDIR)/game/g_monster.o : $(GAME_DIR)/g_monster.c; $(DO_SHLIB_CC) 727$(BUILDDIR)/game/g_phys.o : $(GAME_DIR)/g_phys.c; $(DO_SHLIB_CC) 728$(BUILDDIR)/game/g_save.o : $(GAME_DIR)/g_save.c; $(DO_SHLIB_CC) 729$(BUILDDIR)/game/g_spawn.o : $(GAME_DIR)/g_spawn.c; $(DO_SHLIB_CC) 730$(BUILDDIR)/game/g_target.o : $(GAME_DIR)/g_target.c; $(DO_SHLIB_CC) 731$(BUILDDIR)/game/g_trigger.o : $(GAME_DIR)/g_trigger.c; $(DO_SHLIB_CC) 732$(BUILDDIR)/game/g_turret.o : $(GAME_DIR)/g_turret.c; $(DO_SHLIB_CC) 733$(BUILDDIR)/game/g_utils.o : $(GAME_DIR)/g_utils.c; $(DO_SHLIB_CC) 734$(BUILDDIR)/game/g_weapon.o : $(GAME_DIR)/g_weapon.c; $(DO_SHLIB_CC) 735$(BUILDDIR)/game/m_actor.o : $(GAME_DIR)/m_actor.c; $(DO_SHLIB_CC) 736$(BUILDDIR)/game/m_berserk.o : $(GAME_DIR)/m_berserk.c; $(DO_SHLIB_CC) 737$(BUILDDIR)/game/m_boss2.o : $(GAME_DIR)/m_boss2.c; $(DO_SHLIB_CC) 738$(BUILDDIR)/game/m_boss3.o : $(GAME_DIR)/m_boss3.c; $(DO_SHLIB_CC) 739$(BUILDDIR)/game/m_boss31.o : $(GAME_DIR)/m_boss31.c; $(DO_SHLIB_CC) 740$(BUILDDIR)/game/m_boss32.o : $(GAME_DIR)/m_boss32.c; $(DO_SHLIB_CC) 741$(BUILDDIR)/game/m_brain.o : $(GAME_DIR)/m_brain.c; $(DO_SHLIB_CC) 742$(BUILDDIR)/game/m_chick.o : $(GAME_DIR)/m_chick.c; $(DO_SHLIB_CC) 743$(BUILDDIR)/game/m_flipper.o : $(GAME_DIR)/m_flipper.c; $(DO_SHLIB_CC) 744$(BUILDDIR)/game/m_float.o : $(GAME_DIR)/m_float.c; $(DO_SHLIB_CC) 745$(BUILDDIR)/game/m_flyer.o : $(GAME_DIR)/m_flyer.c; $(DO_SHLIB_CC) 746$(BUILDDIR)/game/m_gladiator.o : $(GAME_DIR)/m_gladiator.c; $(DO_SHLIB_CC) 747$(BUILDDIR)/game/m_gunner.o : $(GAME_DIR)/m_gunner.c; $(DO_SHLIB_CC) 748$(BUILDDIR)/game/m_hover.o : $(GAME_DIR)/m_hover.c; $(DO_SHLIB_CC) 749$(BUILDDIR)/game/m_infantry.o : $(GAME_DIR)/m_infantry.c; $(DO_SHLIB_CC) 750$(BUILDDIR)/game/m_insane.o : $(GAME_DIR)/m_insane.c; $(DO_SHLIB_CC) 751$(BUILDDIR)/game/m_medic.o : $(GAME_DIR)/m_medic.c; $(DO_SHLIB_CC) 752$(BUILDDIR)/game/m_move.o : $(GAME_DIR)/m_move.c; $(DO_SHLIB_CC) 753$(BUILDDIR)/game/m_mutant.o : $(GAME_DIR)/m_mutant.c; $(DO_SHLIB_CC) 754$(BUILDDIR)/game/m_parasite.o : $(GAME_DIR)/m_parasite.c; $(DO_SHLIB_CC) 755$(BUILDDIR)/game/m_soldier.o : $(GAME_DIR)/m_soldier.c; $(DO_SHLIB_CC) 756$(BUILDDIR)/game/m_supertank.o : $(GAME_DIR)/m_supertank.c; $(DO_SHLIB_CC) 757$(BUILDDIR)/game/m_tank.o : $(GAME_DIR)/m_tank.c; $(DO_SHLIB_CC) 758$(BUILDDIR)/game/p_hud.o : $(GAME_DIR)/p_hud.c; $(DO_SHLIB_CC) 759$(BUILDDIR)/game/p_trail.o : $(GAME_DIR)/p_trail.c; $(DO_SHLIB_CC) 760$(BUILDDIR)/game/p_view.o : $(GAME_DIR)/p_view.c; $(DO_SHLIB_CC) 761$(BUILDDIR)/game/p_weapon.o : $(GAME_DIR)/p_weapon.c; $(DO_SHLIB_CC) 762$(BUILDDIR)/game/q_shared.o : $(GAME_DIR)/q_shared.c; $(DO_SHLIB_CC) 763$(BUILDDIR)/game/m_flash.o : $(GAME_DIR)/m_flash.c; $(DO_SHLIB_CC) 764 765############################################################################# 766# CTF 767############################################################################# 768 769CTF_OBJS = \ 770$(BUILDDIR)/ctf/g_ai.o $(BUILDDIR)/ctf/g_chase.o $(BUILDDIR)/ctf/g_cmds.o \ 771$(BUILDDIR)/ctf/g_combat.o $(BUILDDIR)/ctf/g_ctf.o $(BUILDDIR)/ctf/g_func.o \ 772$(BUILDDIR)/ctf/g_items.o $(BUILDDIR)/ctf/g_main.o $(BUILDDIR)/ctf/g_misc.o \ 773$(BUILDDIR)/ctf/g_monster.o $(BUILDDIR)/ctf/g_phys.o $(BUILDDIR)/ctf/g_save.o \ 774$(BUILDDIR)/ctf/g_spawn.o $(BUILDDIR)/ctf/g_svcmds.o $(BUILDDIR)/ctf/g_target.o \ 775$(BUILDDIR)/ctf/g_trigger.o $(BUILDDIR)/ctf/g_utils.o $(BUILDDIR)/ctf/g_weapon.o \ 776$(BUILDDIR)/ctf/m_move.o $(BUILDDIR)/ctf/p_client.o $(BUILDDIR)/ctf/p_hud.o \ 777$(BUILDDIR)/ctf/p_menu.o $(BUILDDIR)/ctf/p_trail.o $(BUILDDIR)/ctf/p_view.o \ 778$(BUILDDIR)/ctf/p_weapon.o $(BUILDDIR)/ctf/q_shared.o 779 780$(BINDIR)/ctf/game.$(SHLIB_EXT) : $(CTF_OBJS) 781 @echo 782 @echo "**Built $@ with cflags:" 783 @echo "$(CC) $(CC_VERSION) $(CFLAGS)"; 784 @echo "$(SHLIB_CFLAGS)"; 785 @echo 786 @echo "**Linking $@ with flags:" 787 @echo "$(SHLIB_LDFLAGS)"; 788 @echo 789 $(CC) $(CFLAGS) $(SHLIB_LDFLAGS) -o $@ $(CTF_OBJS) 790 791$(BUILDDIR)/ctf/g_ai.o : $(CTF_DIR)/g_ai.c; $(DO_SHLIB_CC) 792$(BUILDDIR)/ctf/g_chase.o : $(CTF_DIR)/g_chase.c; $(DO_SHLIB_CC) 793$(BUILDDIR)/ctf/g_cmds.o : $(CTF_DIR)/g_cmds.c; $(DO_SHLIB_CC) 794$(BUILDDIR)/ctf/g_combat.o : $(CTF_DIR)/g_combat.c; $(DO_SHLIB_CC) 795$(BUILDDIR)/ctf/g_ctf.o : $(CTF_DIR)/g_ctf.c; $(DO_SHLIB_CC) 796$(BUILDDIR)/ctf/g_func.o : $(CTF_DIR)/g_func.c; $(DO_SHLIB_CC) 797$(BUILDDIR)/ctf/g_items.o : $(CTF_DIR)/g_items.c; $(DO_SHLIB_CC) 798$(BUILDDIR)/ctf/g_main.o : $(CTF_DIR)/g_main.c; $(DO_SHLIB_CC) 799$(BUILDDIR)/ctf/g_misc.o : $(CTF_DIR)/g_misc.c; $(DO_SHLIB_CC) 800$(BUILDDIR)/ctf/g_monster.o : $(CTF_DIR)/g_monster.c; $(DO_SHLIB_CC) 801$(BUILDDIR)/ctf/g_phys.o : $(CTF_DIR)/g_phys.c; $(DO_SHLIB_CC) 802$(BUILDDIR)/ctf/g_save.o : $(CTF_DIR)/g_save.c; $(DO_SHLIB_CC) 803$(BUILDDIR)/ctf/g_spawn.o : $(CTF_DIR)/g_spawn.c; $(DO_SHLIB_CC) 804$(BUILDDIR)/ctf/g_svcmds.o : $(CTF_DIR)/g_svcmds.c; $(DO_SHLIB_CC) 805$(BUILDDIR)/ctf/g_target.o : $(CTF_DIR)/g_target.c; $(DO_SHLIB_CC) 806$(BUILDDIR)/ctf/g_trigger.o : $(CTF_DIR)/g_trigger.c; $(DO_SHLIB_CC) 807$(BUILDDIR)/ctf/g_utils.o : $(CTF_DIR)/g_utils.c; $(DO_SHLIB_CC) 808$(BUILDDIR)/ctf/g_weapon.o : $(CTF_DIR)/g_weapon.c; $(DO_SHLIB_CC) 809$(BUILDDIR)/ctf/m_move.o : $(CTF_DIR)/m_move.c; $(DO_SHLIB_CC) 810$(BUILDDIR)/ctf/p_client.o : $(CTF_DIR)/p_client.c; $(DO_SHLIB_CC) 811$(BUILDDIR)/ctf/p_hud.o : $(CTF_DIR)/p_hud.c; $(DO_SHLIB_CC) 812$(BUILDDIR)/ctf/p_menu.o : $(CTF_DIR)/p_menu.c; $(DO_SHLIB_CC) 813$(BUILDDIR)/ctf/p_trail.o : $(CTF_DIR)/p_trail.c; $(DO_SHLIB_CC) 814$(BUILDDIR)/ctf/p_view.o : $(CTF_DIR)/p_view.c; $(DO_SHLIB_CC) 815$(BUILDDIR)/ctf/p_weapon.o : $(CTF_DIR)/p_weapon.c; $(DO_SHLIB_CC) 816$(BUILDDIR)/ctf/q_shared.o : $(CTF_DIR)/q_shared.c; $(DO_SHLIB_CC) 817 818############################################################################# 819# MISC 820############################################################################# 821 822DATE=`date +%F` 823 824clean: 825 @echo 826 @echo Cleaning objects... 827 @rm -rf \ 828 $(BUILD_DEBUG_DIR) \ 829 $(BUILD_RELEASE_DIR) 830 @echo ................... 831 @echo .... Done 832 833clean_bin: 834 @echo 835 @echo Cleaning binaries... 836 @-rm -rf $(BINDIR) 837 @echo .................... 838 @echo .... Done 839 840clean_cl: 841 @echo 842 @echo Cleaning client objects... 843 @-rm -f $(BINDIR)/snd_* \ 844 @-rm -f $(BINDIR)/q2p* \ 845 @-rm -f $(BUILD_RELEASE_DIR)/client/* \ 846 @-rm -f $(BUILD_DEBUG_DIR)/client/* 847 @echo .................... 848 @echo .... Done 849 850clean_gl: 851 @echo 852 @echo Cleaning gl objects... 853 @-rm -f $(BINDIR)/vid_* \ 854 @-rm -f $(BUILD_RELEASE_DIR)/ref_gl/* \ 855 @-rm -f $(BUILD_DEBUG_DIR)/ref_gl/* 856 @echo .................... 857 @echo .... Done 858 859distclean: 860 @echo 861 @echo Cleaning objects and binaries... 862 @-rm -rf $(BUILD_DEBUG_DIR) $(BUILD_RELEASE_DIR) $(BINDIR) 863 @-rm -f `find . \( -not -type d \) -and \ 864 \( -name '*~' \) -type f -print` 865 @echo ................................ 866 @echo .... Done 867 868dist:distclean 869 @echo 870 @printf "Creating bzip2 for source files...\n" 871 @mkdir -p ../$(Q2P_VERSION_BZ2)-$(DATE) 872 @cp -r * ../$(Q2P_VERSION_BZ2)-$(DATE) 873 @tar cjvf ../$(Q2P_VERSION_BZ2)-$(DATE).tar.bz2 \ 874 ../$(Q2P_VERSION_BZ2)-$(DATE) 875 @rm -rf ../$(Q2P_VERSION_BZ2)-$(DATE) 876 @printf ".... Done.\n" 877 878install: 879 @echo 880 @printf "Copying files to your home dir\n" 881 @echo ...... 882 @cp -rv $(BINDIR) $(HOME) 883 @cp -rv gnu.txt Q2P_readme.txt Ogg_readme.txt unix/q2p.run $(HOME)/$(BINDIR) 884 @chmod +x $(HOME)/$(BINDIR)/q2p.run 885 @cp -rv $(MOUNT_DIR)/data/baseq2/q2p.q2z $(HOME)/$(BINDIR)/baseq2 886 @mkdir -pv $(HOME)/bin 887 @cd $(HOME)/bin && ln -svf $(HOME)/$(BINDIR)/q2p.run q2p 888 @printf "Symlinking executable to $(HOME)/bin\n" 889 @echo 890 @printf "You must to set the PATH $(HOME)/bin to the executable search path in order to run q2p.\n" 891 @printf "See the Q2P_readme.txt\n" 892 @echo 893 @echo Done 894install_root: 895 @echo 896 @mkdir -pv $(DATADIR) 897 @printf "Copying files to $(DATADIR)\n" 898ifeq ($(OSTYPE),freebsd) 899 @cp -rv $(BINDIR) $(LOCALBASE)/share 900 @rm -fv $(DATADIR)/vid_* $(DATADIR)/snd_* 901 @mkdir -pv $(LIBDIR) 902 @cp -rv $(BINDIR)/*.so $(LIBDIR) 903else 904 @cp -rv $(BINDIR) $(LOCALBASE)/games 905endif 906 @cp -rv $(MOUNT_DIR)/unix/q2p.run unix/q2p.png $(DATADIR) 907 @chmod +x $(DATADIR)/q2p.run 908 @cp -rv $(MOUNT_DIR)/data/baseq2/q2p.q2z $(DATADIR)/baseq2 909 @cp -rv $(MOUNT_DIR)/unix/Q2P.desktop /home/*/Desktop/Q2P 910 @ln -sfv $(DATADIR)/q2p.run $(SYSBINDIR)/q2p 911 @printf "Symlinking executable to $(SYSBINDIR)\n" 912 @echo 913 @printf "Copy or link into $(DATADIR)/baseq2 the required pak files and players folder\n" 914 @printf "from your quake2 cdrom in order to run. Also get CTF files from id ftp.\n" 915 @echo 916 @printf "Type q2p as user to start.\n" 917ifeq ($(strip $(BUILD_DEDICATED)),YES) 918 @printf "Type q2p +set dedicated +exec <your_server_config_file>.cfg as user to start a dedicated server.\n" 919endif 920 @echo 921 @echo Done 922bz2: 923 @echo 924 @printf "Creating bzip2 compressed file ...\n" 925 @cp -r gnu.txt Q2P_readme.txt Ogg_readme.txt unix/q2p.run $(BINDIR) 926 @-mkdir -p $(BINDIR)/baseq2 927 @cp -r $(MOUNT_DIR)/data/baseq2/q2p.q2z $(BINDIR)/baseq2 928 @tar cjvf $(Q2P_VERSION_BZ2)-$(OSTYPE)-$(DATE).tar.bz2 $(BINDIR) 929 @printf ".... Done.\n" 930 931