X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2FMakefile;h=3e98265a9521945ec5049ac54d552d2d2dc62e40;hb=fed15c3e7d6bb300c56a3c0c554cc342e804350d;hp=a05d13ff841e2c09a12ce3318baefa9d51540ca3;hpb=c6c371883dde697e1f237d498c08e09788b6af6b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/Makefile b/qcsrc/Makefile index a05d13ff8..3e98265a9 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -1,15 +1,44 @@ SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi) -FTEQCC ?= fteqcc PERL ?= perl +QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON=1 +QCC ?= gmqcc -FTEQCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON -FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-c -Ono-cs -fno-fastarrays $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK) -FTEQCCFLAGS_PROGS ?= -FTEQCCFLAGS_MENU ?= - -# NOTE: use -DUSE_FTE instead of -TFTE here! -# It will automagically add an engine check with -TID and then change back to -TFTE -FTEQCCFLAGS_CSPROGS ?= +VERSION_MESSAGE = $(shell cd server && $(QCC) --version --help) +ifneq (,$(findstring GMQCC,$(VERSION_MESSAGE))) +# this is gmqcc +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 \ + $(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 = @@ -30,18 +59,18 @@ clean: 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) @echo make[1]: Entering directory \`$(PWD)/client\' - cd client && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS) + cd client && $(QCC) $(QCCFLAGS) 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) @echo make[1]: Entering directory \`$(PWD)/server\' - cd server && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_PROGS) + 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) @echo make[1]: Entering directory \`$(PWD)/menu\' - cd menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU) + cd menu && $(QCC) $(QCCFLAGS) .PHONY: testcase testcase: - cd testcase && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS) -DTESTCASE="$$TESTCASE" + cd testcase && $(QCC) $(QCCFLAGS) -DTESTCASE="$$TESTCASE"