123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- #
- # 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) \
|