summaryrefslogtreecommitdiff
path: root/Makefile
blob: 98204e5b96c2eb78864e8e77d3631be45617155d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#
# Settings
# Use Makefile.local for local settings
#

FS_BASEPATH ?= $(HOME)/tremulous
FS_HOMEBASE ?= .tremulous
TREMULOUS ?= tremulous

Q3MAP        ?= q3map2
Q3MAP_FLAGS  += -fs_basepath $(FS_BASEPATH) -fs_homebase $(FS_HOMEBASE) \
                -fs_game base -threads 4
Q3MAP_BSP    += -leaktest -meta
Q3MAP_VIS    += -vis
Q3MAP_LIGHT  += -light -bounce 1 -dirty -bouncegrid -dirtscale 0.3 \
                -dirtdepth 32 -fastbounce -patchshadows -samples 3 \
                -samplesize 8 -cpma

FAST ?= 0
ifeq ($(FAST), 1)
	Q3MAP_LIGHT = -light -fast
endif

MAPCAT       ?= mapcat
MAPCAT_FLAGS +=

PARTS := maps/p0_master.map \
         maps/p1_bases.map \
         maps/p2_clockroom.map \
         maps/p3_dretchpwner.map \
         maps/p4_thepress.map \
         maps/p5_euclid.map \
         maps/p6_engineering.map \
         maps/p7_uncommon.map
WHOLE := maps/analmango

MAP ?= analmango
.DEFAULT_GOAL := maps/$(MAP).bsp

-include Makefile.local

#
# Creating a .pk3 with all the assets
#

analmango.pk3: $(WHOLE).bsp
	zip -r9 $@ maps/analmango.bsp scripts sound textures models

#
# Testing a map
#
test: maps/$(MAP).bsp
	$(TREMULOUS) +devmap $(MAP)

#
# Assembling the complete .map from parts
#

$(WHOLE).map: $(PARTS)
	$(MAPCAT) $(MAPCAT_FLAGS) $^ -o $@

#
# Compiling .map files into .bsp files
#

maps/%.bsp: maps/%.map
	$(Q3MAP) $(Q3MAP_FLAGS) $(Q3MAP_BSP) $<
	$(Q3MAP) $(Q3MAP_FLAGS) $(Q3MAP_VIS) $<
	$(Q3MAP) $(Q3MAP_FLAGS) $(Q3MAP_LIGHT) $<

#
# Miscellaneous Make stuff
#

clean:
	rm -f *.pk3
	rm -f maps/*.bsp
	rm -f $(WHOLE).*

.PHONY: clean test