]> icculus.org git repositories - divverent/nexuiz.git/blob - data/Makefile
add a semicolon to the makefile
[divverent/nexuiz.git] / data / Makefile
1 FTEQCC ?= fteqcc
2 PERL ?= perl
3 PK3NAME ?= `date +../data%Y%m%d.pk3`
4 ZIP ?= 7za a -tzip -mx=9
5 ZIPEXCLUDE ?= -x\!*.pk3 -xr\!\.svn -x\!qcsrc
6
7 FTEQCCFLAGS ?= -Wall -Wno-mundane -O3 -Ono-c -Ono-cs -flo
8 FTEQCCFLAGS_PROGS ?= 
9 FTEQCCFLAGS_MENU ?= 
10
11 # NOTE: use -DUSE_FTE instead of -TFTE here!
12 # It will automagically add an engine check with -TID and then change back to -TFTE
13 FTEQCCFLAGS_CSPROGS ?= 
14
15 # nexuiz svn build system overrides this by command line argument
16 NEX_BUILDSYSTEM =
17
18 all: qc
19
20 .PHONY: update-cvarcount
21 update-cvarcount:
22         [ "$(NEX_BUILDSYSTEM)" = "" ] || [ "$(NEX_BUILDSYSTEM)" = "1" ]
23         [ "$(NEX_BUILDSYSTEM)" != "" ] || { ! [ -f ../misc/netradiant-NexuizPack/nexuiz.game/data/entities.def ] || diff ../misc/netradiant-NexuizPack/nexuiz.game/data/entities.def scripts/entities.def || { echo entities.def mismatch, please merge ../misc/netradiant-NexuizPack/nexuiz.game/data/entities.def and scripts/entities.def; exit 1; }; }
24         [ "$(NEX_BUILDSYSTEM)" != "" ] || { DO_NOT_RUN_MAKE=1 sh update-cvarcount.sh; }
25
26 .PHONY: qc
27 qc: menu.dat progs.dat csprogs.dat
28
29 .PHONY: skin
30 skin: gfx/menu/default/skinvalues.txt
31
32 .PHONY: pk3
33 pk3: $(PK3NAME)
34
35 .PHONY: pk3here
36 pk3here: qc
37         $(RM) $(PK3NAME); \
38         set -ex; \
39                 ABSPK3NAME=$(PK3NAME); \
40                 case $$ABSPK3NAME in \
41                         /*) \
42                                 ;; \
43                         *) \
44                                 ABSPK3NAME=$$PWD/$$ABSPK3NAME; \
45                                 ;; \
46                 esac; \
47                 $(ZIP) $(ZIPEXCLUDE) $$ABSPK3NAME .
48
49 .PHONY: clean
50 clean:
51         rm -f progs.dat menu.dat csprogs.dat
52
53 csprogs.dat: qcsrc/client/*.* qcsrc/common/*.* update-cvarcount
54         cd qcsrc/client && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_CSPROGS)
55
56 progs.dat: qcsrc/server/*.* qcsrc/common/*.* update-cvarcount
57         cd qcsrc/server && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_PROGS)
58
59 menu.dat: qcsrc/menu/*.* qcsrc/menu/*/*.* qcsrc/common/*.* update-cvarcount
60         cd qcsrc/menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
61
62 gfx/menu/default/skinvalues.txt: qcsrc/menu/skin-customizables.inc
63         $(PERL) qcsrc/menu/skin-customizables.inc > gfx/menu/default/skinvalues.txt
64
65 $(PK3NAME): qc
66         $(RM) $(PK3NAME)
67         set -ex; \
68                 ABSPK3NAME=$(PK3NAME); \
69                 case $$ABSPK3NAME in \
70                         /*) \
71                                 ;; \
72                         *) \
73                                 ABSPK3NAME=$$PWD/$$ABSPK3NAME; \
74                                 ;; \
75                 esac; \
76                 TDIR=`mktemp -d -t nexuizpk3.XXXXXX`; \
77                 cp -v progs.dat csprogs.dat menu.dat $$TDIR/; \
78                 svn export --force . $$TDIR; \
79                 cd $$TDIR; \
80                 $(RM) -r qcsrc common-spog.pk3; \
81                 $(ZIP) $$ABSPK3NAME .
82
83 .PHONY: log
84 log:
85         cd .. && svn log -r HEAD:BASE
86
87 .PHONY: logv
88 logv:
89         cd .. && svn log -r HEAD:BASE -v
90
91 .PHONY: update
92 update:
93         cd .. && svn up
94
95 .PHONY: logupdate
96 logupdate:
97         cd .. && svn log -r HEAD:BASE && svn up
98
99 .PHONY: logvupdate
100 logvupdate:
101         cd .. && svn log -r HEAD:BASE -v && svn up