1
0
Fork 0
forked from id/quake
sdlqw/QW/Makefile.Solaris
1999-12-21 00:00:00 +00:00

185 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) \