X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2FMakefile;h=a92b06bc645b4f814cee7ddf1cedb2cda0de54a3;hb=fb1dcac984f31f1b00acdff66a8ee10c152dcdab;hp=5d079dcb05d7d62c96810b82204005d3a1f9543e;hpb=ad77b9efa833b1ef942252c7f86565c2c4cec52d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/Makefile b/qcsrc/Makefile index 5d079dcb0..a92b06bc6 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -3,12 +3,12 @@ PERL ?= perl QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON=1 QCC ?= gmqcc -VERSION_MESSAGE = $(shell cd server && $(QCC) --version --help) -ifneq (,$(findstring GMQCC,$(VERSION_MESSAGE))) -# this is gmqcc +QCCVERSIONFILE := qccversion.$(shell $(QCC) --version > qccversion.txt && git hash-object qccversion.txt) + QCCFLAGS ?= \ -std=fteqcc \ -Werror -Wall \ + -Wcpp \ -Wno-field-redeclared \ -Wno-double-declaration \ -Wno-uninitialized-global \ @@ -33,11 +33,8 @@ QCCFLAGS ?= \ -floop-labels \ -funtyped-nil \ -fno-permissive \ + -fvariadic-args \ $(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 = @@ -53,20 +50,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)