diff --git a/Makefile b/Makefile
index 4006765..766f6f9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
#
# ioq3 Makefile
-#
+# Modified for Illusion Arena
# GNU Make required
#
@@ -23,20 +23,6 @@ ifeq ($(COMPILE_PLATFORM),mingw32)
endif
endif
- BUILD_STANDALONE = 1
- BUILD_CLIENT = 0
- BUILD_CLIENT_SMP = 0
- BUILD_SERVER = 0
- BUILD_GAME_SO = 1
- BUILD_GAME_QVM = 1
-ifndef BUILD_MISSIONPACK
- BUILD_MISSIONPACK=
-endif
-
-ifneq ($(PLATFORM),darwin)
- BUILD_CLIENT_SMP = 0
-endif
-
#############################################################################
#
# If you require a different configuration from the defaults below, create a
@@ -58,6 +44,9 @@ endif
ifeq ($(COMPILE_ARCH),powerpc64)
COMPILE_ARCH=ppc64
endif
+ifeq ($(COMPILE_ARCH),amd64)
+ COMPILE_ARCH=x86_64
+endif
ifndef ARCH
ARCH=$(COMPILE_ARCH)
@@ -76,7 +65,7 @@ endif
export CROSS_COMPILING
ifndef COPYDIR
-COPYDIR="/usr/local/games/quake3"
+COPYDIR="/usr/local/games/illusion"
endif
ifndef MOUNT_DIR
@@ -91,117 +80,40 @@ ifndef GENERATE_DEPENDENCIES
GENERATE_DEPENDENCIES=1
endif
-ifndef USE_OPENAL
-USE_OPENAL=1
+ifneq ($(MOD_OA),1)
+ ifneq ($(MOD_Q3),0)
+ MOD_Q3=1
+ CFLAGS+=-DMOD_Q3A
+ endif
endif
-ifndef USE_OPENAL_DLOPEN
- ifeq ($(PLATFORM),mingw32)
- USE_OPENAL_DLOPEN=1
- else
- USE_OPENAL_DLOPEN=0
+ifneq ($(MOD_Q3),1)
+ ifneq ($(MOD_OA),0)
+ MOD_OA=1
+ CFLAGS+=-DMOD_OA
endif
endif
-ifndef USE_CURL
-USE_CURL=1
-endif
-
-ifndef USE_CURL_DLOPEN
- ifeq ($(PLATFORM),mingw32)
- USE_CURL_DLOPEN=0
- else
- USE_CURL_DLOPEN=1
- endif
-endif
-
-ifndef USE_CODEC_VORBIS
-USE_CODEC_VORBIS=0
-endif
-
-ifndef USE_MUMBLE
-USE_MUMBLE=1
-endif
-
-ifndef USE_VOIP
-USE_VOIP=1
-endif
-
-ifndef USE_INTERNAL_SPEEX
-USE_INTERNAL_SPEEX=1
-endif
-
-ifndef USE_LOCAL_HEADERS
-USE_LOCAL_HEADERS=1
-endif
-
#############################################################################
BD=$(BUILD_DIR)/debug-$(PLATFORM)-$(ARCH)
BR=$(BUILD_DIR)/release-$(PLATFORM)-$(ARCH)
-CDIR=$(MOUNT_DIR)/client
-SDIR=$(MOUNT_DIR)/server
RDIR=$(MOUNT_DIR)/renderer
CMDIR=$(MOUNT_DIR)/qcommon
-SDLDIR=$(MOUNT_DIR)/sdl
-ASMDIR=$(MOUNT_DIR)/asm
-SYSDIR=$(MOUNT_DIR)/sys
GDIR=$(MOUNT_DIR)/game
CGDIR=$(MOUNT_DIR)/cgame
BLIBDIR=$(MOUNT_DIR)/botlib
-NDIR=$(MOUNT_DIR)/null
UIDIR=$(MOUNT_DIR)/ui
Q3UIDIR=$(MOUNT_DIR)/q3_ui
-JPDIR=$(MOUNT_DIR)/jpeg-6b
-SPEEXDIR=$(MOUNT_DIR)/libspeex
Q3ASMDIR=$(MOUNT_DIR)/tools/asm
LBURGDIR=$(MOUNT_DIR)/tools/lcc/lburg
Q3CPPDIR=$(MOUNT_DIR)/tools/lcc/cpp
Q3LCCETCDIR=$(MOUNT_DIR)/tools/lcc/etc
Q3LCCSRCDIR=$(MOUNT_DIR)/tools/lcc/src
-LOKISETUPDIR=misc/setup
-NSISDIR=misc/nsis
-SDLHDIR=$(MOUNT_DIR)/SDL12
-LIBSDIR=$(MOUNT_DIR)/libs
TEMPDIR=/tmp
-# set PKG_CONFIG_PATH to influence this, e.g.
-# PKG_CONFIG_PATH=/opt/cross/i386-mingw32msvc/lib/pkgconfig
-ifeq ($(shell which pkg-config > /dev/null; echo $$?),0)
- CURL_CFLAGS=$(shell pkg-config --cflags libcurl)
- CURL_LIBS=$(shell pkg-config --libs libcurl)
- OPENAL_CFLAGS=$(shell pkg-config --cflags openal)
- OPENAL_LIBS=$(shell pkg-config --libs openal)
- # FIXME: introduce CLIENT_CFLAGS
- SDL_CFLAGS=$(shell pkg-config --cflags sdl|sed 's/-Dmain=SDL_main//')
- SDL_LIBS=$(shell pkg-config --libs sdl)
-endif
-# Use sdl-config if all else fails
-ifeq ($(SDL_CFLAGS),)
- ifeq ($(shell which sdl-config > /dev/null; echo $$?),0)
- SDL_CFLAGS=$(shell sdl-config --cflags)
- SDL_LIBS=$(shell sdl-config --libs)
- endif
-endif
-
# version info
-VERSION=1.36
-
-USE_SVN=
-ifeq ($(wildcard .svn),.svn)
- SVN_REV=$(shell LANG=C svnversion .)
- ifneq ($(SVN_REV),)
- VERSION:=$(VERSION)_SVN$(SVN_REV)
- USE_SVN=1
- endif
-else
-ifeq ($(wildcard .git/svn/.metadata),.git/svn/.metadata)
- SVN_REV=$(shell LANG=C git svn info | awk '$$1 == "Revision:" {print $$2; exit 0}')
- ifneq ($(SVN_REV),)
- VERSION:=$(VERSION)_SVN$(SVN_REV)
- endif
-endif
-endif
+VERSION=$(shell git rev-list --all | wc -l)
#############################################################################
@@ -232,26 +144,7 @@ ifeq ($(PLATFORM),linux)
endif
endif
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -pipe -DUSE_ICON $(SDL_CFLAGS)
-
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- ifeq ($(USE_OPENAL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CURL),1)
- BASE_CFLAGS += -DUSE_CURL
- ifeq ($(USE_CURL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_CURL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
+ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe -DUSE_ICON
OPTIMIZE = -O3 -ffast-math -funroll-loops -fomit-frame-pointer
@@ -294,32 +187,6 @@ ifeq ($(PLATFORM),linux)
THREAD_LIBS=-lpthread
LIBS=-ldl -lm
- CLIENT_LIBS=$(SDL_LIBS) -lGL
-
- ifeq ($(USE_OPENAL),1)
- ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += -lopenal
- endif
- endif
-
- ifeq ($(USE_CURL),1)
- ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
- endif
-
- ifeq ($(USE_MUMBLE),1)
- CLIENT_LIBS += -lrt
- endif
-
-ifeq ($(USE_LOCAL_HEADERS),1)
- BASE_CFLAGS += -I$(SDLHDIR)/include
- endif
-
ifeq ($(ARCH),i386)
# linux32 make ...
BASE_CFLAGS += -m32
@@ -360,43 +227,8 @@ ifeq ($(PLATFORM),darwin)
endif
BASE_CFLAGS += -fno-strict-aliasing -DMACOS_X -fno-common -pipe
-
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += -framework OpenAL
- else
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CURL),1)
- BASE_CFLAGS += -DUSE_CURL
- ifneq ($(USE_CURL_DLOPEN),1)
- CLIENT_LIBS += -lcurl
- else
- BASE_CFLAGS += -DUSE_CURL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
- endif
-
BASE_CFLAGS += -D_THREAD_SAFE=1
- ifeq ($(USE_LOCAL_HEADERS),1)
- BASE_CFLAGS += -I$(SDLHDIR)/include
- endif
-
- # We copy sdlmain before ranlib'ing it so that subversion doesn't think
- # the file has been modified by each build.
- LIBSDLMAIN=$(B)/libSDLmain.a
- LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a
- CLIENT_LIBS += -framework Cocoa -framework IOKit -framework OpenGL \
- $(LIBSDIR)/macosx/libSDL-1.2.0.dylib
-
OPTIMIZE += -ffast-math -falign-loops=16
ifneq ($(HAVE_VM_COMPILED),true)
@@ -404,7 +236,6 @@ ifeq ($(PLATFORM),darwin)
endif
DEBUG_CFLAGS = $(BASE_CFLAGS) -g -O0
-
RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG $(OPTIMIZE)
SHLIBEXT=dylib
@@ -430,28 +261,13 @@ ifeq ($(PLATFORM),mingw32)
ARCH=x86
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -DUSE_ICON
+ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -DUSE_ICON
# In the absence of wspiapi.h, require Windows XP or later
ifeq ($(shell test -e $(CMDIR)/wspiapi.h; echo $$?),1)
BASE_CFLAGS += -DWINVER=0x501
endif
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- BASE_CFLAGS += $(OPENAL_CFLAGS)
- ifeq ($(USE_OPENAL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- else
- CLIENT_LDFLAGS += $(OPENAL_LDFLAGS)
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
-
OPTIMIZE = -O3 -march=i586 -fno-omit-frame-pointer -ffast-math \
-falign-loops=2 -funroll-loops -falign-jumps=2 -falign-functions=2 \
-fstrength-reduce
@@ -462,29 +278,10 @@ ifeq ($(PLATFORM),mingw32)
SHLIBCFLAGS=
SHLIBLDFLAGS=-shared $(LDFLAGS)
- BINEXT=.exe
-
LIBS= -lws2_32 -lwinmm
CLIENT_LDFLAGS = -mwindows
CLIENT_LIBS = -lgdi32 -lole32 -lopengl32
- ifeq ($(USE_CURL),1)
- BASE_CFLAGS += -DUSE_CURL
- BASE_CFLAGS += $(CURL_CFLAGS)
- ifneq ($(USE_CURL_DLOPEN),1)
- ifeq ($(USE_LOCAL_HEADERS),1)
- BASE_CFLAGS += -DCURL_STATICLIB
- CLIENT_LIBS += $(LIBSDIR)/win32/libcurl.a
- else
- CLIENT_LIBS += $(CURL_LIBS)
- endif
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
- endif
-
ifeq ($(ARCH),x86)
# build 32bit
BASE_CFLAGS += -m32
@@ -493,21 +290,6 @@ ifeq ($(PLATFORM),mingw32)
DEBUG_CFLAGS=$(BASE_CFLAGS) -g -O0
RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG $(OPTIMIZE)
- # libmingw32 must be linked before libSDLmain
- CLIENT_LIBS += -lmingw32
- ifeq ($(USE_LOCAL_HEADERS),1)
- BASE_CFLAGS += -I$(SDLHDIR)/include
- CLIENT_LIBS += $(LIBSDIR)/win32/libSDLmain.a \
- $(LIBSDIR)/win32/libSDL.dll.a
- else
- BASE_CFLAGS += $(SDL_CFLAGS)
- CLIENT_LIBS += $(SDL_LIBS)
- endif
-
-
-
- BUILD_CLIENT_SMP = 0
-
else # ifeq mingw32
#############################################################################
@@ -526,17 +308,6 @@ ifeq ($(PLATFORM),freebsd)
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-DUSE_ICON $(SDL_CFLAGS)
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- ifeq ($(USE_OPENAL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
-
ifeq ($(ARCH),axp)
BASE_CFLAGS += -DNO_VM_COMPILED
RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
@@ -563,20 +334,6 @@ ifeq ($(PLATFORM),freebsd)
# don't need -ldl (FreeBSD)
LIBS=-lm
- CLIENT_LIBS =
-
- CLIENT_LIBS += $(SDL_LIBS) -lGL
-
- ifeq ($(USE_OPENAL),1)
- ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
- endif
-
else # ifeq freebsd
#############################################################################
@@ -588,20 +345,7 @@ ifeq ($(PLATFORM),openbsd)
#default to i386, no tests done on anything else
ARCH=i386
-
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -DUSE_ICON $(SDL_CFLAGS)
-
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- ifeq ($(USE_OPENAL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
+ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -DUSE_ICON $(SDL_CFLAGS)
BASE_CFLAGS += -DNO_VM_COMPILED -I/usr/X11R6/include -I/usr/local/include
RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 \
@@ -619,20 +363,6 @@ ifeq ($(PLATFORM),openbsd)
THREAD_LIBS=-lpthread
LIBS=-lm
- CLIENT_LIBS =
-
- CLIENT_LIBS += $(SDL_LIBS) -lGL
-
- ifeq ($(USE_OPENAL),1)
- ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lossaudio -lopenal
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
- endif
-
else # ifeq openbsd
#############################################################################
@@ -644,7 +374,10 @@ ifeq ($(PLATFORM),netbsd)
ifeq ($(shell uname -m),i386)
ARCH=i386
endif
-
+ ifeq ($(shell uname -m),amd64)
+ ARCH=x86_64
+ endif
+
LIBS=-lm
SHLIBEXT=so
SHLIBCFLAGS=-fPIC
@@ -653,15 +386,8 @@ ifeq ($(PLATFORM),netbsd)
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
- ifneq ($(ARCH),i386)
- BASE_CFLAGS += -DNO_VM_COMPILED
- endif
-
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
- BUILD_CLIENT = 0
- BUILD_GAME_QVM = 0
-
else # ifeq netbsd
#############################################################################
@@ -676,7 +402,7 @@ ifeq ($(PLATFORM),irix64)
MKDIR = mkdir -p
BASE_CFLAGS=-Dstricmp=strcasecmp -Xcpluscomm -woff 1185 \
- -I. $(SDL_CFLAGS) -I$(ROOT)/usr/include -DNO_VM_COMPILED
+ -I. -I$(ROOT)/usr/include -DNO_VM_COMPILED
RELEASE_CFLAGS=$(BASE_CFLAGS) -O3
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
@@ -700,7 +426,7 @@ ifeq ($(PLATFORM),sunos)
CC=gcc
INSTALL=ginstall
MKDIR=gmkdir
- COPYDIR="/usr/local/share/games/quake3"
+ COPYDIR="/usr/local/share/games/illusion"
ifneq (,$(findstring i86pc,$(shell uname -m)))
ARCH=i386
@@ -714,8 +440,7 @@ ifeq ($(PLATFORM),sunos)
endif
endif
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -pipe -DUSE_ICON $(SDL_CFLAGS)
+ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe -DUSE_ICON
OPTIMIZE = -O3 -ffast-math -funroll-loops
@@ -754,8 +479,6 @@ ifeq ($(PLATFORM),sunos)
BOTCFLAGS=-O0
- CLIENT_LIBS +=$(SDL_LIBS) -lGL -lX11 -lXext -liconv -lm
-
else # ifeq sunos
#############################################################################
@@ -780,55 +503,19 @@ endif #SunOS
TARGETS =
-ifneq ($(BUILD_SERVER),0)
- TARGETS += $(B)/ioq3ded.$(ARCH)$(BINEXT)
-endif
-
-ifneq ($(BUILD_CLIENT),0)
- TARGETS += $(B)/ioquake3.$(ARCH)$(BINEXT)
- ifneq ($(BUILD_CLIENT_SMP),0)
- TARGETS += $(B)/ioquake3-smp.$(ARCH)$(BINEXT)
- endif
-endif
-
ifneq ($(BUILD_GAME_SO),0)
TARGETS += \
- $(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) \
- $(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) \
- $(B)/baseq3/ui$(ARCH).$(SHLIBEXT)
- ifneq ($(BUILD_MISSIONPACK),0)
- TARGETS += \
- $(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) \
- $(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) \
- $(B)/missionpack/ui$(ARCH).$(SHLIBEXT)
- endif
+ $(B)/baseia/cgame$(ARCH).$(SHLIBEXT) \
+ $(B)/baseia/qagame$(ARCH).$(SHLIBEXT) \
+ $(B)/baseia/ui$(ARCH).$(SHLIBEXT)
endif
ifneq ($(BUILD_GAME_QVM),0)
ifneq ($(CROSS_COMPILING),1)
TARGETS += \
- $(B)/baseq3/vm/cgame.qvm \
- $(B)/baseq3/vm/qagame.qvm \
- $(B)/baseq3/vm/ui.qvm
- ifneq ($(BUILD_MISSIONPACK),0)
- TARGETS += \
- $(B)/missionpack/vm/qagame.qvm \
- $(B)/missionpack/vm/cgame.qvm \
- $(B)/missionpack/vm/ui.qvm
- endif
- endif
-endif
-
-ifeq ($(USE_MUMBLE),1)
- BASE_CFLAGS += -DUSE_MUMBLE
-endif
-
-ifeq ($(USE_VOIP),1)
- BASE_CFLAGS += -DUSE_VOIP
- ifeq ($(USE_INTERNAL_SPEEX),1)
- BASE_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include
- else
- CLIENT_LIBS += -lspeex
+ $(B)/baseia/vm/cgame.qvm \
+ $(B)/baseia/vm/qagame.qvm \
+ $(B)/baseia/vm/ui.qvm
endif
endif
@@ -836,14 +523,6 @@ ifdef DEFAULT_BASEDIR
BASE_CFLAGS += -DDEFAULT_BASEDIR=\\\"$(DEFAULT_BASEDIR)\\\"
endif
-ifeq ($(USE_LOCAL_HEADERS),1)
- BASE_CFLAGS += -DUSE_LOCAL_HEADERS
-endif
-
-ifeq ($(BUILD_STANDALONE),1)
- BASE_CFLAGS += -DSTANDALONE
-endif
-
ifeq ($(GENERATE_DEPENDENCIES),1)
DEPEND_CFLAGS = -MMD
else
@@ -860,21 +539,6 @@ echo_cmd=@echo
Q=@
endif
-define DO_CC
-$(echo_cmd) "CC $<"
-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) -o $@ -c $<
-endef
-
-define DO_SMP_CC
-$(echo_cmd) "SMP_CC $<"
-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) -DSMP -o $@ -c $<
-endef
-
-define DO_BOT_CC
-$(echo_cmd) "BOT_CC $<"
-$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) $(BOTCFLAGS) -DBOTLIB -o $@ -c $<
-endef
-
ifeq ($(GENERATE_DEPENDENCIES),1)
DO_QVM_DEP=cat $(@:%.o=%.d) | sed -e 's/\.o/\.asm/g' >> $(@:%.o=%.d)
endif
@@ -903,46 +567,11 @@ $(Q)$(CC) -DUI $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
$(Q)$(DO_QVM_DEP)
endef
-define DO_SHLIB_CC_MISSIONPACK
-$(echo_cmd) "SHLIB_CC_MISSIONPACK $<"
-$(Q)$(CC) -DMISSIONPACK $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
-$(Q)$(DO_QVM_DEP)
-endef
-
-define DO_GAME_CC_MISSIONPACK
-$(echo_cmd) "GAME_CC_MISSIONPACK $<"
-$(Q)$(CC) -DMISSIONPACK -DQAGAME $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
-$(Q)$(DO_QVM_DEP)
-endef
-
-define DO_CGAME_CC_MISSIONPACK
-$(echo_cmd) "CGAME_CC_MISSIONPACK $<"
-$(Q)$(CC) -DMISSIONPACK -DCGAME $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
-$(Q)$(DO_QVM_DEP)
-endef
-
-define DO_UI_CC_MISSIONPACK
-$(echo_cmd) "UI_CC_MISSIONPACK $<"
-$(Q)$(CC) -DMISSIONPACK -DUI $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
-$(Q)$(DO_QVM_DEP)
-endef
-
define DO_AS
$(echo_cmd) "AS $<"
$(Q)$(CC) $(CFLAGS) -x assembler-with-cpp -o $@ -c $<
endef
-define DO_DED_CC
-$(echo_cmd) "DED_CC $<"
-$(Q)$(CC) $(NOTSHLIBCFLAGS) -DDEDICATED $(CFLAGS) -o $@ -c $<
-endef
-
-define DO_WINDRES
-$(echo_cmd) "WINDRES $<"
-$(Q)$(WINDRES) -i $< -o $@
-endef
-
-
#############################################################################
# MAIN TARGETS
#############################################################################
@@ -962,7 +591,7 @@ release:
# an informational message, then start building
targets: makedirs
@echo ""
- @echo "Building ioquake3 in $(B):"
+ @echo "Building Illusion Arena in $(B):"
@echo " PLATFORM: $(PLATFORM)"
@echo " ARCH: $(ARCH)"
@echo " VERSION: $(VERSION)"
@@ -970,36 +599,6 @@ targets: makedirs
@echo " COMPILE_ARCH: $(COMPILE_ARCH)"
@echo " CC: $(CC)"
@echo ""
- @echo " CFLAGS:"
- -@for i in $(CFLAGS); \
- do \
- echo " $$i"; \
- done
- @echo ""
- @echo " LDFLAGS:"
- -@for i in $(LDFLAGS); \
- do \
- echo " $$i"; \
- done
- @echo ""
- @echo " LIBS:"
- -@for i in $(LIBS); \
- do \
- echo " $$i"; \
- done
- @echo ""
- @echo " CLIENT_LIBS:"
- -@for i in $(CLIENT_LIBS); \
- do \
- echo " $$i"; \
- done
- @echo ""
- @echo " Output:"
- -@for i in $(TARGETS); \
- do \
- echo " $$i"; \
- done
- @echo ""
ifneq ($(TARGETS),)
@$(MAKE) $(TARGETS) V=$(V)
endif
@@ -1007,21 +606,12 @@ endif
makedirs:
@if [ ! -d $(BUILD_DIR) ];then $(MKDIR) $(BUILD_DIR);fi
@if [ ! -d $(B) ];then $(MKDIR) $(B);fi
- @if [ ! -d $(B)/client ];then $(MKDIR) $(B)/client;fi
- @if [ ! -d $(B)/clientsmp ];then $(MKDIR) $(B)/clientsmp;fi
- @if [ ! -d $(B)/ded ];then $(MKDIR) $(B)/ded;fi
- @if [ ! -d $(B)/baseq3 ];then $(MKDIR) $(B)/baseq3;fi
- @if [ ! -d $(B)/baseq3/cgame ];then $(MKDIR) $(B)/baseq3/cgame;fi
- @if [ ! -d $(B)/baseq3/game ];then $(MKDIR) $(B)/baseq3/game;fi
- @if [ ! -d $(B)/baseq3/ui ];then $(MKDIR) $(B)/baseq3/ui;fi
- @if [ ! -d $(B)/baseq3/qcommon ];then $(MKDIR) $(B)/baseq3/qcommon;fi
- @if [ ! -d $(B)/baseq3/vm ];then $(MKDIR) $(B)/baseq3/vm;fi
- @if [ ! -d $(B)/missionpack ];then $(MKDIR) $(B)/missionpack;fi
- @if [ ! -d $(B)/missionpack/cgame ];then $(MKDIR) $(B)/missionpack/cgame;fi
- @if [ ! -d $(B)/missionpack/game ];then $(MKDIR) $(B)/missionpack/game;fi
- @if [ ! -d $(B)/missionpack/ui ];then $(MKDIR) $(B)/missionpack/ui;fi
- @if [ ! -d $(B)/missionpack/qcommon ];then $(MKDIR) $(B)/missionpack/qcommon;fi
- @if [ ! -d $(B)/missionpack/vm ];then $(MKDIR) $(B)/missionpack/vm;fi
+ @if [ ! -d $(B)/baseia ];then $(MKDIR) $(B)/baseia;fi
+ @if [ ! -d $(B)/baseia/cgame ];then $(MKDIR) $(B)/baseia/cgame;fi
+ @if [ ! -d $(B)/baseia/game ];then $(MKDIR) $(B)/baseia/game;fi
+ @if [ ! -d $(B)/baseia/ui ];then $(MKDIR) $(B)/baseia/ui;fi
+ @if [ ! -d $(B)/baseia/qcommon ];then $(MKDIR) $(B)/baseia/qcommon;fi
+ @if [ ! -d $(B)/baseia/vm ];then $(MKDIR) $(B)/baseia/vm;fi
@if [ ! -d $(B)/tools ];then $(MKDIR) $(B)/tools;fi
@if [ ! -d $(B)/tools/asm ];then $(MKDIR) $(B)/tools/asm;fi
@if [ ! -d $(B)/tools/etc ];then $(MKDIR) $(B)/tools/etc;fi
@@ -1168,27 +758,6 @@ $(echo_cmd) "UI_Q3LCC $<"
$(Q)$(Q3LCC) -DUI -o $@ $<
endef
-define DO_Q3LCC_MISSIONPACK
-$(echo_cmd) "Q3LCC_MISSIONPACK $<"
-$(Q)$(Q3LCC) -DMISSIONPACK -o $@ $<
-endef
-
-define DO_CGAME_Q3LCC_MISSIONPACK
-$(echo_cmd) "CGAME_Q3LCC_MISSIONPACK $<"
-$(Q)$(Q3LCC) -DMISSIONPACK -DCGAME -o $@ $<
-endef
-
-define DO_GAME_Q3LCC_MISSIONPACK
-$(echo_cmd) "GAME_Q3LCC_MISSIONPACK $<"
-$(Q)$(Q3LCC) -DMISSIONPACK -DQAGAME -o $@ $<
-endef
-
-define DO_UI_Q3LCC_MISSIONPACK
-$(echo_cmd) "UI_Q3LCC_MISSIONPACK $<"
-$(Q)$(Q3LCC) -DMISSIONPACK -DUI -o $@ $<
-endef
-
-
Q3ASMOBJ = \
$(B)/tools/asm/q3asm.o \
$(B)/tools/asm/cmdlib.o
@@ -1200,889 +769,219 @@ $(Q3ASM): $(Q3ASMOBJ)
$(echo_cmd) "LD $@"
$(Q)$(CC) $(TOOLS_CFLAGS) $(TOOLS_LDFLAGS) -o $@ $^ $(TOOLS_LIBS)
-
-#############################################################################
-# CLIENT/SERVER
-#############################################################################
-
-Q3OBJ = \
- $(B)/client/cl_cgame.o \
- $(B)/client/cl_cin.o \
- $(B)/client/cl_console.o \
- $(B)/client/cl_input.o \
- $(B)/client/cl_keys.o \
- $(B)/client/cl_main.o \
- $(B)/client/cl_net_chan.o \
- $(B)/client/cl_parse.o \
- $(B)/client/cl_scrn.o \
- $(B)/client/cl_ui.o \
- $(B)/client/cl_avi.o \
- \
- $(B)/client/cm_load.o \
- $(B)/client/cm_patch.o \
- $(B)/client/cm_polylib.o \
- $(B)/client/cm_test.o \
- $(B)/client/cm_trace.o \
- \
- $(B)/client/cmd.o \
- $(B)/client/common.o \
- $(B)/client/cvar.o \
- $(B)/client/files.o \
- $(B)/client/md4.o \
- $(B)/client/md5.o \
- $(B)/client/msg.o \
- $(B)/client/net_chan.o \
- $(B)/client/net_ip.o \
- $(B)/client/huffman.o \
- \
- $(B)/client/snd_adpcm.o \
- $(B)/client/snd_dma.o \
- $(B)/client/snd_mem.o \
- $(B)/client/snd_mix.o \
- $(B)/client/snd_wavelet.o \
- \
- $(B)/client/snd_main.o \
- $(B)/client/snd_codec.o \
- $(B)/client/snd_codec_wav.o \
- $(B)/client/snd_codec_ogg.o \
- \
- $(B)/client/qal.o \
- $(B)/client/snd_openal.o \
- \
- $(B)/client/cl_curl.o \
- \
- $(B)/client/sv_bot.o \
- $(B)/client/sv_ccmds.o \
- $(B)/client/sv_client.o \
- $(B)/client/sv_game.o \
- $(B)/client/sv_init.o \
- $(B)/client/sv_main.o \
- $(B)/client/sv_net_chan.o \
- $(B)/client/sv_snapshot.o \
- $(B)/client/sv_world.o \
- \
- $(B)/client/q_math.o \
- $(B)/client/q_shared.o \
- \
- $(B)/client/unzip.o \
- $(B)/client/puff.o \
- $(B)/client/vm.o \
- $(B)/client/vm_interpreted.o \
- \
- $(B)/client/be_aas_bspq3.o \
- $(B)/client/be_aas_cluster.o \
- $(B)/client/be_aas_debug.o \
- $(B)/client/be_aas_entity.o \
- $(B)/client/be_aas_file.o \
- $(B)/client/be_aas_main.o \
- $(B)/client/be_aas_move.o \
- $(B)/client/be_aas_optimize.o \
- $(B)/client/be_aas_reach.o \
- $(B)/client/be_aas_route.o \
- $(B)/client/be_aas_routealt.o \
- $(B)/client/be_aas_sample.o \
- $(B)/client/be_ai_char.o \
- $(B)/client/be_ai_chat.o \
- $(B)/client/be_ai_gen.o \
- $(B)/client/be_ai_goal.o \
- $(B)/client/be_ai_move.o \
- $(B)/client/be_ai_weap.o \
- $(B)/client/be_ai_weight.o \
- $(B)/client/be_ea.o \
- $(B)/client/be_interface.o \
- $(B)/client/l_crc.o \
- $(B)/client/l_libvar.o \
- $(B)/client/l_log.o \
- $(B)/client/l_memory.o \
- $(B)/client/l_precomp.o \
- $(B)/client/l_script.o \
- $(B)/client/l_struct.o \
- \
- $(B)/client/jcapimin.o \
- $(B)/client/jcapistd.o \
- $(B)/client/jccoefct.o \
- $(B)/client/jccolor.o \
- $(B)/client/jcdctmgr.o \
- $(B)/client/jchuff.o \
- $(B)/client/jcinit.o \
- $(B)/client/jcmainct.o \
- $(B)/client/jcmarker.o \
- $(B)/client/jcmaster.o \
- $(B)/client/jcomapi.o \
- $(B)/client/jcparam.o \
- $(B)/client/jcphuff.o \
- $(B)/client/jcprepct.o \
- $(B)/client/jcsample.o \
- $(B)/client/jdapimin.o \
- $(B)/client/jdapistd.o \
- $(B)/client/jdatasrc.o \
- $(B)/client/jdcoefct.o \
- $(B)/client/jdcolor.o \
- $(B)/client/jddctmgr.o \
- $(B)/client/jdhuff.o \
- $(B)/client/jdinput.o \
- $(B)/client/jdmainct.o \
- $(B)/client/jdmarker.o \
- $(B)/client/jdmaster.o \
- $(B)/client/jdpostct.o \
- $(B)/client/jdsample.o \
- $(B)/client/jdtrans.o \
- $(B)/client/jerror.o \
- $(B)/client/jfdctflt.o \
- $(B)/client/jidctflt.o \
- $(B)/client/jmemmgr.o \
- $(B)/client/jmemnobs.o \
- $(B)/client/jutils.o \
- \
- $(B)/client/tr_animation.o \
- $(B)/client/tr_backend.o \
- $(B)/client/tr_bsp.o \
- $(B)/client/tr_cmds.o \
- $(B)/client/tr_curve.o \
- $(B)/client/tr_flares.o \
- $(B)/client/tr_font.o \
- $(B)/client/tr_image.o \
- $(B)/client/tr_image_png.o \
- $(B)/client/tr_image_jpg.o \
- $(B)/client/tr_image_bmp.o \
- $(B)/client/tr_image_tga.o \
- $(B)/client/tr_image_pcx.o \
- $(B)/client/tr_init.o \
- $(B)/client/tr_light.o \
- $(B)/client/tr_main.o \
- $(B)/client/tr_marks.o \
- $(B)/client/tr_mesh.o \
- $(B)/client/tr_model.o \
- $(B)/client/tr_noise.o \
- $(B)/client/tr_scene.o \
- $(B)/client/tr_shade.o \
- $(B)/client/tr_shade_calc.o \
- $(B)/client/tr_shader.o \
- $(B)/client/tr_shadows.o \
- $(B)/client/tr_sky.o \
- $(B)/client/tr_surface.o \
- $(B)/client/tr_world.o \
- \
- $(B)/client/sdl_gamma.o \
- $(B)/client/sdl_input.o \
- $(B)/client/sdl_snd.o \
- \
- $(B)/client/con_passive.o \
- $(B)/client/con_log.o \
- $(B)/client/sys_main.o
-
-ifeq ($(ARCH),i386)
- Q3OBJ += \
- $(B)/client/snd_mixa.o \
- $(B)/client/matha.o \
- $(B)/client/ftola.o \
- $(B)/client/snapvectora.o
-endif
-ifeq ($(ARCH),x86)
- Q3OBJ += \
- $(B)/client/snd_mixa.o \
- $(B)/client/matha.o \
- $(B)/client/ftola.o \
- $(B)/client/snapvectora.o
-endif
-
-ifeq ($(USE_VOIP),1)
-ifeq ($(USE_INTERNAL_SPEEX),1)
-Q3OBJ += \
- $(B)/client/bits.o \
- $(B)/client/buffer.o \
- $(B)/client/cb_search.o \
- $(B)/client/exc_10_16_table.o \
- $(B)/client/exc_10_32_table.o \
- $(B)/client/exc_20_32_table.o \
- $(B)/client/exc_5_256_table.o \
- $(B)/client/exc_5_64_table.o \
- $(B)/client/exc_8_128_table.o \
- $(B)/client/fftwrap.o \
- $(B)/client/filterbank.o \
- $(B)/client/filters.o \
- $(B)/client/gain_table.o \
- $(B)/client/gain_table_lbr.o \
- $(B)/client/hexc_10_32_table.o \
- $(B)/client/hexc_table.o \
- $(B)/client/high_lsp_tables.o \
- $(B)/client/jitter.o \
- $(B)/client/kiss_fft.o \
- $(B)/client/kiss_fftr.o \
- $(B)/client/lpc.o \
- $(B)/client/lsp.o \
- $(B)/client/lsp_tables_nb.o \
- $(B)/client/ltp.o \
- $(B)/client/mdf.o \
- $(B)/client/modes.o \
- $(B)/client/modes_wb.o \
- $(B)/client/nb_celp.o \
- $(B)/client/preprocess.o \
- $(B)/client/quant_lsp.o \
- $(B)/client/resample.o \
- $(B)/client/sb_celp.o \
- $(B)/client/smallft.o \
- $(B)/client/speex.o \
- $(B)/client/speex_callbacks.o \
- $(B)/client/speex_header.o \
- $(B)/client/stereo.o \
- $(B)/client/vbr.o \
- $(B)/client/vq.o \
- $(B)/client/window.o
-endif
-endif
-
-
-ifeq ($(HAVE_VM_COMPILED),true)
- ifeq ($(ARCH),i386)
- Q3OBJ += $(B)/client/vm_x86.o
- endif
- ifeq ($(ARCH),x86)
- Q3OBJ += $(B)/client/vm_x86.o
- endif
- ifeq ($(ARCH),x86_64)
- Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
- endif
- ifeq ($(ARCH),ppc)
- Q3OBJ += $(B)/client/vm_powerpc.o $(B)/client/vm_powerpc_asm.o
- endif
- ifeq ($(ARCH),ppc64)
- Q3OBJ += $(B)/client/vm_powerpc.o $(B)/client/vm_powerpc_asm.o
- endif
- ifeq ($(ARCH),sparc)
- Q3OBJ += $(B)/client/vm_sparc.o
- endif
-endif
-
-ifeq ($(PLATFORM),mingw32)
- Q3OBJ += \
- $(B)/client/win_resource.o \
- $(B)/client/sys_win32.o
-else
- Q3OBJ += \
- $(B)/client/sys_unix.o
-endif
-
-ifeq ($(USE_MUMBLE),1)
- Q3OBJ += \
- $(B)/client/libmumblelink.o
-endif
-
-Q3POBJ += \
- $(B)/client/sdl_glimp.o
-
-Q3POBJ_SMP += \
- $(B)/clientsmp/sdl_glimp.o
-
-$(B)/ioquake3.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CLIENT_CFLAGS) $(CFLAGS) $(CLIENT_LDFLAGS) $(LDFLAGS) \
- -o $@ $(Q3OBJ) $(Q3POBJ) \
- $(LIBSDLMAIN) $(CLIENT_LIBS) $(LIBS)
-
-$(B)/ioquake3-smp.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CLIENT_CFLAGS) $(CFLAGS) $(CLIENT_LDFLAGS) $(LDFLAGS) $(THREAD_LDFLAGS) \
- -o $@ $(Q3OBJ) $(Q3POBJ_SMP) \
- $(THREAD_LIBS) $(LIBSDLMAIN) $(CLIENT_LIBS) $(LIBS)
-
-ifneq ($(strip $(LIBSDLMAIN)),)
-ifneq ($(strip $(LIBSDLMAINSRC)),)
-$(LIBSDLMAIN) : $(LIBSDLMAINSRC)
- cp $< $@
- ranlib $@
-endif
-endif
-
-
-
-#############################################################################
-# DEDICATED SERVER
-#############################################################################
-
-Q3DOBJ = \
- $(B)/ded/sv_bot.o \
- $(B)/ded/sv_client.o \
- $(B)/ded/sv_ccmds.o \
- $(B)/ded/sv_game.o \
- $(B)/ded/sv_init.o \
- $(B)/ded/sv_main.o \
- $(B)/ded/sv_net_chan.o \
- $(B)/ded/sv_snapshot.o \
- $(B)/ded/sv_world.o \
- \
- $(B)/ded/cm_load.o \
- $(B)/ded/cm_patch.o \
- $(B)/ded/cm_polylib.o \
- $(B)/ded/cm_test.o \
- $(B)/ded/cm_trace.o \
- $(B)/ded/cmd.o \
- $(B)/ded/common.o \
- $(B)/ded/cvar.o \
- $(B)/ded/files.o \
- $(B)/ded/md4.o \
- $(B)/ded/msg.o \
- $(B)/ded/net_chan.o \
- $(B)/ded/net_ip.o \
- $(B)/ded/huffman.o \
- \
- $(B)/ded/q_math.o \
- $(B)/ded/q_shared.o \
- \
- $(B)/ded/unzip.o \
- $(B)/ded/vm.o \
- $(B)/ded/vm_interpreted.o \
- \
- $(B)/ded/be_aas_bspq3.o \
- $(B)/ded/be_aas_cluster.o \
- $(B)/ded/be_aas_debug.o \
- $(B)/ded/be_aas_entity.o \
- $(B)/ded/be_aas_file.o \
- $(B)/ded/be_aas_main.o \
- $(B)/ded/be_aas_move.o \
- $(B)/ded/be_aas_optimize.o \
- $(B)/ded/be_aas_reach.o \
- $(B)/ded/be_aas_route.o \
- $(B)/ded/be_aas_routealt.o \
- $(B)/ded/be_aas_sample.o \
- $(B)/ded/be_ai_char.o \
- $(B)/ded/be_ai_chat.o \
- $(B)/ded/be_ai_gen.o \
- $(B)/ded/be_ai_goal.o \
- $(B)/ded/be_ai_move.o \
- $(B)/ded/be_ai_weap.o \
- $(B)/ded/be_ai_weight.o \
- $(B)/ded/be_ea.o \
- $(B)/ded/be_interface.o \
- $(B)/ded/l_crc.o \
- $(B)/ded/l_libvar.o \
- $(B)/ded/l_log.o \
- $(B)/ded/l_memory.o \
- $(B)/ded/l_precomp.o \
- $(B)/ded/l_script.o \
- $(B)/ded/l_struct.o \
- \
- $(B)/ded/null_client.o \
- $(B)/ded/null_input.o \
- $(B)/ded/null_snddma.o \
- \
- $(B)/ded/con_log.o \
- $(B)/ded/sys_main.o
-
-ifeq ($(ARCH),i386)
- Q3DOBJ += \
- $(B)/ded/ftola.o \
- $(B)/ded/snapvectora.o \
- $(B)/ded/matha.o
-endif
-ifeq ($(ARCH),x86)
- Q3DOBJ += \
- $(B)/ded/ftola.o \
- $(B)/ded/snapvectora.o \
- $(B)/ded/matha.o
-endif
-
-ifeq ($(HAVE_VM_COMPILED),true)
- ifeq ($(ARCH),i386)
- Q3DOBJ += $(B)/ded/vm_x86.o
- endif
- ifeq ($(ARCH),x86)
- Q3DOBJ += $(B)/ded/vm_x86.o
- endif
- ifeq ($(ARCH),x86_64)
- Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
- endif
- ifeq ($(ARCH),ppc)
- Q3DOBJ += $(B)/ded/vm_powerpc.o $(B)/ded/vm_powerpc_asm.o
- endif
- ifeq ($(ARCH),ppc64)
- Q3DOBJ += $(B)/ded/vm_powerpc.o $(B)/ded/vm_powerpc_asm.o
- endif
- ifeq ($(ARCH),sparc)
- Q3DOBJ += $(B)/ded/vm_sparc.o
- endif
-endif
-
-ifeq ($(PLATFORM),mingw32)
- Q3DOBJ += \
- $(B)/ded/win_resource.o \
- $(B)/ded/sys_win32.o \
- $(B)/ded/con_win32.o
-else
- Q3DOBJ += \
- $(B)/ded/sys_unix.o \
- $(B)/ded/con_tty.o
-endif
-
-$(B)/ioq3ded.$(ARCH)$(BINEXT): $(Q3DOBJ)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(Q3DOBJ) $(LIBS)
-
-
-
#############################################################################
## BASEQ3 CGAME
#############################################################################
Q3CGOBJ_ = \
- $(B)/baseq3/cgame/cg_main.o \
- $(B)/baseq3/game/bg_misc.o \
- $(B)/baseq3/game/bg_lib.o \
- $(B)/baseq3/game/bg_pmove.o \
- $(B)/baseq3/game/bg_slidemove.o \
- $(B)/baseq3/cgame/cg_challenges.o \
- $(B)/baseq3/cgame/cg_consolecmds.o \
- $(B)/baseq3/cgame/cg_draw.o \
- $(B)/baseq3/cgame/cg_drawtools.o \
- $(B)/baseq3/cgame/cg_effects.o \
- $(B)/baseq3/cgame/cg_ents.o \
- $(B)/baseq3/cgame/cg_event.o \
- $(B)/baseq3/cgame/cg_info.o \
- $(B)/baseq3/cgame/cg_localents.o \
- $(B)/baseq3/cgame/cg_marks.o \
- $(B)/baseq3/cgame/cg_players.o \
- $(B)/baseq3/cgame/cg_playerstate.o \
- $(B)/baseq3/cgame/cg_predict.o \
- $(B)/baseq3/cgame/cg_scoreboard.o \
- $(B)/baseq3/cgame/cg_servercmds.o \
- $(B)/baseq3/cgame/cg_snapshot.o \
- $(B)/baseq3/cgame/cg_unlagged.o \
- $(B)/baseq3/cgame/cg_view.o \
- $(B)/baseq3/cgame/cg_weapons.o \
+ $(B)/baseia/cgame/cg_main.o \
+ $(B)/baseia/game/bg_misc.o \
+ $(B)/baseia/game/bg_lib.o \
+ $(B)/baseia/game/bg_pmove.o \
+ $(B)/baseia/game/bg_slidemove.o \
+ $(B)/baseia/cgame/cg_challenges.o \
+ $(B)/baseia/cgame/cg_consolecmds.o \
+ $(B)/baseia/cgame/cg_draw.o \
+ $(B)/baseia/cgame/cg_drawtools.o \
+ $(B)/baseia/cgame/cg_effects.o \
+ $(B)/baseia/cgame/cg_ents.o \
+ $(B)/baseia/cgame/cg_event.o \
+ $(B)/baseia/cgame/cg_info.o \
+ $(B)/baseia/cgame/cg_localents.o \
+ $(B)/baseia/cgame/cg_marks.o \
+ $(B)/baseia/cgame/cg_players.o \
+ $(B)/baseia/cgame/cg_playerstate.o \
+ $(B)/baseia/cgame/cg_predict.o \
+ $(B)/baseia/cgame/cg_scoreboard.o \
+ $(B)/baseia/cgame/cg_servercmds.o \
+ $(B)/baseia/cgame/cg_snapshot.o \
+ $(B)/baseia/cgame/cg_unlagged.o \
+ $(B)/baseia/cgame/cg_view.o \
+ $(B)/baseia/cgame/cg_weapons.o \
\
- $(B)/baseq3/qcommon/q_math.o \
- $(B)/baseq3/qcommon/q_shared.o
+ $(B)/baseia/qcommon/q_math.o \
+ $(B)/baseia/qcommon/q_shared.o
-Q3CGOBJ = $(Q3CGOBJ_) $(B)/baseq3/cgame/cg_syscalls.o
+Q3CGOBJ = $(Q3CGOBJ_) $(B)/baseia/cgame/cg_syscalls.o
Q3CGVMOBJ = $(Q3CGOBJ_:%.o=%.asm)
-$(B)/baseq3/cgame$(ARCH).$(SHLIBEXT): $(Q3CGOBJ)
+$(B)/baseia/cgame$(ARCH).$(SHLIBEXT): $(Q3CGOBJ)
$(echo_cmd) "LD $@"
$(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3CGOBJ)
-$(B)/baseq3/vm/cgame.qvm: $(Q3CGVMOBJ) $(CGDIR)/cg_syscalls.asm $(Q3ASM)
+$(B)/baseia/vm/cgame.qvm: $(Q3CGVMOBJ) $(CGDIR)/cg_syscalls.asm $(Q3ASM)
$(echo_cmd) "Q3ASM $@"
$(Q)$(Q3ASM) -o $@ $(Q3CGVMOBJ) $(CGDIR)/cg_syscalls.asm
-#############################################################################
-## MISSIONPACK CGAME
-#############################################################################
-
-MPCGOBJ_ = \
- $(B)/missionpack/cgame/cg_main.o \
- $(B)/missionpack/game/bg_misc.o \
- $(B)/missionpack/game/bg_lib.o \
- $(B)/missionpack/game/bg_pmove.o \
- $(B)/missionpack/game/bg_slidemove.o \
- $(B)/missionpack/cgame/cg_challenges.o \
- $(B)/missionpack/cgame/cg_consolecmds.o \
- $(B)/missionpack/cgame/cg_newdraw.o \
- $(B)/missionpack/cgame/cg_draw.o \
- $(B)/missionpack/cgame/cg_drawtools.o \
- $(B)/missionpack/cgame/cg_effects.o \
- $(B)/missionpack/cgame/cg_ents.o \
- $(B)/missionpack/cgame/cg_event.o \
- $(B)/missionpack/cgame/cg_info.o \
- $(B)/missionpack/cgame/cg_localents.o \
- $(B)/missionpack/cgame/cg_marks.o \
- $(B)/missionpack/cgame/cg_players.o \
- $(B)/missionpack/cgame/cg_playerstate.o \
- $(B)/missionpack/cgame/cg_predict.o \
- $(B)/missionpack/cgame/cg_scoreboard.o \
- $(B)/missionpack/cgame/cg_servercmds.o \
- $(B)/missionpack/cgame/cg_snapshot.o \
- $(B)/missionpack/cgame/cg_unlagged.o \
- $(B)/missionpack/cgame/cg_view.o \
- $(B)/missionpack/cgame/cg_weapons.o \
- $(B)/missionpack/ui/ui_shared.o \
- \
- $(B)/missionpack/qcommon/q_math.o \
- $(B)/missionpack/qcommon/q_shared.o
-
-MPCGOBJ = $(MPCGOBJ_) $(B)/missionpack/cgame/cg_syscalls.o
-MPCGVMOBJ = $(MPCGOBJ_:%.o=%.asm)
-
-$(B)/missionpack/cgame$(ARCH).$(SHLIBEXT): $(MPCGOBJ)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPCGOBJ)
-
-$(B)/missionpack/vm/cgame.qvm: $(MPCGVMOBJ) $(CGDIR)/cg_syscalls.asm $(Q3ASM)
- $(echo_cmd) "Q3ASM $@"
- $(Q)$(Q3ASM) -o $@ $(MPCGVMOBJ) $(CGDIR)/cg_syscalls.asm
-
-
-
#############################################################################
## BASEQ3 GAME
#############################################################################
Q3GOBJ_ = \
- $(B)/baseq3/game/g_main.o \
- $(B)/baseq3/game/ai_chat.o \
- $(B)/baseq3/game/ai_cmd.o \
- $(B)/baseq3/game/ai_dmnet.o \
- $(B)/baseq3/game/ai_dmq3.o \
- $(B)/baseq3/game/ai_main.o \
- $(B)/baseq3/game/ai_team.o \
- $(B)/baseq3/game/ai_vcmd.o \
- $(B)/baseq3/game/bg_misc.o \
- $(B)/baseq3/game/bg_lib.o \
- $(B)/baseq3/game/bg_pmove.o \
- $(B)/baseq3/game/bg_slidemove.o \
- $(B)/baseq3/game/g_active.o \
- $(B)/baseq3/game/g_arenas.o \
- $(B)/baseq3/game/g_admin.o \
- $(B)/baseq3/game/g_bot.o \
- $(B)/baseq3/game/g_client.o \
- $(B)/baseq3/game/g_cmds.o \
- $(B)/baseq3/game/g_cmds_ext.o \
- $(B)/baseq3/game/g_combat.o \
- $(B)/baseq3/game/g_items.o \
- $(B)/baseq3/game/bg_alloc.o \
- $(B)/baseq3/game/g_fileops.o \
- $(B)/baseq3/game/g_killspree.o \
- $(B)/baseq3/game/g_misc.o \
- $(B)/baseq3/game/g_missile.o \
- $(B)/baseq3/game/g_mover.o \
- $(B)/baseq3/game/g_playerstore.o \
- $(B)/baseq3/game/g_session.o \
- $(B)/baseq3/game/g_spawn.o \
- $(B)/baseq3/game/g_svcmds.o \
- $(B)/baseq3/game/g_svcmds_ext.o \
- $(B)/baseq3/game/g_target.o \
- $(B)/baseq3/game/g_team.o \
- $(B)/baseq3/game/g_trigger.o \
- $(B)/baseq3/game/g_unlagged.o \
- $(B)/baseq3/game/g_utils.o \
- $(B)/baseq3/game/g_vote.o \
- $(B)/baseq3/game/g_weapon.o \
+ $(B)/baseia/game/g_main.o \
+ $(B)/baseia/game/ai_chat.o \
+ $(B)/baseia/game/ai_cmd.o \
+ $(B)/baseia/game/ai_dmnet.o \
+ $(B)/baseia/game/ai_dmq3.o \
+ $(B)/baseia/game/ai_main.o \
+ $(B)/baseia/game/ai_team.o \
+ $(B)/baseia/game/bg_misc.o \
+ $(B)/baseia/game/bg_lib.o \
+ $(B)/baseia/game/bg_pmove.o \
+ $(B)/baseia/game/bg_slidemove.o \
+ $(B)/baseia/game/g_active.o \
+ $(B)/baseia/game/g_arenas.o \
+ $(B)/baseia/game/g_admin.o \
+ $(B)/baseia/game/g_bot.o \
+ $(B)/baseia/game/g_client.o \
+ $(B)/baseia/game/g_cmds.o \
+ $(B)/baseia/game/g_cmds_ext.o \
+ $(B)/baseia/game/g_combat.o \
+ $(B)/baseia/game/g_items.o \
+ $(B)/baseia/game/bg_alloc.o \
+ $(B)/baseia/game/g_fileops.o \
+ $(B)/baseia/game/g_killspree.o \
+ $(B)/baseia/game/g_misc.o \
+ $(B)/baseia/game/g_missile.o \
+ $(B)/baseia/game/g_mover.o \
+ $(B)/baseia/game/g_playerstore.o \
+ $(B)/baseia/game/g_session.o \
+ $(B)/baseia/game/g_spawn.o \
+ $(B)/baseia/game/g_svcmds.o \
+ $(B)/baseia/game/g_svcmds_ext.o \
+ $(B)/baseia/game/g_target.o \
+ $(B)/baseia/game/g_team.o \
+ $(B)/baseia/game/g_trigger.o \
+ $(B)/baseia/game/g_unlagged.o \
+ $(B)/baseia/game/g_utils.o \
+ $(B)/baseia/game/g_vote.o \
+ $(B)/baseia/game/g_weapon.o \
\
- $(B)/baseq3/qcommon/q_math.o \
- $(B)/baseq3/qcommon/q_shared.o
+ $(B)/baseia/qcommon/q_math.o \
+ $(B)/baseia/qcommon/q_shared.o
-Q3GOBJ = $(Q3GOBJ_) $(B)/baseq3/game/g_syscalls.o
+Q3GOBJ = $(Q3GOBJ_) $(B)/baseia/game/g_syscalls.o
Q3GVMOBJ = $(Q3GOBJ_:%.o=%.asm)
-$(B)/baseq3/qagame$(ARCH).$(SHLIBEXT): $(Q3GOBJ)
+$(B)/baseia/qagame$(ARCH).$(SHLIBEXT): $(Q3GOBJ)
$(echo_cmd) "LD $@"
$(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3GOBJ)
-$(B)/baseq3/vm/qagame.qvm: $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm $(Q3ASM)
+$(B)/baseia/vm/qagame.qvm: $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm $(Q3ASM)
$(echo_cmd) "Q3ASM $@"
$(Q)$(Q3ASM) -o $@ $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm
-#############################################################################
-## MISSIONPACK GAME
-#############################################################################
-
-MPGOBJ_ = \
- $(B)/missionpack/game/g_main.o \
- $(B)/missionpack/game/ai_chat.o \
- $(B)/missionpack/game/ai_cmd.o \
- $(B)/missionpack/game/ai_dmnet.o \
- $(B)/missionpack/game/ai_dmq3.o \
- $(B)/missionpack/game/ai_main.o \
- $(B)/missionpack/game/ai_team.o \
- $(B)/missionpack/game/ai_vcmd.o \
- $(B)/missionpack/game/bg_misc.o \
- $(B)/missionpack/game/bg_lib.o \
- $(B)/missionpack/game/bg_pmove.o \
- $(B)/missionpack/game/bg_slidemove.o \
- $(B)/missionpack/game/g_active.o \
- $(B)/missionpack/game/g_admin.o \
- $(B)/missionpack/game/g_arenas.o \
- $(B)/missionpack/game/g_bot.o \
- $(B)/missionpack/game/g_client.o \
- $(B)/missionpack/game/g_cmds.o \
- $(B)/missionpack/game/g_cmds_ext.o \
- $(B)/missionpack/game/g_combat.o \
- $(B)/missionpack/game/g_items.o \
- $(B)/missionpack/game/bg_alloc.o \
- $(B)/missionpack/game/g_fileops.o \
- $(B)/missionpack/game/g_killspree.o \
- $(B)/missionpack/game/g_misc.o \
- $(B)/missionpack/game/g_missile.o \
- $(B)/missionpack/game/g_mover.o \
- $(B)/missionpack/game/g_playerstore.o \
- $(B)/missionpack/game/g_session.o \
- $(B)/missionpack/game/g_spawn.o \
- $(B)/missionpack/game/g_svcmds.o \
- $(B)/missionpack/game/g_svcmds_ext.o \
- $(B)/missionpack/game/g_target.o \
- $(B)/missionpack/game/g_team.o \
- $(B)/missionpack/game/g_trigger.o \
- $(B)/missionpack/game/g_unlagged.o \
- $(B)/missionpack/game/g_utils.o \
- $(B)/missionpack/game/g_vote.o \
- $(B)/missionpack/game/g_weapon.o \
- \
- $(B)/missionpack/qcommon/q_math.o \
- $(B)/missionpack/qcommon/q_shared.o
-
-MPGOBJ = $(MPGOBJ_) $(B)/missionpack/game/g_syscalls.o
-MPGVMOBJ = $(MPGOBJ_:%.o=%.asm)
-
-$(B)/missionpack/qagame$(ARCH).$(SHLIBEXT): $(MPGOBJ)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPGOBJ)
-
-$(B)/missionpack/vm/qagame.qvm: $(MPGVMOBJ) $(GDIR)/g_syscalls.asm $(Q3ASM)
- $(echo_cmd) "Q3ASM $@"
- $(Q)$(Q3ASM) -o $@ $(MPGVMOBJ) $(GDIR)/g_syscalls.asm
-
-
-
#############################################################################
## BASEQ3 UI
#############################################################################
Q3UIOBJ_ = \
- $(B)/baseq3/ui/ui_main.o \
- $(B)/baseq3/game/bg_misc.o \
- $(B)/baseq3/game/bg_lib.o \
- $(B)/baseq3/ui/ui_addbots.o \
- $(B)/baseq3/ui/ui_atoms.o \
- $(B)/baseq3/ui/ui_cdkey.o \
- $(B)/baseq3/ui/ui_challenges.o \
- $(B)/baseq3/ui/ui_cinematics.o \
- $(B)/baseq3/ui/ui_confirm.o \
- $(B)/baseq3/ui/ui_connect.o \
- $(B)/baseq3/ui/ui_controls2.o \
- $(B)/baseq3/ui/ui_credits.o \
- $(B)/baseq3/ui/ui_demo2.o \
- $(B)/baseq3/ui/ui_display.o \
- $(B)/baseq3/ui/ui_firstconnect.o \
- $(B)/baseq3/ui/ui_gameinfo.o \
- $(B)/baseq3/ui/ui_ingame.o \
- $(B)/baseq3/ui/ui_loadconfig.o \
- $(B)/baseq3/ui/ui_menu.o \
- $(B)/baseq3/ui/ui_mfield.o \
- $(B)/baseq3/ui/ui_mods.o \
- $(B)/baseq3/ui/ui_network.o \
- $(B)/baseq3/ui/ui_options.o \
- $(B)/baseq3/ui/ui_password.o \
- $(B)/baseq3/ui/ui_playermodel.o \
- $(B)/baseq3/ui/ui_players.o \
- $(B)/baseq3/ui/ui_playersettings.o \
- $(B)/baseq3/ui/ui_preferences.o \
- $(B)/baseq3/ui/ui_qmenu.o \
- $(B)/baseq3/ui/ui_removebots.o \
- $(B)/baseq3/ui/ui_saveconfig.o \
- $(B)/baseq3/ui/ui_serverinfo.o \
- $(B)/baseq3/ui/ui_servers2.o \
- $(B)/baseq3/ui/ui_setup.o \
- $(B)/baseq3/ui/ui_sound.o \
- $(B)/baseq3/ui/ui_sparena.o \
- $(B)/baseq3/ui/ui_specifyserver.o \
- $(B)/baseq3/ui/ui_splevel.o \
- $(B)/baseq3/ui/ui_sppostgame.o \
- $(B)/baseq3/ui/ui_spskill.o \
- $(B)/baseq3/ui/ui_startserver.o \
- $(B)/baseq3/ui/ui_team.o \
- $(B)/baseq3/ui/ui_teamorders.o \
- $(B)/baseq3/ui/ui_video.o \
- $(B)/baseq3/ui/ui_votemenu.o \
- $(B)/baseq3/ui/ui_votemenu_fraglimit.o \
- $(B)/baseq3/ui/ui_votemenu_timelimit.o \
- $(B)/baseq3/ui/ui_votemenu_gametype.o \
- $(B)/baseq3/ui/ui_votemenu_kick.o \
- $(B)/baseq3/ui/ui_votemenu_map.o \
- $(B)/baseq3/ui/ui_votemenu_custom.o \
+ $(B)/baseia/ui/ui_main.o \
+ $(B)/baseia/game/bg_misc.o \
+ $(B)/baseia/game/bg_lib.o \
+ $(B)/baseia/ui/ui_addbots.o \
+ $(B)/baseia/ui/ui_atoms.o \
+ $(B)/baseia/ui/ui_cdkey.o \
+ $(B)/baseia/ui/ui_challenges.o \
+ $(B)/baseia/ui/ui_cinematics.o \
+ $(B)/baseia/ui/ui_confirm.o \
+ $(B)/baseia/ui/ui_connect.o \
+ $(B)/baseia/ui/ui_controls2.o \
+ $(B)/baseia/ui/ui_credits.o \
+ $(B)/baseia/ui/ui_demo2.o \
+ $(B)/baseia/ui/ui_display.o \
+ $(B)/baseia/ui/ui_firstconnect.o \
+ $(B)/baseia/ui/ui_gameinfo.o \
+ $(B)/baseia/ui/ui_ingame.o \
+ $(B)/baseia/ui/ui_loadconfig.o \
+ $(B)/baseia/ui/ui_menu.o \
+ $(B)/baseia/ui/ui_mfield.o \
+ $(B)/baseia/ui/ui_mods.o \
+ $(B)/baseia/ui/ui_network.o \
+ $(B)/baseia/ui/ui_options.o \
+ $(B)/baseia/ui/ui_password.o \
+ $(B)/baseia/ui/ui_playermodel.o \
+ $(B)/baseia/ui/ui_players.o \
+ $(B)/baseia/ui/ui_playersettings.o \
+ $(B)/baseia/ui/ui_preferences.o \
+ $(B)/baseia/ui/ui_qmenu.o \
+ $(B)/baseia/ui/ui_removebots.o \
+ $(B)/baseia/ui/ui_saveconfig.o \
+ $(B)/baseia/ui/ui_serverinfo.o \
+ $(B)/baseia/ui/ui_servers2.o \
+ $(B)/baseia/ui/ui_setup.o \
+ $(B)/baseia/ui/ui_sound.o \
+ $(B)/baseia/ui/ui_sparena.o \
+ $(B)/baseia/ui/ui_specifyserver.o \
+ $(B)/baseia/ui/ui_splevel.o \
+ $(B)/baseia/ui/ui_sppostgame.o \
+ $(B)/baseia/ui/ui_spskill.o \
+ $(B)/baseia/ui/ui_startserver.o \
+ $(B)/baseia/ui/ui_team.o \
+ $(B)/baseia/ui/ui_teamorders.o \
+ $(B)/baseia/ui/ui_video.o \
+ $(B)/baseia/ui/ui_votemenu.o \
+ $(B)/baseia/ui/ui_votemenu_fraglimit.o \
+ $(B)/baseia/ui/ui_votemenu_timelimit.o \
+ $(B)/baseia/ui/ui_votemenu_gametype.o \
+ $(B)/baseia/ui/ui_votemenu_kick.o \
+ $(B)/baseia/ui/ui_votemenu_map.o \
+ $(B)/baseia/ui/ui_votemenu_custom.o \
\
- $(B)/baseq3/qcommon/q_math.o \
- $(B)/baseq3/qcommon/q_shared.o
+ $(B)/baseia/qcommon/q_math.o \
+ $(B)/baseia/qcommon/q_shared.o
-Q3UIOBJ = $(Q3UIOBJ_) $(B)/missionpack/ui/ui_syscalls.o
+Q3UIOBJ = $(Q3UIOBJ_)
Q3UIVMOBJ = $(Q3UIOBJ_:%.o=%.asm)
-$(B)/baseq3/ui$(ARCH).$(SHLIBEXT): $(Q3UIOBJ)
+$(B)/baseia/ui$(ARCH).$(SHLIBEXT): $(Q3UIOBJ)
$(echo_cmd) "LD $@"
$(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3UIOBJ)
-$(B)/baseq3/vm/ui.qvm: $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm $(Q3ASM)
+$(B)/baseia/vm/ui.qvm: $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm $(Q3ASM)
$(echo_cmd) "Q3ASM $@"
$(Q)$(Q3ASM) -o $@ $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm
-#############################################################################
-## MISSIONPACK UI
-#############################################################################
-
-MPUIOBJ_ = \
- $(B)/missionpack/ui/ui_main.o \
- $(B)/missionpack/ui/ui_atoms.o \
- $(B)/missionpack/ui/ui_gameinfo.o \
- $(B)/missionpack/ui/ui_players.o \
- $(B)/missionpack/ui/ui_shared.o \
- \
- $(B)/missionpack/ui/bg_misc.o \
- $(B)/missionpack/ui/bg_lib.o \
- \
- $(B)/missionpack/qcommon/q_math.o \
- $(B)/missionpack/qcommon/q_shared.o
-
-MPUIOBJ = $(MPUIOBJ_) $(B)/missionpack/ui/ui_syscalls.o
-MPUIVMOBJ = $(MPUIOBJ_:%.o=%.asm)
-
-$(B)/missionpack/ui$(ARCH).$(SHLIBEXT): $(MPUIOBJ)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPUIOBJ)
-
-$(B)/missionpack/vm/ui.qvm: $(MPUIVMOBJ) $(UIDIR)/ui_syscalls.asm $(Q3ASM)
- $(echo_cmd) "Q3ASM $@"
- $(Q)$(Q3ASM) -o $@ $(MPUIVMOBJ) $(UIDIR)/ui_syscalls.asm
-
-
-
-#############################################################################
-## CLIENT/SERVER RULES
-#############################################################################
-
-$(B)/client/%.o: $(ASMDIR)/%.s
- $(DO_AS)
-
-$(B)/client/%.o: $(CDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(SDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(CMDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(BLIBDIR)/%.c
- $(DO_BOT_CC)
-
-$(B)/client/%.o: $(JPDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(SPEEXDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(RDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(SDLDIR)/%.c
- $(DO_CC)
-
-$(B)/clientsmp/%.o: $(SDLDIR)/%.c
- $(DO_SMP_CC)
-
-$(B)/client/%.o: $(SYSDIR)/%.c
- $(DO_CC)
-
-$(B)/client/%.o: $(SYSDIR)/%.rc
- $(DO_WINDRES)
-
-
-$(B)/ded/%.o: $(ASMDIR)/%.s
- $(DO_AS)
-
-$(B)/ded/%.o: $(SDIR)/%.c
- $(DO_DED_CC)
-
-$(B)/ded/%.o: $(CMDIR)/%.c
- $(DO_DED_CC)
-
-$(B)/ded/%.o: $(BLIBDIR)/%.c
- $(DO_BOT_CC)
-
-$(B)/ded/%.o: $(SYSDIR)/%.c
- $(DO_DED_CC)
-
-$(B)/ded/%.o: $(SYSDIR)/%.rc
- $(DO_WINDRES)
-
-$(B)/ded/%.o: $(NDIR)/%.c
- $(DO_DED_CC)
-
-# Extra dependencies to ensure the SVN version is incorporated
-ifeq ($(USE_SVN),1)
- $(B)/client/cl_console.o : .svn/entries
- $(B)/client/common.o : .svn/entries
- $(B)/ded/common.o : .svn/entries
-endif
-
-
#############################################################################
## GAME MODULE RULES
#############################################################################
-$(B)/baseq3/cgame/bg_%.o: $(GDIR)/bg_%.c
+$(B)/baseia/cgame/bg_%.o: $(GDIR)/bg_%.c
$(DO_CGAME_CC)
-$(B)/baseq3/cgame/%.o: $(CGDIR)/%.c
+$(B)/baseia/cgame/%.o: $(CGDIR)/%.c
$(DO_CGAME_CC)
-$(B)/baseq3/cgame/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
+$(B)/baseia/cgame/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
$(DO_CGAME_Q3LCC)
-$(B)/baseq3/cgame/%.asm: $(CGDIR)/%.c $(Q3LCC)
+$(B)/baseia/cgame/%.asm: $(CGDIR)/%.c $(Q3LCC)
$(DO_CGAME_Q3LCC)
-$(B)/missionpack/cgame/bg_%.o: $(GDIR)/bg_%.c
- $(DO_CGAME_CC_MISSIONPACK)
-
-$(B)/missionpack/cgame/%.o: $(CGDIR)/%.c
- $(DO_CGAME_CC_MISSIONPACK)
-
-$(B)/missionpack/cgame/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
- $(DO_CGAME_Q3LCC_MISSIONPACK)
-
-$(B)/missionpack/cgame/%.asm: $(CGDIR)/%.c $(Q3LCC)
- $(DO_CGAME_Q3LCC_MISSIONPACK)
-
-
-$(B)/baseq3/game/%.o: $(GDIR)/%.c
+$(B)/baseia/game/%.o: $(GDIR)/%.c
$(DO_GAME_CC)
-$(B)/baseq3/game/%.asm: $(GDIR)/%.c $(Q3LCC)
+$(B)/baseia/game/%.asm: $(GDIR)/%.c $(Q3LCC)
$(DO_GAME_Q3LCC)
-$(B)/missionpack/game/%.o: $(GDIR)/%.c
- $(DO_GAME_CC_MISSIONPACK)
-
-$(B)/missionpack/game/%.asm: $(GDIR)/%.c $(Q3LCC)
- $(DO_GAME_Q3LCC_MISSIONPACK)
-
-
-$(B)/baseq3/ui/bg_%.o: $(GDIR)/bg_%.c
+$(B)/baseia/ui/bg_%.o: $(GDIR)/bg_%.c
$(DO_UI_CC)
-$(B)/baseq3/ui/%.o: $(Q3UIDIR)/%.c
+$(B)/baseia/ui/%.o: $(Q3UIDIR)/%.c
$(DO_UI_CC)
-$(B)/baseq3/ui/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
+$(B)/baseia/ui/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
$(DO_UI_Q3LCC)
-$(B)/baseq3/ui/%.asm: $(Q3UIDIR)/%.c $(Q3LCC)
+$(B)/baseia/ui/%.asm: $(Q3UIDIR)/%.c $(Q3LCC)
$(DO_UI_Q3LCC)
-$(B)/missionpack/ui/bg_%.o: $(GDIR)/bg_%.c
- $(DO_UI_CC_MISSIONPACK)
-
-$(B)/missionpack/ui/%.o: $(UIDIR)/%.c
- $(DO_UI_CC_MISSIONPACK)
-
-$(B)/missionpack/ui/bg_%.asm: $(GDIR)/bg_%.c $(Q3LCC)
- $(DO_UI_Q3LCC_MISSIONPACK)
-
-$(B)/missionpack/ui/%.asm: $(UIDIR)/%.c $(Q3LCC)
- $(DO_UI_Q3LCC_MISSIONPACK)
-
-
-$(B)/baseq3/qcommon/%.o: $(CMDIR)/%.c
+$(B)/baseia/qcommon/%.o: $(CMDIR)/%.c
$(DO_SHLIB_CC)
-$(B)/baseq3/qcommon/%.asm: $(CMDIR)/%.c $(Q3LCC)
+$(B)/baseia/qcommon/%.asm: $(CMDIR)/%.c $(Q3LCC)
$(DO_Q3LCC)
-$(B)/missionpack/qcommon/%.o: $(CMDIR)/%.c
- $(DO_SHLIB_CC_MISSIONPACK)
-
-$(B)/missionpack/qcommon/%.asm: $(CMDIR)/%.c $(Q3LCC)
- $(DO_Q3LCC_MISSIONPACK)
-
-
#############################################################################
# MISC
#############################################################################
@@ -2094,52 +993,20 @@ TOOLSOBJ = $(LBURGOBJ) $(Q3CPPOBJ) $(Q3RCCOBJ) $(Q3LCCOBJ) $(Q3ASMOBJ)
copyfiles: release
- @if [ ! -d $(COPYDIR)/baseq3 ]; then echo "You need to set COPYDIR to where your Quake3 data is!"; fi
- -$(MKDIR) -p -m 0755 $(COPYDIR)/baseq3
- -$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack
-
-ifneq ($(BUILD_CLIENT),0)
- $(INSTALL) -s -m 0755 $(BR)/ioquake3.$(ARCH)$(BINEXT) $(COPYDIR)/ioquake3.$(ARCH)$(BINEXT)
-endif
-
-# Don't copy the SMP until it's working together with SDL.
-#ifneq ($(BUILD_CLIENT_SMP),0)
-# $(INSTALL) -s -m 0755 $(BR)/ioquake3-smp.$(ARCH)$(BINEXT) $(COPYDIR)/ioquake3-smp.$(ARCH)$(BINEXT)
-#endif
-
-ifneq ($(BUILD_SERVER),0)
- @if [ -f $(BR)/ioq3ded.$(ARCH)$(BINEXT) ]; then \
- $(INSTALL) -s -m 0755 $(BR)/ioq3ded.$(ARCH)$(BINEXT) $(COPYDIR)/ioq3ded.$(ARCH)$(BINEXT); \
- fi
-endif
+ @if [ ! -d $(COPYDIR)/code ]; then echo "You need to set COPYDIR to where your I::A data is!"; fi
+ -$(MKDIR) -p -m 0755 $(COPYDIR)/code
ifneq ($(BUILD_GAME_SO),0)
- $(INSTALL) -s -m 0755 $(BR)/baseq3/cgame$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/baseq3/.
- $(INSTALL) -s -m 0755 $(BR)/baseq3/qagame$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/baseq3/.
- $(INSTALL) -s -m 0755 $(BR)/baseq3/ui$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/baseq3/.
- ifneq ($(BUILD_MISSIONPACK),0)
- -$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack
- $(INSTALL) -s -m 0755 $(BR)/missionpack/cgame$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/missionpack/.
- $(INSTALL) -s -m 0755 $(BR)/missionpack/qagame$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/missionpack/.
- $(INSTALL) -s -m 0755 $(BR)/missionpack/ui$(ARCH).$(SHLIBEXT) \
- $(COPYDIR)/missionpack/.
- endif
+ $(INSTALL) -s -m 0755 $(BR)/baseia/cgame$(ARCH).$(SHLIBEXT) \
+ $(COPYDIR)/baseia/.
+ $(INSTALL) -s -m 0755 $(BR)/baseia/qagame$(ARCH).$(SHLIBEXT) \
+ $(COPYDIR)/baseia/.
+ $(INSTALL) -s -m 0755 $(BR)/baseia/ui$(ARCH).$(SHLIBEXT) \
+ $(COPYDIR)/baseia/.
endif
clean: clean-debug clean-release
-#We do not make installers
-#ifeq ($(PLATFORM),mingw32)
-# @$(MAKE) -C $(NSISDIR) clean
-#else
-# @$(MAKE) -C $(LOKISETUPDIR) clean
-#endif
-
clean-debug:
@$(MAKE) clean2 B=$(BD)
@@ -2169,18 +1036,11 @@ toolsclean2:
distclean: clean toolsclean
@rm -rf $(BUILD_DIR)
-installer: release
-ifeq ($(PLATFORM),mingw32)
- @$(MAKE) VERSION=$(VERSION) -C $(NSISDIR) V=$(V)
-else
- @$(MAKE) VERSION=$(VERSION) -C $(LOKISETUPDIR) V=$(V)
-endif
-
dist:
- rm -rf ioquake3-$(VERSION)
- svn export . ioquake3-$(VERSION)
- tar --owner=root --group=root --force-local -cjf ioquake3-$(VERSION).tar.bz2 ioquake3-$(VERSION)
- rm -rf ioquake3-$(VERSION)
+ rm -rf ia-$(VERSION)
+ svn export . ia-$(VERSION)
+ tar --owner=root --group=root --force-local -cjf ia-$(VERSION).tar.bz2 ia-$(VERSION)
+ rm -rf ia-$(VERSION)
#############################################################################
# DEPENDENCIES
diff --git a/code/tools/asm/cmdlib.c b/code/tools/asm/cmdlib.c
index de2610d..f927461 100644
--- a/code/tools/asm/cmdlib.c
+++ b/code/tools/asm/cmdlib.c
@@ -63,9 +63,9 @@ char *ex_argv[MAX_EX_ARGC];
void ExpandWildcards( int *argc, char ***argv )
{
struct _finddata_t fileinfo;
- int handle;
+ intptr_t handle;
int i;
- char filename[1024];
+ char filename[2048];
char filebase[1024];
char *path;
@@ -88,7 +88,7 @@ void ExpandWildcards( int *argc, char ***argv )
do
{
- sprintf (filename, "%s%s", filebase, fileinfo.name);
+ snprintf (filename, sizeof(filename), "%s%s", filebase, fileinfo.name);
ex_argv[ex_argc++] = copystring (filename);
} while (_findnext( handle, &fileinfo ) != -1);
@@ -126,7 +126,7 @@ void Error( const char *error, ... )
vsprintf (text, error,argptr);
va_end (argptr);
- sprintf (text2, "%s\nGetLastError() = %i", text, err);
+ snprintf (text2, sizeof(text2), "%s\nGetLastError() = %i", text, err);
MessageBox(NULL, text2, "Error", 0 /* MB_OK */ );
exit (1);
@@ -185,7 +185,7 @@ void _printf( const char *format, ... ) {
vsprintf (text, format, argptr);
va_end (argptr);
- printf(text);
+ printf("%s", text);
#ifdef WIN32
if (!lookedForServer) {
@@ -318,7 +318,7 @@ char *ExpandPath (const char *path)
strcpy( full, path );
return full;
}
- sprintf (full, "%s%s", qdir, path);
+ snprintf (full, sizeof(full), "%s%s", qdir, path);
return full;
}
@@ -331,20 +331,20 @@ char *ExpandGamePath (const char *path)
strcpy( full, path );
return full;
}
- sprintf (full, "%s%s", gamedir, path);
+ snprintf (full, sizeof(full), "%s%s", gamedir, path);
return full;
}
char *ExpandPathAndArchive (const char *path)
{
char *expanded;
- char archivename[1024];
+ char archivename[2048];
expanded = ExpandPath (path);
if (archive)
{
- sprintf (archivename, "%s/%s", archivedir, path);
+ snprintf (archivename, sizeof(archivename), "%s/%s", archivedir, path);
QCopyFile (expanded, archivename);
}
return expanded;
@@ -396,10 +396,12 @@ void Q_getwd (char *out)
int i = 0;
#ifdef WIN32
- _getcwd (out, 256);
+ if (_getcwd (out, 256) == NULL)
+ strcpy(out, "."); /* shrug */
strcat (out, "\\");
#else
- getcwd (out, 256);
+ if (getcwd (out, 256) == NULL)
+ strcpy(out, "."); /* shrug */
strcat (out, "/");
#endif
@@ -732,7 +734,7 @@ int LoadFile( const char *filename, void **bufferptr )
==============
LoadFileBlock
-
-rounds up memory allocation to 4K boundry
+rounds up memory allocation to 4K boundary
-
==============
*/
@@ -808,7 +810,7 @@ void DefaultExtension (char *path, const char *extension)
{
char *src;
//
-// if path doesnt have a .EXT, append extension
+// if path doesn't have a .EXT, append extension
// (extension should include the .)
//
src = path + strlen(path) - 1;
diff --git a/code/tools/asm/cmdlib.h b/code/tools/asm/cmdlib.h
index c8ee460..3233abd 100644
--- a/code/tools/asm/cmdlib.h
+++ b/code/tools/asm/cmdlib.h
@@ -59,7 +59,7 @@ typedef unsigned char byte;
#define MAX_OS_PATH 1024
#define MEM_BLOCKSIZE 4096
-// the dec offsetof macro doesnt work very well...
+// the dec offsetof macro doesn't work very well...
#define myoffsetof(type,identifier) ((size_t)&((type *)0)->identifier)
@@ -71,7 +71,6 @@ char *strupr (char *in);
char *strlower (char *in);
int Q_strncasecmp( const char *s1, const char *s2, int n );
int Q_stricmp( const char *s1, const char *s2 );
-#define Q_strequal(s1,s2) (Q_stricmp(s1,s2)==0)
void Q_getwd( char *out );
int Q_filelength (FILE *f);
diff --git a/code/tools/asm/notes.txt b/code/tools/asm/notes.txt
index 63297f3..571f8ca 100644
--- a/code/tools/asm/notes.txt
+++ b/code/tools/asm/notes.txt
@@ -1,5 +1,5 @@
-don't do any paramter conversion (double to float, etc)
+don't do any parameter conversion (double to float, etc)
diff --git a/code/tools/asm/q3asm.c b/code/tools/asm/q3asm.c
index 8b2e183..bf6efd6 100644
--- a/code/tools/asm/q3asm.c
+++ b/code/tools/asm/q3asm.c
@@ -250,7 +250,6 @@ static void hashtable_init (hashtable_t *H, int buckets)
{
H->buckets = buckets;
H->table = calloc(H->buckets, sizeof(*(H->table)));
- return;
}
static hashtable_t *hashtable_new (int buckets)
@@ -285,7 +284,6 @@ static void hashtable_add (hashtable_t *H, int hashvalue, void *datum)
}
hc->data = datum;
hc->next = 0;
- return;
}
static hashchain_t *hashtable_get (hashtable_t *H, int hashvalue)
@@ -386,8 +384,12 @@ static void sort_symbols ()
symbol_t *s;
symbol_t **symlist;
+ if(!symbols)
+ return;
+
//crumb("sort_symbols: Constructing symlist array\n");
for (elems = 0, s = symbols; s; s = s->next, elems++) /* nop */ ;
+
symlist = malloc(elems * sizeof(symbol_t*));
for (i = 0, s = symbols; s; s = s->next, i++)
{
@@ -475,7 +477,7 @@ static unsigned int HashString (const char *key)
acc = (acc << 2) | (acc >> 30);
acc &= 0xffffffffU;
}
- return abs(acc);
+ return acc;
}
@@ -489,10 +491,10 @@ static void CodeError( char *fmt, ... ) {
errorCount++;
- report( "%s:%i ", currentFileName, currentFileLine );
+ fprintf( stderr, "%s:%i ", currentFileName, currentFileLine );
va_start( argptr,fmt );
- vprintf( fmt,argptr );
+ vfprintf( stderr, fmt, argptr );
va_end( argptr );
}
@@ -544,7 +546,7 @@ static void DefineSymbol( char *sym, int value ) {
// add the file prefix to local symbols to guarantee unique
if ( sym[0] == '$' ) {
- sprintf( expanded, "%s_%i", sym, currentFileIndex );
+ snprintf( expanded, sizeof(expanded), "%s_%i", sym, currentFileIndex );
sym = expanded;
}
@@ -600,7 +602,7 @@ static int LookupSymbol( char *sym ) {
// add the file prefix to local symbols to guarantee unique
if ( sym[0] == '$' ) {
- sprintf( expanded, "%s_%i", sym, currentFileIndex );
+ snprintf( expanded, sizeof(expanded), "%s_%i", sym, currentFileIndex );
sym = expanded;
}
@@ -786,7 +788,7 @@ HackToSegment
BIG HACK: I want to put all 32 bit values in the data
segment so they can be byte swapped, and all char data in the lit
-segment, but switch jump tables are emited in the lit segment and
+segment, but switch jump tables are emitted in the lit segment and
initialized strng variables are put in the data segment.
I can change segments here, but I also need to fixup the
@@ -946,12 +948,11 @@ STAT("PROC");
ASM(ENDPROC)
{
- int v, v2;
if ( !strcmp( token, "endproc" ) ) {
STAT("ENDPROC");
Parse(); // skip the function name
- v = ParseValue(); // locals
- v2 = ParseValue(); // arg marshalling
+ ParseValue(); // locals
+ ParseValue(); // arg marshalling
// all functions must leave something on the opstack
instructionCount++;
@@ -1128,7 +1129,7 @@ STAT("BYTE");
return 0;
}
- // code labels are emited as instruction counts, not byte offsets,
+ // code labels are emitted as instruction counts, not byte offsets,
// because the physical size of the code will change with
// different run time compilers and we want to minimize the
// size of the required translation table
@@ -1520,12 +1521,13 @@ static void ShowHelp( char *argv0 ) {
Error("Usage: %s [OPTION]... [FILES]...\n\
Assemble LCC bytecode assembly to Q3VM bytecode.\n\
\n\
- -o OUTPUT Write assembled output to file OUTPUT.qvm\n\
- -f LISTFILE Read options and list of files to assemble from LISTFILE.q3asm\n\
- -b BUCKETS Set symbol hash table to BUCKETS buckets\n\
- -v Verbose compilation report\n\
- -vq3 Produce a qvm file compatible with Q3 1.32b\n\
- -h --help -? Show this help\n\
+ -o OUTPUT Write assembled output to file OUTPUT.qvm\n\
+ -f LISTFILE Read options and list of files to assemble from LISTFILE.q3asm\n\
+ -b BUCKETS Set symbol hash table to BUCKETS buckets\n\
+ -m Generate a mapfile for each OUTPUT.qvm\n\
+ -v Verbose compilation report\n\
+ -vq3 Produce a qvm file compatible with Q3 1.32b\n\
+ -h --help -? Show this help\n\
", argv0);
}
@@ -1562,7 +1564,7 @@ int main( int argc, char **argv ) {
if ( !strcmp( argv[i], "-o" ) ) {
if ( i == argc - 1 ) {
- Error( "-o must preceed a filename" );
+ Error( "-o must precede a filename" );
}
/* Timbo of Tremulous pointed out -o not working; stock ID q3asm folded in the change. Yay. */
strcpy( outputFilename, argv[ i+1 ] );
@@ -1572,7 +1574,7 @@ int main( int argc, char **argv ) {
if ( !strcmp( argv[i], "-f" ) ) {
if ( i == argc - 1 ) {
- Error( "-f must preceed a filename" );
+ Error( "-f must precede a filename" );
}
ParseOptionFile( argv[ i+1 ] );
i++;
@@ -1618,7 +1620,7 @@ Motivation: not wanting to scrollback for pages to find asm error.
}
// In some case it Segfault without this check
if ( numAsmFiles == 0 ) {
- Error( "No file to assemble\n" );
+ Error( "No file to assemble" );
}
InitTables();
diff --git a/code/tools/lcc/cpp/cpp.c b/code/tools/lcc/cpp/cpp.c
index 1fcffbc..13e0485 100644
--- a/code/tools/lcc/cpp/cpp.c
+++ b/code/tools/lcc/cpp/cpp.c
@@ -9,7 +9,7 @@ char rcsid[] = "cpp.c - faked rcsid";
#define OUTS 16384
char outbuf[OUTS];
-char *outp = outbuf;
+char *outbufp = outbuf;
Source *cursource;
int nerrs;
struct token nltoken = { NL, 0, 0, 0, 1, (uchar*)"\n" };
@@ -19,6 +19,15 @@ int ifdepth;
int ifsatisfied[NIF];
int skipping;
+time_t reproducible_time()
+{
+ char *source_date_epoch;
+ time_t t;
+ if ((source_date_epoch = getenv("SOURCE_DATE_EPOCH")) == NULL ||
+ (t = (time_t)strtol(source_date_epoch, NULL, 10)) <= 0)
+ return time(NULL);
+ return t;
+}
int
main(int argc, char **argv)
@@ -28,7 +37,7 @@ main(int argc, char **argv)
char ebuf[BUFSIZ];
setbuf(stderr, ebuf);
- t = time(NULL);
+ t = reproducible_time();
curtime = ctime(&t);
maketokenrow(3, &tr);
expandlex();
@@ -51,7 +60,7 @@ process(Tokenrow *trp)
for (;;) {
if (trp->tp >= trp->lp) {
trp->tp = trp->lp = trp->bp;
- outp = outbuf;
+ outbufp = outbuf;
anymacros |= gettokens(trp, 1);
trp->tp = trp->bp;
}
@@ -250,7 +259,6 @@ control(Tokenrow *trp)
break;
}
setempty(trp);
- return;
}
void *
diff --git a/code/tools/lcc/cpp/cpp.h b/code/tools/lcc/cpp/cpp.h
index 87871d9..ddd7502 100644
--- a/code/tools/lcc/cpp/cpp.h
+++ b/code/tools/lcc/cpp/cpp.h
@@ -143,7 +143,7 @@ void setobjname(char *);
char *basepath( char *fname );
-extern char *outp;
+extern char *outbufp;
extern Token nltoken;
extern Source *cursource;
extern char *curtime;
diff --git a/code/tools/lcc/cpp/include.c b/code/tools/lcc/cpp/include.c
index 1bb8847..5ecd8b3 100644
--- a/code/tools/lcc/cpp/include.c
+++ b/code/tools/lcc/cpp/include.c
@@ -108,7 +108,6 @@ doinclude(Tokenrow *trp)
return;
syntax:
error(ERROR, "Syntax error in #include");
- return;
}
/*
@@ -121,7 +120,7 @@ genline(void)
static Tokenrow tr = { &ta, &ta, &ta+1, 1 };
uchar *p;
- ta.t = p = (uchar*)outp;
+ ta.t = p = (uchar*)outbufp;
strcpy((char*)p, "#line ");
p += sizeof("#line ")-1;
p = (uchar*)outnum((char*)p, cursource->line);
@@ -134,8 +133,8 @@ genline(void)
strcpy((char*)p, cursource->filename);
p += strlen((char*)p);
*p++ = '"'; *p++ = '\n';
- ta.len = (char*)p-outp;
- outp = (char*)p;
+ ta.len = (char*)p-outbufp;
+ outbufp = (char*)p;
tr.tp = tr.bp;
puttokens(&tr);
}
diff --git a/code/tools/lcc/cpp/lex.c b/code/tools/lcc/cpp/lex.c
index 8030354..66092e1 100644
--- a/code/tools/lcc/cpp/lex.c
+++ b/code/tools/lcc/cpp/lex.c
@@ -511,6 +511,25 @@ foldline(Source *s)
return 0;
}
+// This doesn't have proper tracking across read() to only remove \r from \r\n sequence.
+// The lexer doesn't correctly handle standalone \r anyway though.
+int
+crlf_to_lf(unsigned char *buf, int n) {
+ int i, count;
+
+ count = 0;
+
+ for (i = 0; i < n; i++) {
+ if (buf[i] == '\r') {
+ continue;
+ }
+
+ buf[count++] = buf[i];
+ }
+
+ return count;
+}
+
int
fillbuf(Source *s)
{
@@ -521,6 +540,7 @@ fillbuf(Source *s)
error(FATAL, "Input buffer overflow");
if (s->fd<0 || (n=read(s->fd, (char *)s->inl, INS/8)) <= 0)
n = 0;
+ n = crlf_to_lf(s->inl, n);
if ((*s->inp&0xff) == EOB) /* sentinel character appears in input */
*s->inp = EOFC;
s->inl += n;
diff --git a/code/tools/lcc/cpp/macro.c b/code/tools/lcc/cpp/macro.c
index 49d1129..2972083 100644
--- a/code/tools/lcc/cpp/macro.c
+++ b/code/tools/lcc/cpp/macro.c
@@ -218,7 +218,6 @@ expand(Tokenrow *trp, Nlist *np)
insertrow(trp, ntokc, &ntr);
trp->tp -= rowlen(&ntr);
dofree(ntr.bp);
- return;
}
/*
@@ -471,10 +470,10 @@ builtin(Tokenrow *trp, int biname)
/* most are strings */
tp->type = STRING;
if (tp->wslen) {
- *outp++ = ' ';
+ *outbufp++ = ' ';
tp->wslen = 1;
}
- op = outp;
+ op = outbufp;
*op++ = '"';
switch (biname) {
@@ -509,7 +508,7 @@ builtin(Tokenrow *trp, int biname)
}
if (tp->type==STRING)
*op++ = '"';
- tp->t = (uchar*)outp;
- tp->len = op - outp;
- outp = op;
+ tp->t = (uchar*)outbufp;
+ tp->len = op - outbufp;
+ outbufp = op;
}
diff --git a/code/tools/lcc/cpp/tokens.c b/code/tools/lcc/cpp/tokens.c
index 147569b..964453c 100644
--- a/code/tools/lcc/cpp/tokens.c
+++ b/code/tools/lcc/cpp/tokens.c
@@ -267,7 +267,7 @@ peektokens(Tokenrow *trp, char *str)
if (str)
fprintf(stderr, "%s ", str);
if (tp
Version 4.x removes all of these restrictions: It supports any number of sizes for
@@ -99,7 +99,7 @@ the symbol's type
field.
The op
field a of node
structure holds a dag operator, which
+
The op
field of a node
structure holds a dag operator, which
consists of a generic operator, a type suffix, and a size indicator. The type suffixes
are:
The type suffix for a conversion operator denotes the type of the result and the size
indicator gives the size of the result. For example, CVUI4
converts an
unsigned (U
) to a 4-byte signed integer (I4
). The syms[0]
-field points to a symbol-table entry for a integer constant that gives the size of the
+field points to a symbol-table entry for an integer constant that gives the size of the
source operand. For example, if syms[0]
in a CVUI4
points to a
symbol-table entry for 2, the conversion widens a 2-byte unsigned integer to a 4-byte
signed integer. Conversions that widen unsigned integers zero-extend; those that widen
signed integers sign-extend.
The front end composes conversions between types T1 and T2 -by widening T1 to it's "supertype", if necessary, converting +by widening T1 to its "supertype", if necessary, converting that result to T2's supertype, then narrowing the result to T2, if necessary. The following table lists the supertypes; omitted entries are their own supertypes.
diff --git a/code/tools/lcc/doc/install.html b/code/tools/lcc/doc/install.html index 3cc59a8..3410e8f 100644 --- a/code/tools/lcc/doc/install.html +++ b/code/tools/lcc/doc/install.html @@ -722,7 +722,7 @@ C:\dist\lcc\4.1>copy %BUILDDIR%\bprint.exe \binlcc is a large, complex program. We find and repair errors routinely. If you think that -you've found a error, follow the steps below, which are adapted from the instructions in +you've found an error, follow the steps below, which are adapted from the instructions in Chapter 1 of A Retargetable C Compiler: Design and Implementation.
pub/lcc
. A README
file there gives
acquistion details, and the LOG
file reports what errors
- were fixed and when they were fixed. If you report a error that's been fixed, you might
+ were fixed and when they were fixed. If you report an error that's been fixed, you might
get a canned reply.
lcc-bugs@cs.princeton.edu
. Please
send only valid C programs; put all remarks in C comments so that we can process reports
diff --git a/code/tools/lcc/etc/bytecode.c b/code/tools/lcc/etc/bytecode.c
index fe4178f..4a2fe44 100644
--- a/code/tools/lcc/etc/bytecode.c
+++ b/code/tools/lcc/etc/bytecode.c
@@ -34,9 +34,14 @@ void UpdatePaths( const char *lccBinary )
{
char basepath[ 1024 ];
char *p;
+ size_t basepathsz = sizeof( basepath ) - 1;
- strncpy( basepath, lccBinary, 1024 );
- p = strrchr( basepath, PATH_SEP );
+ strncpy( basepath, lccBinary, basepathsz );
+ basepath[basepathsz] = 0;
+ p = strrchr( basepath, '/' );
+
+ if( !p )
+ p = strrchr( basepath, '\\' );
if( p )
{
@@ -52,6 +57,10 @@ int option(char *arg) {
cpp[0] = concat(&arg[8], "/q3cpp" BINEXT);
include[0] = concat("-I", concat(&arg[8], "/include"));
com[0] = concat(&arg[8], "/q3rcc" BINEXT);
+ } else if (strncmp(arg, "-lcppdir=", 9) == 0) {
+ cpp[0] = concat(&arg[9], "/q3cpp" BINEXT);
+ } else if (strncmp(arg, "-lrccdir=", 9) == 0) {
+ com[0] = concat(&arg[9], "/q3rcc" BINEXT);
} else if (strcmp(arg, "-p") == 0 || strcmp(arg, "-pg") == 0) {
fprintf( stderr, "no profiling supported, %s ignored.\n", arg);
} else if (strcmp(arg, "-b") == 0)
diff --git a/code/tools/lcc/etc/lcc.c b/code/tools/lcc/etc/lcc.c
index 13ed690..1ff51c5 100644
--- a/code/tools/lcc/etc/lcc.c
+++ b/code/tools/lcc/etc/lcc.c
@@ -11,7 +11,12 @@ static char rcsid[] = "Id: dummy rcsid";
#include