From 982f409cecd73c70a0a7c5e6559696776b6c6dd5 Mon Sep 17 00:00:00 2001 From: Svante Signell Date: Sun, 12 May 2013 12:22:20 +0100 Subject: Add support for the GNU/Hurd architecture [As with GNU/kFreeBSD, it's treated as "Linux": all three use the GNU libc and runtime linker, which is mostly what matters for ioquake3. -smcv] Bug-Debian: http://bugs.debian.org/679330 Reviewed-by: Simon McVittie --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index eff1a6b1..45676882 100644 --- a/Makefile +++ b/Makefile @@ -305,7 +305,7 @@ MKDIR=mkdir EXTRA_FILES= CLIENT_EXTRA_FILES= -ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu")) +ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) ifeq ($(ARCH),x86_64) LIB=lib64 -- cgit From 05d3587f154a7ef4ad9af6457ba48734f94319b8 Mon Sep 17 00:00:00 2001 From: Brenton Bostick Date: Fri, 3 Oct 2014 21:59:26 -0400 Subject: Add mingw prefix for cygwin32 and mingw32 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 45676882..105fff05 100644 --- a/Makefile +++ b/Makefile @@ -507,7 +507,7 @@ ifeq ($(PLATFORM),mingw32) MINGW_PREFIXES=amd64-mingw32msvc x86_64-w64-mingw32 endif ifeq ($(ARCH),x86) - MINGW_PREFIXES=i586-mingw32msvc i686-w64-mingw32 + MINGW_PREFIXES=i586-mingw32msvc i686-w64-mingw32 i686-pc-mingw32 endif ifndef CC -- cgit From a6e2daaf0a8b670df9f5ea7daf1d88c60ccf5c1a Mon Sep 17 00:00:00 2001 From: ZsoltM Date: Fri, 30 Jan 2015 22:52:53 +0100 Subject: added mingw64 (msys2) platform support --- Makefile | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 105fff05..c634adae 100644 --- a/Makefile +++ b/Makefile @@ -55,6 +55,13 @@ PLATFORM=$(COMPILE_PLATFORM) endif export PLATFORM +ifeq ($(PLATFORM),mingw32) + MINGW=1 +endif +ifeq ($(PLATFORM),mingw64) + MINGW=1 +endif + ifeq ($(COMPILE_ARCH),i86pc) COMPILE_ARCH=x86 endif @@ -150,7 +157,7 @@ USE_CURL=1 endif ifndef USE_CURL_DLOPEN - ifeq ($(PLATFORM),mingw32) + ifdef MINGW USE_CURL_DLOPEN=0 else USE_CURL_DLOPEN=1 @@ -493,7 +500,7 @@ else # ifeq darwin # SETUP AND BUILD -- MINGW32 ############################################################################# -ifeq ($(PLATFORM),mingw32) +ifdef MINGW ifeq ($(CROSS_COMPILING),1) # If CC is already set to something generic, we probably want to use @@ -639,7 +646,7 @@ ifeq ($(PLATFORM),mingw32) SDLDLL=SDL2.dll endif -else # ifeq mingw32 +else # ifdef MINGW ############################################################################# # SETUP AND BUILD -- FREEBSD @@ -890,7 +897,7 @@ else # ifeq sunos endif #Linux endif #darwin -endif #mingw32 +endif #MINGW endif #FreeBSD endif #OpenBSD endif #NetBSD @@ -1536,7 +1543,7 @@ Q3OBJ = \ $(B)/client/con_log.o \ $(B)/client/sys_main.o -ifeq ($(PLATFORM),mingw32) +ifdef MINGW Q3OBJ += \ $(B)/client/con_passive.o else @@ -1980,7 +1987,7 @@ ifeq ($(HAVE_VM_COMPILED),true) endif endif -ifeq ($(PLATFORM),mingw32) +ifdef MINGW Q3OBJ += \ $(B)/client/win_resource.o \ $(B)/client/sys_win32.o @@ -2119,7 +2126,7 @@ ifeq ($(HAVE_VM_COMPILED),true) endif endif -ifeq ($(PLATFORM),mingw32) +ifdef MINGW Q3DOBJ += \ $(B)/ded/win_resource.o \ $(B)/ded/sys_win32.o \ -- cgit From e656dd81c4d86fc997986894316f13bc5c597e37 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Fri, 12 Jun 2015 14:31:58 -0500 Subject: Sort tr_image_*.c filenames in Makefile --- Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index c634adae..6876a392 100644 --- a/Makefile +++ b/Makefile @@ -1564,11 +1564,11 @@ Q3R2OBJ = \ $(B)/renderergl2/tr_font.o \ $(B)/renderergl2/tr_glsl.o \ $(B)/renderergl2/tr_image.o \ - $(B)/renderergl2/tr_image_png.o \ - $(B)/renderergl2/tr_image_jpg.o \ $(B)/renderergl2/tr_image_bmp.o \ - $(B)/renderergl2/tr_image_tga.o \ + $(B)/renderergl2/tr_image_jpg.o \ $(B)/renderergl2/tr_image_pcx.o \ + $(B)/renderergl2/tr_image_png.o \ + $(B)/renderergl2/tr_image_tga.o \ $(B)/renderergl2/tr_init.o \ $(B)/renderergl2/tr_light.o \ $(B)/renderergl2/tr_main.o \ @@ -1630,11 +1630,11 @@ Q3ROBJ = \ $(B)/renderergl1/tr_flares.o \ $(B)/renderergl1/tr_font.o \ $(B)/renderergl1/tr_image.o \ - $(B)/renderergl1/tr_image_png.o \ - $(B)/renderergl1/tr_image_jpg.o \ $(B)/renderergl1/tr_image_bmp.o \ - $(B)/renderergl1/tr_image_tga.o \ + $(B)/renderergl1/tr_image_jpg.o \ $(B)/renderergl1/tr_image_pcx.o \ + $(B)/renderergl1/tr_image_png.o \ + $(B)/renderergl1/tr_image_tga.o \ $(B)/renderergl1/tr_init.o \ $(B)/renderergl1/tr_light.o \ $(B)/renderergl1/tr_main.o \ -- cgit From 657a3a4a11381deaff4f9328e16a7b3f3217fa21 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Tue, 30 Jun 2015 14:22:49 -0400 Subject: Add support for Aarch64 (ARM64) Add support for Aarch64, the 64-bit ARM architecture. --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6876a392..e4f042f4 100644 --- a/Makefile +++ b/Makefile @@ -322,6 +322,10 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu") else ifeq ($(ARCH),s390x) LIB=lib64 + else + ifeq ($(ARCH),aarch64) + LIB=lib64 + endif endif endif endif -- cgit From 124894b4e9bb5ebe6d8e674340b3c1e053c690d1 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 14 Jul 2015 22:51:53 +0100 Subject: Makefile: confine $(LIB) to the one platform that needs it, namely irix64 It isn't mentioned anywhere else, and deleting it from the Linux code path means we don't need to maintain an exhaustive list of 64-bit architectures. --- Makefile | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index e4f042f4..dd2375c0 100644 --- a/Makefile +++ b/Makefile @@ -304,32 +304,12 @@ endif # SETUP AND BUILD -- LINUX ############################################################################# -## Defaults -LIB=lib - INSTALL=install MKDIR=mkdir EXTRA_FILES= CLIENT_EXTRA_FILES= ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) - - ifeq ($(ARCH),x86_64) - LIB=lib64 - else - ifeq ($(ARCH),ppc64) - LIB=lib64 - else - ifeq ($(ARCH),s390x) - LIB=lib64 - else - ifeq ($(ARCH),aarch64) - LIB=lib64 - endif - endif - endif - endif - BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ -pipe -DUSE_ICON CLIENT_CFLAGS += $(SDL_CFLAGS) @@ -811,6 +791,7 @@ else # ifeq netbsd ############################################################################# ifeq ($(PLATFORM),irix64) + LIB=lib ARCH=mips -- cgit From 3711115ee2d393b3fc3b7ef744803ca41ecc2ac6 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 14 Jul 2015 22:51:55 +0100 Subject: build: canonicalize all ARM variants to "arm", matching q_platform.h The ARCH in the Makefile must match the ARCH_STRING in q_platform.h; otherwise, ioquake3 will install (for instance) uiARCH.so but look for uiARCH_STRING.so, which isn't going to go well (particularly for the modular renderer). Like i386, but unlike most (all?) other Linux platforms, uname -m on 32-bit ARM machines can have various results starting with "arm", depending on the specific CPU version (e.g. Raspberry Pi is armv6l, RPi2 is armv7l). Again similar to the x86 family, it's appropriate for them to share an architecture suffix; q_platform.h has traditionally used "arm" so let's use that. 64-bit ARM makes a clean break from this, much like 64-bit x86 does: uname -m produces a string not starting with arm (specifically "aarch64"), and gcc predefines __aarch64__ instead of __arm__. As a result, it is unaffected by this change. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index dd2375c0..48f94da4 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ COMPILE_PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]'|sed -e 's/\//_/g') -COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/x86/) +COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/x86/ | sed -e 's/^arm.*/arm/') ifeq ($(COMPILE_PLATFORM),sunos) # Solaris uname and GNU uname differ -- cgit From f0e19948fe871198ea9c049f721ab2caf458bcb7 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 14 Jul 2015 22:51:57 +0100 Subject: build: define ARCH_STRING in Makefile on Linux and other GNU platforms GNU platforms (Linux, kFreeBSD, Hurd) have endian.h to determine endianness, so all architectures except x86_64 are in fact treated identically, except that their ARCH_STRING is different. The ARCH_STRING must always be identical to the ARCH from the Makefile, otherwise the engine will not find its cgame, game and ui plugins under their expected names and startup will fail. If we pass it in from the Makefile, then an identical value is guaranteed, and we can get rid of an increasingly long list of defined(__some_cpu__) tests. The one remaining quirk is that we test __x86_64__ to determine whether to define idx64; I've kept that, but separated it from the ARCH_STRING. On non-Linux platforms we only support a few architectures anyway, so keeping the list up to date is less of a burden; *BSD porters could probably use the same technique to get support for lots of architectures with little effort, but I have not done that here, because I cannot test it. Windows must continue to support preprocessor-based architecture tests in any case, so that the MSVC solutions (which do not use the Makefile) can continue to work. However, Windows only runs on a few CPU families, so this shouldn't be a significant burden in practice. When cross-compiling, the tools are compiled for the build architecture (COMPILE_PLATFORM, COMPILE_ARCH) rather than the host architecture (PLATFORM, ARCH), so define ARCH_STRING to COMPILE_ARCH on a GNU COMPILE_PLATFORM. --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 48f94da4..83431fdc 100644 --- a/Makefile +++ b/Makefile @@ -309,9 +309,13 @@ MKDIR=mkdir EXTRA_FILES= CLIENT_EXTRA_FILES= +ifneq (,$(findstring "$(COMPILE_PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) + TOOLS_CFLAGS += -DARCH_STRING=\"$(COMPILE_ARCH)\" +endif + ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ - -pipe -DUSE_ICON + -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\" CLIENT_CFLAGS += $(SDL_CFLAGS) OPTIMIZEVM = -O3 -- cgit From 78d3929f526d06b1879c565ed08b337ba6138cae Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 22 Jul 2015 08:15:18 +0100 Subject: build: if tput fails, fall back to a reasonable text width If TERM is not set (which can happen in autobuilders and other batch environments), or if tput cannot determine the number of columns for some other reason, then it can fail and not produce any output. Prior to this change, that would result in passing field width -4 to fmt, which is an error and causes fmt to produce no output. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 83431fdc..408909f3 100644 --- a/Makefile +++ b/Makefile @@ -1179,7 +1179,7 @@ ifeq ($(BUILD_MASTER_SERVER),1) endif ifneq ($(call bin_path, tput),) - TERM_COLUMNS=$(shell echo $$((`tput cols`-4))) + TERM_COLUMNS=$(shell if c=`tput cols`; then echo $$(($$c-4)); else echo 76; fi) else TERM_COLUMNS=76 endif -- cgit From c65bd7998d56cae2670b30e84a2dbc547002d65d Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Wed, 30 Sep 2015 01:26:27 -0500 Subject: Maybe fix old MSYS when there is an empty for loop Based on ioquake3 svn r1485. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 408909f3..69c65534 100644 --- a/Makefile +++ b/Makefile @@ -1209,7 +1209,7 @@ endif NAKED_TARGETS=$(shell echo $(TARGETS) | sed -e "s!$(B)/!!g") -print_list=@for i in $(1); \ +print_list=-@for i in $(1); \ do \ echo " $$i"; \ done -- cgit From 342a3bd68085cdc11f3167253492043459ee9910 Mon Sep 17 00:00:00 2001 From: SmileTheory Date: Fri, 18 Dec 2015 06:53:20 -0800 Subject: OpenGL2: DDS (compressed textures) support. --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 69c65534..c1a5b29e 100644 --- a/Makefile +++ b/Makefile @@ -1558,6 +1558,7 @@ Q3R2OBJ = \ $(B)/renderergl2/tr_image_pcx.o \ $(B)/renderergl2/tr_image_png.o \ $(B)/renderergl2/tr_image_tga.o \ + $(B)/renderergl2/tr_image_dds.o \ $(B)/renderergl2/tr_init.o \ $(B)/renderergl2/tr_light.o \ $(B)/renderergl2/tr_main.o \ -- cgit From 975d4d97e4b9459c3d21b4dc3ecd807e9c330d9a Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Tue, 10 Dec 2013 21:14:13 -0600 Subject: Use Opus for VoIP Server/client VoIP protocol is handled by adding new cvars cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip are used to auto set/clear them. All users need to touch are cl/sv_voip as 0 or 1 just like before. Old Speex VoIP packets in demos are skipped. New VoIP packets are skipped in demos if sv_voipProtocol doesn't match cl_voipProtocol. Notable difference between usage of speex and opus codecs, when using Speex client would be sent 80ms at a time. Using Opus, 60ms is sent at a time. This was changed because the Opus codec supports encoding up to 60ms at a time. (Simpler to send only one codec frame in a packet.) --- Makefile | 76 ++++++++++------------------------------------------------------ 1 file changed, 11 insertions(+), 65 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index c1a5b29e..99c184b5 100644 --- a/Makefile +++ b/Makefile @@ -188,10 +188,6 @@ ifndef USE_INTERNAL_LIBS USE_INTERNAL_LIBS=1 endif -ifndef USE_INTERNAL_SPEEX -USE_INTERNAL_SPEEX=$(USE_INTERNAL_LIBS) -endif - ifndef USE_INTERNAL_OGG USE_INTERNAL_OGG=$(USE_INTERNAL_LIBS) endif @@ -246,7 +242,6 @@ CGDIR=$(MOUNT_DIR)/cgame NDIR=$(MOUNT_DIR)/null UIDIR=$(MOUNT_DIR)/ui JPDIR=$(MOUNT_DIR)/jpeg-8c -SPEEXDIR=$(MOUNT_DIR)/libspeex OGGDIR=$(MOUNT_DIR)/libogg-1.3.1 VORBISDIR=$(MOUNT_DIR)/libvorbis-1.3.4 OPUSDIR=$(MOUNT_DIR)/opus-1.1 @@ -962,8 +957,18 @@ ifeq ($(USE_CURL),1) endif endif +ifeq ($(USE_VOIP),1) + CLIENT_CFLAGS += -DUSE_VOIP + SERVER_CFLAGS += -DUSE_VOIP + NEED_OPUS=1 +endif + ifeq ($(USE_CODEC_OPUS),1) CLIENT_CFLAGS += -DUSE_CODEC_OPUS + NEED_OPUS=1 +endif + +ifeq ($(NEED_OPUS),1) ifeq ($(USE_INTERNAL_OPUS),1) OPUS_CFLAGS = -DOPUS_BUILD -DHAVE_LRINTF -DFLOATING_POINT -DUSE_ALLOCA \ -I$(OPUSDIR)/include -I$(OPUSDIR)/celt -I$(OPUSDIR)/silk \ @@ -1009,19 +1014,6 @@ ifeq ($(USE_MUMBLE),1) CLIENT_CFLAGS += -DUSE_MUMBLE endif -ifeq ($(USE_VOIP),1) - CLIENT_CFLAGS += -DUSE_VOIP - SERVER_CFLAGS += -DUSE_VOIP - ifeq ($(USE_INTERNAL_SPEEX),1) - SPEEX_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include - else - SPEEX_CFLAGS ?= $(shell pkg-config --silence-errors --cflags speex speexdsp || true) - SPEEX_LIBS ?= $(shell pkg-config --silence-errors --libs speex speexdsp || echo -lspeex -lspeexdsp) - endif - CLIENT_CFLAGS += $(SPEEX_CFLAGS) - CLIENT_LIBS += $(SPEEX_LIBS) -endif - ifeq ($(USE_INTERNAL_ZLIB),1) ZLIB_CFLAGS = -DNO_GZIP -I$(ZDIR) else @@ -1722,53 +1714,7 @@ ifeq ($(ARCH),x86_64) $(B)/client/ftola.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 ($(USE_CODEC_OPUS),1) +ifeq ($(NEED_OPUS),1) ifeq ($(USE_INTERNAL_OPUS),1) Q3OBJ += \ $(B)/client/opus/analysis.o \ -- cgit From 970b21fbcd3d42e641807ac0c5e9a29dc21095e9 Mon Sep 17 00:00:00 2001 From: SmileTheory Date: Mon, 18 Jan 2016 04:46:01 -0800 Subject: OpenGL2: Direct state access, part 1: Texture binds --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 99c184b5..54809216 100644 --- a/Makefile +++ b/Makefile @@ -1538,6 +1538,7 @@ Q3R2OBJ = \ $(B)/renderergl2/tr_bsp.o \ $(B)/renderergl2/tr_cmds.o \ $(B)/renderergl2/tr_curve.o \ + $(B)/renderergl2/tr_dsa.o \ $(B)/renderergl2/tr_extramath.o \ $(B)/renderergl2/tr_extensions.o \ $(B)/renderergl2/tr_fbo.o \ -- cgit