add missing progs.dat copy to "make pk3"; TODO use this target in makebuild.sh
[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
6 FTEQCCFLAGS ?= -Wall -Wno-mundane -O3 -Ono-c -Ono-cs -flo
7 FTEQCCFLAGS_PROGS ?= 
8 FTEQCCFLAGS_MENU ?= 
9
10 # NOTE: use -DUSE_FTE instead of -TFTE here!
11 # It will automagically add an engine check with -TID and then change back to -TFTE
12 FTEQCCFLAGS_CSPROGS ?= 
13
14 all: qc
15
16 .PHONY: qc
17 qc: menu.dat progs.dat csprogs.dat
18
19 .PHONY: skin
20 skin: gfx/menu/default/skinvalues.txt
21
22 .PHONY: pk3
23 pk3: $(PK3NAME)
24
25 .PHONY: clean
26 clean:
27         rm -f progs.dat menu.dat csprogs.dat
28
29 csprogs.dat: qcsrc/client/*.* qcsrc/common/*.*
30         cd qcsrc/client && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_CSPROGS)
31
32 progs.dat: qcsrc/server/*.* qcsrc/common/*.*
33         cd qcsrc/server && $(FTEQCC) $(FTEQCCFLAGS) $(QCFLAGS_PROGS)
34
35 menu.dat: qcsrc/menu/*.* qcsrc/menu/*/*.* qcsrc/common/*.*
36         cd qcsrc/menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
37
38 gfx/menu/default/skinvalues.txt: qcsrc/menu/skin-customizables.inc
39         $(PERL) qcsrc/menu/skin-customizables.inc > gfx/menu/default/skinvalues.txt
40
41 $(PK3NAME): qc
42         $(RM) $(PK3NAME)
43         set -ex; \
44                 ABSPK3NAME=$(PK3NAME); \
45                 case $$ABSPK3NAME in \
46                         /*) \
47                                 ;; \
48                         *) \
49                                 ABSPK3NAME=$$PWD/$$ABSPK3NAME; \
50                                 ;; \
51                 esac; \
52                 TDIR=`mktemp -d -t nexuizpk3.XXXXXX`; \
53                 cp -v progs.dat csprogs.dat menu.dat $$TDIR/;
54                 svn export --force . $$TDIR; \
55                 cd $$TDIR; \
56                 $(RM) -r qcsrc common-spog.pk3 \
57                 $(ZIP) $$ABSPK3NAME .