186 lines
4.6 KiB
Text
186 lines
4.6 KiB
Text
|
#
|
||
|
# QuakeWorld Makefile for Linux 2.0
|
||
|
#
|
||
|
# Apr '98 by Zoid <zoid@idsoftware.com>
|
||
|
#
|
||
|
# GNU Make required
|
||
|
#
|
||
|
|
||
|
ifneq (,$(findstring i86pc,$(shell uname -m)))
|
||
|
ARCH=i386
|
||
|
else
|
||
|
ARCH=sparc
|
||
|
endif
|
||
|
|
||
|
MAINDIR=/grog/Projects/QW
|
||
|
|
||
|
BUILD_DEBUG_DIR=debug$(ARCH)
|
||
|
BUILD_RELEASE_DIR=release$(ARCH)
|
||
|
CLIENT_DIR=$(MAINDIR)/client
|
||
|
SERVER_DIR=$(MAINDIR)/server
|
||
|
|
||
|
CC=gcc
|
||
|
BASE_CFLAGS=-Wall -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR)
|
||
|
RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -ffast-math
|
||
|
# -funroll-loops -fomit-frame-pointer -fexpensive-optimizations
|
||
|
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
|
||
|
|
||
|
LDFLAGS=-lm -lsocket -lnsl
|
||
|
|
||
|
DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
|
||
|
DO_SERVER_CC=$(CC) -DSERVERONLY $(CFLAGS) -o $@ -c $<
|
||
|
|
||
|
#############################################################################
|
||
|
# SETUP AND BUILD
|
||
|
#############################################################################
|
||
|
|
||
|
TARGETS=$(BUILDDIR)/qwsv
|
||
|
|
||
|
build_debug:
|
||
|
@-mkdir $(BUILD_DEBUG_DIR) \
|
||
|
$(BUILD_DEBUG_DIR)/server
|
||
|
$(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
|
||
|
|
||
|
build_release:
|
||
|
@-mkdir $(BUILD_RELEASE_DIR) \
|
||
|
$(BUILD_RELEASE_DIR)/server
|
||
|
$(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
|
||
|
|
||
|
all: build_debug build_release
|
||
|
|
||
|
targets: $(TARGETS)
|
||
|
|
||
|
#############################################################################
|
||
|
# SERVER
|
||
|
#############################################################################
|
||
|
|
||
|
QWSV_OBJS = \
|
||
|
$(BUILDDIR)/server/pr_cmds.o \
|
||
|
$(BUILDDIR)/server/pr_edict.o \
|
||
|
$(BUILDDIR)/server/pr_exec.o \
|
||
|
$(BUILDDIR)/server/sv_init.o \
|
||
|
$(BUILDDIR)/server/sv_main.o \
|
||
|
$(BUILDDIR)/server/sv_nchan.o \
|
||
|
$(BUILDDIR)/server/sv_ents.o \
|
||
|
$(BUILDDIR)/server/sv_send.o \
|
||
|
$(BUILDDIR)/server/sv_move.o \
|
||
|
$(BUILDDIR)/server/sv_phys.o \
|
||
|
$(BUILDDIR)/server/sv_user.o \
|
||
|
$(BUILDDIR)/server/sv_ccmds.o \
|
||
|
$(BUILDDIR)/server/world.o \
|
||
|
$(BUILDDIR)/server/sys_unix.o \
|
||
|
$(BUILDDIR)/server/model.o \
|
||
|
$(BUILDDIR)/server/cmd.o \
|
||
|
$(BUILDDIR)/server/common.o \
|
||
|
$(BUILDDIR)/server/crc.o \
|
||
|
$(BUILDDIR)/server/cvar.o \
|
||
|
$(BUILDDIR)/server/mathlib.o \
|
||
|
$(BUILDDIR)/server/md4.o \
|
||
|
$(BUILDDIR)/server/zone.o \
|
||
|
$(BUILDDIR)/server/pmove.o \
|
||
|
$(BUILDDIR)/server/pmovetst.o \
|
||
|
$(BUILDDIR)/server/net_chan.o \
|
||
|
$(BUILDDIR)/server/net_udp.o
|
||
|
|
||
|
$(BUILDDIR)/qwsv : $(QWSV_OBJS)
|
||
|
$(CC) $(CFLAGS) -o $@ $(QWSV_OBJS) $(LDFLAGS)
|
||
|
|
||
|
$(BUILDDIR)/server/pr_cmds.o : $(SERVER_DIR)/pr_cmds.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/pr_edict.o : $(SERVER_DIR)/pr_edict.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/pr_exec.o : $(SERVER_DIR)/pr_exec.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_init.o : $(SERVER_DIR)/sv_init.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_main.o : $(SERVER_DIR)/sv_main.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_nchan.o : $(SERVER_DIR)/sv_nchan.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_ents.o : $(SERVER_DIR)/sv_ents.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_send.o : $(SERVER_DIR)/sv_send.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_move.o : $(SERVER_DIR)/sv_move.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_phys.o : $(SERVER_DIR)/sv_phys.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_user.o : $(SERVER_DIR)/sv_user.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/world.o : $(SERVER_DIR)/world.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/sys_unix.o : $(SERVER_DIR)/sys_unix.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/model.o : $(SERVER_DIR)/model.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/cmd.o : $(CLIENT_DIR)/cmd.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/common.o : $(CLIENT_DIR)/common.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/crc.o : $(CLIENT_DIR)/crc.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/cvar.o : $(CLIENT_DIR)/cvar.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/mathlib.o : $(CLIENT_DIR)/mathlib.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/md4.o : $(CLIENT_DIR)/md4.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/zone.o : $(CLIENT_DIR)/zone.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/pmove.o : $(CLIENT_DIR)/pmove.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/pmovetst.o : $(CLIENT_DIR)/pmovetst.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/net_chan.o : $(CLIENT_DIR)/net_chan.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
$(BUILDDIR)/server/net_udp.o : $(CLIENT_DIR)/net_udp.c
|
||
|
$(DO_SERVER_CC)
|
||
|
|
||
|
#############################################################################
|
||
|
# MISC
|
||
|
#############################################################################
|
||
|
|
||
|
clean: clean-debug clean-release
|
||
|
|
||
|
clean-debug:
|
||
|
$(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
|
||
|
|
||
|
clean-release:
|
||
|
$(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
|
||
|
|
||
|
clean2:
|
||
|
-rm -f $(QWSV_OBJS) \
|
||
|
$(QWCL_OBJS) \
|
||
|
$(QWCL_AS_OBJS) \
|
||
|
$(QWCL_SVGA_OBJS) \
|
||
|
$(QWCL_X11_OBJS) \
|
||
|
$(GLQWCL_OBJS) \
|
||
|
|