X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2FMakefile;h=f53707e829f482c39e0f6dcdee0c54d54d4aa3c1;hb=61a847dbaab291d205cc9684b6d1a6e9bdad6375;hp=4f772589ba3eeaba45f157e742aac84a497f3b11;hpb=eb2518b5354c300fa697051530900ce50bdb2bc1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/Makefile b/qcsrc/Makefile index 4f772589b..f53707e82 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -1,76 +1,61 @@ 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 +QCCVERSIONFILE := qccversion.$(shell (cd server && $(QCC) --version) > qccversion.txt && git hash-object qccversion.txt) + +# We eventually need to get rid of these. +QCCFLAGS_WTFS ?= \ + -Wno-field-redeclared + QCCFLAGS ?= \ - -std=fteqcc \ - -Werror -Wall \ - -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 \ + -std=gmqcc \ + -O3 -flno \ + -Werror -fno-bail-on-werror -Wall \ + -fftepp -fftepp-predefs -Wcpp -futf8 \ + $(QCCFLAGS_WTFS) \ + $(QCCFLAGS_FEATURES) \ $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) -else -# this. is. fteqccccccccccccccccccc! -QCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-return_only -fno-fastarrays $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) -endif + +QCCFLAGS_FEATURES ?= \ + -DVEHICLES_ENABLED=1 \ + -DVEHICLES_USE_ODE=0 # xonotic build system overrides this by command line argument to turn off the update-cvarcount step XON_BUILDSYSTEM = all: qc +.PHONY: all .PHONY: qc -qc: - $(MAKE) qc-recursive - -.PHONY: qc-recursive -qc-recursive: ../menu.dat ../progs.dat ../csprogs.dat +qc: ../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) +FILES_CSPROGS = $(shell find client common warpzonelib csqcmodellib -type f -not -name fteqcc.log -not -name qc.asm) +../csprogs.dat: $(FILES_CSPROGS) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/client\' - cd client && $(QCC) $(QCCFLAGS) + cd client && $(QCC) $(QCCFLAGS) -DCSQC + +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) +FILES_PROGS = $(shell find server common warpzonelib csqcmodellib -type f -not -name fteqcc.log -not -name qc.asm) +../progs.dat: $(FILES_PROGS) $(QCCVERSIONFILE) server/precache-for-csqc.inc @echo make[1]: Entering directory \`$(PWD)/server\' - cd server && $(QCC) $(QCCFLAGS) + cd server && $(QCC) $(QCCFLAGS) -DSVQC -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) +FILES_MENU = $(shell find menu common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) +../menu.dat: $(FILES_MENU) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/menu\' - cd menu && $(QCC) $(QCCFLAGS) + cd menu && $(QCC) $(QCCFLAGS) -DMENUQC .PHONY: testcase testcase: