X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2FMakefile;h=833787328efe69d58f57cf868a9e798e184dca32;hp=4f772589ba3eeaba45f157e742aac84a497f3b11;hb=92f0836a539df34826eb33761a9e5a2bc111570e;hpb=5b9c815160b06ce5d741df5fb4497242c3419f9a diff --git a/qcsrc/Makefile b/qcsrc/Makefile index 4f772589ba..833787328e 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -1,45 +1,22 @@ SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi) PERL ?= perl -QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON=1 +QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' QCC ?= gmqcc -VERSION_MESSAGE = $(shell cd server && $(QCC) --version --help) -ifneq (,$(findstring GMQCC,$(VERSION_MESSAGE))) -# this is gmqcc -QCCFLAGS ?= \ - -std=fteqcc \ - -Werror -Wall \ +QCCVERSIONFILE := qccversion.$(shell $(QCC) --version > qccversion.txt && git hash-object qccversion.txt) + +# We eventually need to get rid of these. +QCCFLAGS_WTFS ?= \ -Wno-field-redeclared \ -Wno-double-declaration \ - -Wno-uninitialized-global \ - -O3 \ - -fadjust-vector-fields \ - -fftepp \ - -fftepp-predefs \ - -frelaxed-switch \ - -fshort-logic \ - -fno-perl-logic \ - -ftranslatable-strings \ - -fno-initialized-nonconstants \ - -fno-assign-function-types \ - -flno \ - -fcorrect-ternary \ - -fno-single-vector-defs \ - -fcorrect-logic \ - -ftrue-empty-strings \ - -fno-false-empty-strings \ - -futf8 \ - -fno-bail-on-werror \ - -floop-labels \ - -funtyped-nil \ - -fno-permissive \ - -fvariadic-args \ - -DNOTIFICATIONS_DEBUG \ + +QCCFLAGS ?= \ + -std=gmqcc \ + -O3 -flno \ + -Werror -fno-bail-on-werror -Wall \ + -fftepp -fftepp-predefs -Wcpp -futf8 \ + $(QCCFLAGS_WTFS) \ $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) -else -# this. is. fteqccccccccccccccccccc! -QCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-return_only -fno-fastarrays $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) -endif # xonotic build system overrides this by command line argument to turn off the update-cvarcount step XON_BUILDSYSTEM = @@ -55,20 +32,27 @@ qc-recursive: ../menu.dat ../progs.dat ../csprogs.dat .PHONY: clean clean: - rm -f ../progs.dat ../menu.dat ../csprogs.dat + rm -f ../progs.dat ../menu.dat ../csprogs.dat server/precache-for-csqc.inc + +$(QCCVERSIONFILE): + $(RM) qccversion.* + echo This file intentionally left blank. > $@ FILES_CSPROGS = $(shell find client common warpzonelib csqcmodellib -type f -not -name fteqcc.log -not -name qc.asm) $(wildcard server/w_*.qc) -../csprogs.dat: $(FILES_CSPROGS) +../csprogs.dat: $(FILES_CSPROGS) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/client\' cd client && $(QCC) $(QCCFLAGS) +server/precache-for-csqc.inc: $(FILES_CSPROGS) + sh collect-precache.sh + FILES_PROGS = $(shell find server common warpzonelib csqcmodellib -type f -not -name fteqcc.log -not -name qc.asm) $(wildcard server/w_*.qc) -../progs.dat: $(FILES_PROGS) +../progs.dat: $(FILES_PROGS) $(QCCVERSIONFILE) server/precache-for-csqc.inc @echo make[1]: Entering directory \`$(PWD)/server\' cd server && $(QCC) $(QCCFLAGS) FILES_MENU = $(shell find menu common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) $(wildcard server/w_*.qc) -../menu.dat: $(FILES_MENU) +../menu.dat: $(FILES_MENU) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/menu\' cd menu && $(QCC) $(QCCFLAGS)