X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2FMakefile;h=fd566d714ad41572832e3eac44edc0e90dc2c266;hb=2b2e1f680d36476da2f4cfebe9e534577c5efe48;hp=a10ccd2fd11f5ed318068b0c60e18807f0c14495;hpb=3c7ef5b449d479f9a2e24fdddf767f87208c9be6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/Makefile b/qcsrc/Makefile index a10ccd2fd..fd566d714 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -1,60 +1,63 @@ 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 +NDEBUG ?= 1 + +QCCVERSIONFILE := qccversion.$(shell (cd server && $(QCC) --version) > qccversion.txt && git hash-object qccversion.txt) -QCCVERSIONFILE := qccversion.$(shell $(QCC) --version > qccversion.txt && git hash-object qccversion.txt) - -# We eventually need to get rid of these. +# We eventually need to get rid of these QCCFLAGS_WTFS ?= \ - -Wno-field-redeclared \ - -Wno-double-declaration \ + -Wno-field-redeclared + +QCCFLAGS_FEATURES ?= \ + -DBUILD_MOD=$(BUILD_MOD) +# -Ooverlap-locals is required QCCFLAGS ?= \ -std=gmqcc \ - -O3 -flno \ - -Werror -fno-bail-on-werror -Wall \ - -fftepp -fftepp-predefs -Wcpp -futf8 \ + -Ooverlap-locals \ + -O3 \ + -Werror -Wall -Wcpp \ $(QCCFLAGS_WTFS) \ - $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) + -fftepp -flno -futf8 -fno-bail-on-werror -fftepp-predefs \ + -frelaxed-switch -freturn-assignments \ + $(QCCFLAGS_WATERMARK) \ + -DNDEBUG=$(NDEBUG) \ + $(QCCFLAGS_FEATURES) \ + $(QCCFLAGS_EXTRA) # xonotic build system overrides this by command line argument to turn off the update-cvarcount step XON_BUILDSYSTEM = +.PHONY: all all: qc .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 server/precache-for-csqc.inc + rm -f ../progs.dat ../menu.dat ../csprogs.dat $(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) +FILES_CSPROGS = $(shell find lib common client -type f) ../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 + cd client && $(QCC) $(QCCFLAGS) -DCSQC -o ../../csprogs.dat progs.inc -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) $(QCCVERSIONFILE) server/precache-for-csqc.inc +FILES_PROGS = $(shell find lib common server -type f) +../progs.dat: $(FILES_PROGS) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/server\' - cd server && $(QCC) $(QCCFLAGS) + cd server && $(QCC) $(QCCFLAGS) -DSVQC -o ../../progs.dat progs.inc -FILES_MENU = $(shell find menu common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) $(wildcard server/w_*.qc) +FILES_MENU = $(shell find lib common menu -type f) ../menu.dat: $(FILES_MENU) $(QCCVERSIONFILE) @echo make[1]: Entering directory \`$(PWD)/menu\' - cd menu && $(QCC) $(QCCFLAGS) + cd menu && $(QCC) $(QCCFLAGS) -DMENUQC -o ../../menu.dat progs.inc .PHONY: testcase testcase: