1 SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi)
3 QCCFLAGS_WATERMARK ?= $(shell git describe)
7 PROGS_OUT ?= $(CURDIR)/..
10 QCCVERSIONFILE := qccversion.$(shell (cd server && $(QCC) --version) > qccversion.txt && git hash-object qccversion.txt)
12 # We eventually need to get rid of these
17 -DWATERMARK="$(QCCFLAGS_WATERMARK)" \
19 -DBUILD_MOD=$(BUILD_MOD) \
22 # -Ooverlap-locals is required
29 -flno -futf8 -fno-bail-on-werror \
30 -frelaxed-switch -freturn-assignments \
33 # xonotic build system overrides this by command line argument to turn off the update-cvarcount step
40 qc: $(PROGS_OUT)/menu.dat $(PROGS_OUT)/progs.dat $(PROGS_OUT)/csprogs.dat
44 rm -f $(PROGS_OUT)/{csprogs,progs,menu}.dat
45 rm -f ../.tmp/*.{qc,d,txt}
49 echo This file intentionally left blank. > $@
56 $(PROGS_OUT)/csprogs.dat: client/progs.inc $(QCCVERSIONFILE)
57 @echo make[1]: Entering directory \`$(PWD)/client\'
58 sh ./qcc.sh client $@ $<
59 -include ../.tmp/client.d
61 $(PROGS_OUT)/progs.dat: server/progs.inc $(QCCVERSIONFILE)
62 @echo make[1]: Entering directory \`$(PWD)/server\'
63 sh ./qcc.sh server $@ $<
64 -include ../.tmp/server.d
66 $(PROGS_OUT)/menu.dat: menu/progs.inc $(QCCVERSIONFILE)
67 @echo make[1]: Entering directory \`$(PWD)/menu\'
68 sh ./qcc.sh menu $@ $<
69 -include ../.tmp/menu.d
73 cd testcase && $(QCC) $(QCCDEFS) $(QCCFLAGS) -DTESTCASE="$$TESTCASE"