@@ -274,12 +274,12 @@ BLIBDIR=$(MOUNT_DIR)/botlib
274274NDIR =$(MOUNT_DIR ) /null
275275UIDIR =$(MOUNT_DIR ) /ui
276276Q3UIDIR =$(MOUNT_DIR ) /q3_ui
277- JPDIR =$(MOUNT_DIR ) /jpeg-8c
278- OGGDIR =$(MOUNT_DIR ) /libogg-1.3.3
279- VORBISDIR =$(MOUNT_DIR ) /libvorbis-1.3.6
280- OPUSDIR =$(MOUNT_DIR ) /opus-1.2.1
281- OPUSFILEDIR =$(MOUNT_DIR ) /opusfile-0.9
282- ZDIR =$(MOUNT_DIR ) /zlib
277+ JPDIR =$(MOUNT_DIR ) /jpeg-9f
278+ OGGDIR =$(MOUNT_DIR ) /libogg-1.3.6
279+ VORBISDIR =$(MOUNT_DIR ) /libvorbis-1.3.7
280+ OPUSDIR =$(MOUNT_DIR ) /opus-1.5.2
281+ OPUSFILEDIR =$(MOUNT_DIR ) /opusfile-0.12
282+ ZDIR =$(MOUNT_DIR ) /zlib-1.3.1
283283TOOLSDIR =$(MOUNT_DIR ) /tools
284284Q3ASMDIR =$(MOUNT_DIR ) /tools/asm
285285LBURGDIR =$(MOUNT_DIR ) /tools/lcc/lburg
@@ -361,8 +361,8 @@ ifneq (,$(findstring "$(COMPILE_PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu
361361endif
362362
363363ifneq (,$(findstring "$(PLATFORM ) ", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu") )
364- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
365- -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH ) \\\"
364+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
365+ BASE_CFLAGS = -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH ) \\\"
366366 CLIENT_CFLAGS += $(SDL_CFLAGS )
367367
368368 OPTIMIZEVM = -O3
@@ -689,8 +689,8 @@ ifdef MINGW
689689 $(error Cannot find a suitable cross compiler for $(PLATFORM))
690690 endif
691691
692- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
693- -DUSE_ICON
692+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
693+ BASE_CFLAGS = -DUSE_ICON
694694
695695 # In the absence of wspiapi.h, require Windows XP or later
696696 ifeq ($(shell test -e $(CMDIR)/wspiapi.h; echo $$?),1)
@@ -818,9 +818,8 @@ ifeq ($(PLATFORM),freebsd)
818818 TOOLS_CC =cc
819819
820820 # flags
821- BASE_CFLAGS = \
822- -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
823- -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
821+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
822+ BASE_CFLAGS = -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
824823 CLIENT_CFLAGS += $(SDL_CFLAGS )
825824 HAVE_VM_COMPILED = true
826825
@@ -873,8 +872,8 @@ else # ifeq freebsd
873872
874873ifeq ($(PLATFORM ) ,openbsd)
875874
876- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
877- -pipe -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
875+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
876+ BASE_CFLAGS = -pipe -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
878877 CLIENT_CFLAGS += $(SDL_CFLAGS )
879878
880879 OPTIMIZEVM = -O3
@@ -956,7 +955,8 @@ ifeq ($(PLATFORM),netbsd)
956955 SHLIBLDFLAGS =-shared $(LDFLAGS )
957956 THREAD_LIBS =-lpthread
958957
959- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
958+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
959+ BASE_CFLAGS =
960960
961961 ifeq ($(ARCH),x86)
962962 HAVE_VM_COMPILED =true
@@ -1012,8 +1012,8 @@ ifeq ($(PLATFORM),sunos)
10121012 endif
10131013 endif
10141014
1015- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
1016- -pipe -DUSE_ICON
1015+ WARNINGS_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
1016+ BASE_CFLAGS = -pipe -DUSE_ICON
10171017 CLIENT_CFLAGS += $(SDL_CFLAGS )
10181018
10191019 OPTIMIZEVM = -O3 -funroll-loops
@@ -1136,6 +1136,8 @@ ifndef CC
11361136 CC =gcc
11371137endif
11381138
1139+ CC_VERSION =$(shell $(CC ) --version | head -n1)
1140+
11391141ifndef RANLIB
11401142 RANLIB =ranlib
11411143endif
@@ -1397,10 +1399,10 @@ ifdef SOURCE_DATE_EPOCH
13971399endif
13981400
13991401BASE_CFLAGS += -DPRODUCT_VERSION=\\\"$(VERSION ) \\\"
1400- BASE_CFLAGS += -Wformat=2 -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
1401- BASE_CFLAGS += - Wstrict-aliasing=2 -Wmissing-format-attribute
1402- BASE_CFLAGS += -Wdisabled-optimization
1403- BASE_CFLAGS += -Werror-implicit-function-declaration
1402+ WARNINGS_CFLAGS += -Wformat=2 -Wno-format-zero-length -Wformat-security \
1403+ -Wno-format-nonliteral - Wstrict-aliasing=2 -Wmissing-format-attribute \
1404+ -Wdisabled-optimization -Werror-implicit-function-declaration
1405+ THIRDPARTY_CFLAGS += -Wno-strict-prototypes
14041406
14051407ifeq ($(V ) ,1)
14061408echo_cmd =@:
@@ -1412,22 +1414,32 @@ endif
14121414
14131415define DO_CC
14141416$(echo_cmd ) "CC $< "
1415- $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) -o $@ -c $<
1417+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(WARNINGS_CFLAGS ) -o $@ -c $<
1418+ endef
1419+
1420+ define DO_THIRDPARTY_CC
1421+ $(echo_cmd ) "THIRDPARTY_CC $< "
1422+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(THIRDPARTY_CFLAGS ) -o $@ -c $<
14161423endef
14171424
14181425define DO_CC_ALTIVEC
14191426$(echo_cmd ) "CC $< "
1420- $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(ALTIVEC_CFLAGS ) -o $@ -c $<
1427+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(WARNINGS_CFLAGS ) $( ALTIVEC_CFLAGS ) -o $@ -c $<
14211428endef
14221429
14231430define DO_REF_CC
14241431$(echo_cmd ) "REF_CC $< "
1425- $(Q )$(CC ) $(SHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) -o $@ -c $<
1432+ $(Q )$(CC ) $(SHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(WARNINGS_CFLAGS ) -o $@ -c $<
1433+ endef
1434+
1435+ define DO_THIRDPARTY_REF_CC
1436+ $(echo_cmd ) "THIRDPARTY_REF_CC $< "
1437+ $(Q )$(CC ) $(SHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(THIRDPARTY_CFLAGS ) -o $@ -c $<
14261438endef
14271439
14281440define DO_REF_CC_ALTIVEC
14291441$(echo_cmd ) "REF_CC $< "
1430- $(Q )$(CC ) $(SHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(ALTIVEC_CFLAGS ) -o $@ -c $<
1442+ $(Q )$(CC ) $(SHLIBCFLAGS ) $(CFLAGS ) $(CLIENT_CFLAGS ) $(OPTIMIZE ) $(WARNINGS_CFLAGS ) $( ALTIVEC_CFLAGS ) -o $@ -c $<
14311443endef
14321444
14331445define DO_REF_STR
@@ -1438,7 +1450,7 @@ endef
14381450
14391451define DO_BOT_CC
14401452$(echo_cmd ) "BOT_CC $< "
1441- $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(BOTCFLAGS ) $(OPTIMIZE ) -DBOTLIB -o $@ -c $<
1453+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) $(CFLAGS ) $(BOTCFLAGS ) $(OPTIMIZE ) $( WARNINGS_CFLAGS ) -DBOTLIB -o $@ -c $<
14421454endef
14431455
14441456ifeq ($(GENERATE_DEPENDENCIES ) ,1)
@@ -1447,49 +1459,49 @@ endif
14471459
14481460define DO_SHLIB_CC
14491461$(echo_cmd ) "SHLIB_CC $< "
1450- $(Q )$(CC ) $(BASEGAME_CFLAGS ) $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1462+ $(Q )$(CC ) $(BASEGAME_CFLAGS ) $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14511463$(Q )$(DO_QVM_DEP )
14521464endef
14531465
14541466define DO_GAME_CC
14551467$(echo_cmd ) "GAME_CC $< "
1456- $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DQAGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1468+ $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DQAGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14571469$(Q )$(DO_QVM_DEP )
14581470endef
14591471
14601472define DO_CGAME_CC
14611473$(echo_cmd ) "CGAME_CC $< "
1462- $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DCGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1474+ $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DCGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14631475$(Q )$(DO_QVM_DEP )
14641476endef
14651477
14661478define DO_UI_CC
14671479$(echo_cmd ) "UI_CC $< "
1468- $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DUI $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1480+ $(Q )$(CC ) $(BASEGAME_CFLAGS ) -DUI $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14691481$(Q )$(DO_QVM_DEP )
14701482endef
14711483
14721484define DO_SHLIB_CC_MISSIONPACK
14731485$(echo_cmd ) "SHLIB_CC_MISSIONPACK $< "
1474- $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1486+ $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14751487$(Q )$(DO_QVM_DEP )
14761488endef
14771489
14781490define DO_GAME_CC_MISSIONPACK
14791491$(echo_cmd ) "GAME_CC_MISSIONPACK $< "
1480- $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DQAGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1492+ $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DQAGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14811493$(Q )$(DO_QVM_DEP )
14821494endef
14831495
14841496define DO_CGAME_CC_MISSIONPACK
14851497$(echo_cmd ) "CGAME_CC_MISSIONPACK $< "
1486- $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DCGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1498+ $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DCGAME $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14871499$(Q )$(DO_QVM_DEP )
14881500endef
14891501
14901502define DO_UI_CC_MISSIONPACK
14911503$(echo_cmd ) "UI_CC_MISSIONPACK $< "
1492- $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DUI $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) -o $@ -c $<
1504+ $(Q )$(CC ) $(MISSIONPACK_CFLAGS ) -DUI $(SHLIBCFLAGS ) $(CFLAGS ) $(OPTIMIZEVM ) $( WARNINGS_CFLAGS ) -o $@ -c $<
14931505$(Q )$(DO_QVM_DEP )
14941506endef
14951507
@@ -1500,7 +1512,12 @@ endef
15001512
15011513define DO_DED_CC
15021514$(echo_cmd ) "DED_CC $< "
1503- $(Q )$(CC ) $(NOTSHLIBCFLAGS ) -DDEDICATED $(CFLAGS ) $(SERVER_CFLAGS ) $(OPTIMIZE ) -o $@ -c $<
1515+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) -DDEDICATED $(CFLAGS ) $(SERVER_CFLAGS ) $(OPTIMIZE ) $(WARNINGS_CFLAGS ) -o $@ -c $<
1516+ endef
1517+
1518+ define DO_THIRDPARTY_DED_CC
1519+ $(echo_cmd ) "THIRDPARTY_DED_CC $< "
1520+ $(Q )$(CC ) $(NOTSHLIBCFLAGS ) -DDEDICATED $(CFLAGS ) $(SERVER_CFLAGS ) $(OPTIMIZE ) $(THIRDPARTY_CFLAGS ) -o $@ -c $<
15041521endef
15051522
15061523define DO_WINDRES
@@ -1583,6 +1600,7 @@ targets: makedirs
15831600 @echo " HAVE_VM_COMPILED: $( HAVE_VM_COMPILED) "
15841601 @echo " PKG_CONFIG: $( PKG_CONFIG) "
15851602 @echo " CC: $( CC) "
1603+ @echo " CC_VERSION: $( CC_VERSION) "
15861604ifeq ($(PLATFORM ) ,mingw32)
15871605 @echo " WINDRES: $(WINDRES)"
15881606endif
@@ -2194,6 +2212,7 @@ Q3OBJ += \
21942212 $(B ) /client/opus/opus_multistream_encoder.o \
21952213 $(B ) /client/opus/opus_multistream_decoder.o \
21962214 $(B ) /client/opus/repacketizer.o \
2215+ $(B ) /client/opus/extensions.o \
21972216 \
21982217 $(B ) /client/opus/bands.o \
21992218 $(B ) /client/opus/celt.o \
@@ -2901,28 +2920,34 @@ $(B)/client/%.o: $(BLIBDIR)/%.c
29012920 $(DO_BOT_CC )
29022921
29032922$(B ) /client/% .o : $(OGGDIR ) /src/% .c
2904- $(DO_CC )
2923+ $(DO_THIRDPARTY_CC )
29052924
29062925$(B ) /client/vorbis/% .o : $(VORBISDIR ) /lib/% .c
2907- $(DO_CC )
2926+ $(DO_THIRDPARTY_CC )
29082927
29092928$(B ) /client/opus/% .o : $(OPUSDIR ) /src/% .c
2910- $(DO_CC )
2929+ $(DO_THIRDPARTY_CC )
29112930
29122931$(B ) /client/opus/% .o : $(OPUSDIR ) /celt/% .c
2913- $(DO_CC )
2932+ $(DO_THIRDPARTY_CC )
29142933
29152934$(B ) /client/opus/% .o : $(OPUSDIR ) /silk/% .c
2916- $(DO_CC )
2935+ $(DO_THIRDPARTY_CC )
29172936
29182937$(B ) /client/opus/% .o : $(OPUSDIR ) /silk/float/% .c
2919- $(DO_CC )
2938+ $(DO_THIRDPARTY_CC )
29202939
29212940$(B ) /client/% .o : $(OPUSFILEDIR ) /src/% .c
2922- $(DO_CC )
2941+ $(DO_THIRDPARTY_CC )
29232942
29242943$(B ) /client/% .o : $(ZDIR ) /% .c
2925- $(DO_CC )
2944+ $(DO_THIRDPARTY_CC )
2945+
2946+ $(B ) /client/ioapi.o : $(CMDIR ) /ioapi.c
2947+ $(DO_THIRDPARTY_CC )
2948+
2949+ $(B ) /client/unzip.o : $(CMDIR ) /unzip.c
2950+ $(DO_THIRDPARTY_CC )
29262951
29272952$(B ) /client/% .o : $(SDLDIR ) /% .c
29282953 $(DO_CC )
@@ -2944,7 +2969,7 @@ $(B)/renderergl1/%.o: $(SDLDIR)/%.c
29442969 $(DO_REF_CC )
29452970
29462971$(B ) /renderergl1/% .o : $(JPDIR ) /% .c
2947- $(DO_REF_CC )
2972+ $(DO_THIRDPARTY_REF_CC )
29482973
29492974$(B ) /renderergl1/% .o : $(RCOMMONDIR ) /% .c
29502975 $(DO_REF_CC )
@@ -2982,7 +3007,13 @@ $(B)/ded/%.o: $(CMDIR)/%.c
29823007 $(DO_DED_CC )
29833008
29843009$(B ) /ded/% .o : $(ZDIR ) /% .c
2985- $(DO_DED_CC )
3010+ $(DO_THIRDPARTY_DED_CC )
3011+
3012+ $(B ) /ded/ioapi.o : $(CMDIR ) /ioapi.c
3013+ $(DO_THIRDPARTY_CC )
3014+
3015+ $(B ) /ded/unzip.o : $(CMDIR ) /unzip.c
3016+ $(DO_THIRDPARTY_CC )
29863017
29873018$(B ) /ded/% .o : $(BLIBDIR ) /% .c
29883019 $(DO_BOT_CC )
0 commit comments