ref: be559d26383e23407fe568d178cef7273c411dbf
author: Travis Bradshaw <travis.bradshaw@idsoftware.com>
date: Tue Jan 31 09:32:09 EST 2012
The Quake sources as originally release under the GPL license on December 21, 1999
--- /dev/null
+++ b/QW/Makefile.Linux
@@ -1,0 +1,930 @@
+#
+# QuakeWorld Makefile for Linux 2.0
+#
+# Apr '98 by Zoid <zoid@idsoftware.com>
+#
+# GNU Make required
+#
+# ELF only
+#
+
+# RPM release number
+RPM_RELEASE=1
+
+VERSION=2.30$(GLIBC)
+
+ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6* ];then echo libc6;fi)))
+GLIBC=-glibc
+else
+GLIBC=
+endif
+
+ifneq (,$(findstring alpha,$(shell uname -m)))
+ARCH=axp
+RPMARCH=alpha
+else
+ARCH=i386
+RPMARCH=i386
+endif
+
+MAINDIR=/grog/Projects/QW
+
+BUILD_DEBUG_DIR=debug$(ARCH)$(GLIBC)
+BUILD_RELEASE_DIR=release$(ARCH)$(GLIBC)
+CLIENT_DIR=$(MAINDIR)/client
+SERVER_DIR=$(MAINDIR)/server
+
+MESA_DIR=/usr/local/src/Mesa-3.0
+
+CC=gcc
+BASE_CFLAGS=-Wall -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR)
+DEBUG_CFLAGS=$(BASE_CFLAGS) -g
+ifeq ($(ARCH),axp)
+RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
+ -fomit-frame-pointer -fexpensive-optimizations
+else
+RELEASE_CFLAGS=$(BASE_CFLAGS) -m486 -O6 -ffast-math -funroll-loops \
+ -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 \
+ -malign-jumps=2 -malign-functions=2
+endif
+GLCFLAGS=-DGLQUAKE -I/usr/local/src/Mesa-3.0/include -I/usr/include/glide
+
+LDFLAGS=-lm
+SVGALDFLAGS=-lvga
+XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext
+GL_SVGA_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lMesaGL -lglide2x -lX11 -lXext -lvga
+GL_X11_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lGL -lX11 -lXext
+
+DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
+DO_O_CC=$(CC) -O $(CFLAGS) -o $@ -c $<
+DO_GL_CC=$(CC) $(CFLAGS) $(GLCFLAGS) -o $@ -c $<
+DO_SERVER_CC=$(CC) -DSERVERONLY $(CFLAGS) -o $@ -c $<
+
+DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
+DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
+
+#############################################################################
+# SETUP AND BUILD
+#############################################################################
+
+ifeq ($(ARCH),axp)
+TARGETS=$(BUILDDIR)/qwsv
+#$(BUILDDIR)/qwcl.x11
+else
+TARGETS=$(BUILDDIR)/qwsv $(BUILDDIR)/qwcl $(BUILDDIR)/qwcl.x11 $(BUILDDIR)/glqwcl $(BUILDDIR)/glqwcl.glx
+endif
+
+build_debug:
+ @-mkdir $(BUILD_DEBUG_DIR) \
+ $(BUILD_DEBUG_DIR)/client \
+ $(BUILD_DEBUG_DIR)/glclient \
+ $(BUILD_DEBUG_DIR)/server
+ $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
+
+build_release:
+ @-mkdir $(BUILD_RELEASE_DIR) \
+ $(BUILD_RELEASE_DIR)/client \
+ $(BUILD_RELEASE_DIR)/glclient \
+ $(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_DI