1 SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi)
4 ZIP ?= 7za a -tzip -mx=9
5 ZIPEXCLUDE ?= -x\!*.pk3 -xr\!\.svn -x\!qcsrc
8 FTEQCCFLAGS_WATERMARK ?= -DWATERMARK='"^1$(shell git describe) TEST BUILD"'
9 FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-c -Ono-cs $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK)
13 # NOTE: use -DUSE_FTE instead of -TFTE here!
14 # It will automagically add an engine check with -TID and then change back to -TFTE
15 FTEQCCFLAGS_CSPROGS ?=
17 # xonotic build system overrides this by command line argument to turn off the update-cvarcount step
22 .PHONY: update-cvarcount
24 [ "$(XON_BUILDSYSTEM)" = "" ] || [ "$(XON_BUILDSYSTEM)" = "1" ]
25 [ "$(XON_BUILDSYSTEM)" = "1" ] || { DO_NOT_RUN_MAKE=1 sh update-cvarcount.sh; }
32 qc-recursive: menu.dat progs.dat csprogs.dat
35 skin: gfx/menu/default/skinvalues.txt
39 rm -f progs.dat menu.dat csprogs.dat
41 FILES_CSPROGS = qcsrc/client/progs.src $(shell sed '/\.dat/d; s,//.*,,; s,[^ ],qcsrc/client/&,' < qcsrc/client/progs.src)
42 csprogs.dat: $(FILES_CSPROGS)
43 @echo make[1]: Entering directory \`$(PWD)/qcsrc/client\'
44 cd qcsrc/client && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS)
46 FILES_PROGS = qcsrc/server/progs.src $(shell sed '/\.dat/d; s,//.*,,; s,[^ ],qcsrc/server/&,' < qcsrc/server/progs.src)
47 progs.dat: $(FILES_PROGS)
48 @echo make[1]: Entering directory \`$(PWD)/qcsrc/server\'
49 cd qcsrc/server && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_PROGS)
51 FILES_MENU = qcsrc/menu/progs.src $(shell sed '/\.dat/d; s,//.*,,; s,[^ ],qcsrc/menu/&,' < qcsrc/menu/progs.src)
52 menu.dat: $(FILES_MENU)
53 @echo make[1]: Entering directory \`$(PWD)/qcsrc/menu\'
54 cd qcsrc/menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
56 gfx/menu/default/skinvalues.txt: qcsrc/menu/skin-customizables.inc
57 $(PERL) qcsrc/menu/skin-customizables.inc > gfx/menu/default/skinvalues.txt
61 cd qcsrc/testcase && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS) -DTESTCASE="$$TESTCASE"