]> icculus.org git repositories - divverent/nexuiz.git/blob - data/Makefile
r6285 | div0 | 2009-03-25 20:48:54 +0100 (Wed, 25 Mar 2009) | 2 lines
[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 all: qc
16
17 .PHONY: update-cvarcount
18 update-cvarcount:
19         ! [ -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; }
20         DO_NOT_RUN_MAKE=1 sh update-cvarcount.sh
21
22 .PHONY: qc
23 qc: menu.dat progs.dat csprogs.dat
24
25 .PHONY: skin
26 skin: gfx/menu/default/skinvalues.txt
27
28 .PHONY: pk3
29 pk3: $(PK3NAME)
30
31 .PHONY: pk3here
32 pk3here: qc
33         $(RM) $(PK3NAME); \
34         set -ex; \
35                 ABSPK3NAME=$(PK3NAME); \
36                 case $$ABSPK3NAME in \
37                         /*) \
38                                 ;; \
39                         *) \
40                                 ABSPK3NAME=$$PWD/$$ABSPK3NAME; \
41                                 ;; \
42                 esac; \
43                 $(ZIP) $(ZIPEXCLUDE) $$ABSPK3NAME .
44
45 .PHONY: clean
46 clean:
47         rm -f progs.dat menu.dat csprogs.dat
48
49 csprogs.dat: qcsrc/client/*.* qcsrc/common/*.* update-cvarcount
50         cd qcsrc/client && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_CSPROGS)
51
52 progs.dat: qcsrc/server/*.* qcsrc/common/*.* update-cvarcount
53         cd qcsrc/server && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_PROGS)
54
55 menu.dat: qcsrc/menu/*.* qcsrc/menu/*/*.* qcsrc/common/*.* update-cvarcount
56         cd qcsrc/menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
57
58 gfx/menu/default/skinvalues.txt: qcsrc/menu/skin-customizables.inc
59         $(PERL) qcsrc/menu/skin-customizables.inc > gfx/menu/default/skinvalues.txt
60
61 $(PK3NAME): qc
62         $(RM) $(PK3NAME)
63         set -ex; \
64                 ABSPK3NAME=$(PK3NAME); \
65                 case $$ABSPK3NAME in \
66                         /*) \
67                                 ;; \
68                         *) \
69                                 ABSPK3NAME=$$PWD/$$ABSPK3NAME; \
70                                 ;; \
71                 esac; \
72                 TDIR=`mktemp -d -t nexuizpk3.XXXXXX`; \
73                 cp -v progs.dat csprogs.dat menu.dat $$TDIR/; \
74                 svn export --force . $$TDIR; \
75                 cd $$TDIR; \
76                 $(RM) -r qcsrc common-spog.pk3; \
77                 $(ZIP) $$ABSPK3NAME .
78
79 .PHONY: log
80 log:
81         cd .. && svn log -r HEAD:BASE
82
83 .PHONY: logv
84 logv:
85         cd .. && svn log -r HEAD:BASE -v
86
87 .PHONY: update
88 update:
89         cd .. && svn up
90
91 .PHONY: logupdate
92 logupdate:
93         cd .. && svn log -r HEAD:BASE && svn up
94
95 .PHONY: logvupdate
96 logvupdate:
97         cd .. && svn log -r HEAD:BASE -v && svn up