1 QCCFLAGS_WATERMARK ?= $(shell git describe --tags --dirty=*)
5 PROGS_OUT ?= $(CURDIR)/..
8 QCCVERSIONFILE := qccversion.$(shell (cd server && $(QCC) --version) > qccversion.txt && git hash-object qccversion.txt)
10 # We eventually need to get rid of these
15 -DWATERMARK="$(QCCFLAGS_WATERMARK)" \
17 -DBUILD_MOD=$(BUILD_MOD) \
20 # -Ooverlap-locals is required
27 -flno -futf8 -fno-bail-on-werror \
28 -frelaxed-switch -freturn-assignments \
31 # xonotic build system overrides this by command line argument to turn off the update-cvarcount step
38 qc: $(PROGS_OUT)/menu.dat $(PROGS_OUT)/progs.dat $(PROGS_OUT)/csprogs.dat
43 $(eval VER=${QCCFLAGS_WATERMARK})
44 $(eval PK3=${PROG}-${VER}.pk3)
45 $(eval TXT=${PROG}-${VER}.txt)
46 $(eval DAT=${PROG}-${VER}.dat)
47 $(eval LNO=${PROG}-${VER}.lno)
48 @ echo "http://xonotic.org" > ${TXT}
49 @ ln -f $(PROGS_OUT)/${PROG}.dat ${DAT}
50 @ ln -f $(PROGS_OUT)/${PROG}.lno ${LNO}
52 zip -9 ${PK3} ${TXT} ${DAT} ${LNO}
53 @ rm ${TXT} ${DAT} ${LNO}
57 rm -f $(PROGS_OUT)/csprogs.dat
58 rm -f $(PROGS_OUT)/progs.dat
59 rm -f $(PROGS_OUT)/menu.dat
66 echo This file intentionally left blank. > $@
73 $(PROGS_OUT)/csprogs.dat: client/progs.inc $(QCCVERSIONFILE)
74 @echo make[1]: Entering directory \`$(PWD)/client\'
75 sh ./qcc.sh client $@ $<
76 -include ../.tmp/client.d
78 $(PROGS_OUT)/progs.dat: server/progs.inc $(QCCVERSIONFILE)
79 @echo make[1]: Entering directory \`$(PWD)/server\'
80 sh ./qcc.sh server $@ $<
81 -include ../.tmp/server.d
83 $(PROGS_OUT)/menu.dat: menu/progs.inc $(QCCVERSIONFILE)
84 @echo make[1]: Entering directory \`$(PWD)/menu\'
85 sh ./qcc.sh menu $@ $<
86 -include ../.tmp/menu.d
90 cd testcase && $(QCC) $(QCCDEFS) $(QCCFLAGS) -DTESTCASE="$$TESTCASE"