Makefile 2.82 KB
Newer Older
dylan grafmyre's avatar
dylan grafmyre committed
1
#
dylan grafmyre's avatar
dylan grafmyre committed
2
GAME?=hl2.exe
dylan grafmyre's avatar
dylan grafmyre committed
3
4
5
6
7

PYTHON_BIN?=./env/scripts/python
GARYSMOD_DIR?=D:\\Steam\\steamapps\\common\\GarrysMod\\
VBIN_DIR?=$(GARYSMOD_DIR)bin\\
MOD_DIR?=$(GARYSMOD_DIR)garrysmod\\
dylan grafmyre's avatar
dylan grafmyre committed
8
MOUNT_DIR?=.\\
dylan grafmyre's avatar
dylan grafmyre committed
9
10
VBIN_FLAGS?=-game $(MOD_DIR)

dylan grafmyre's avatar
dylan grafmyre committed
11
SUPERVISE_V_BIN?=./contrib/supervise-v
dylan grafmyre's avatar
dylan grafmyre committed
12
BSP_BIN?=$(SUPERVISE_V_BIN) $(VBIN_DIR)vbsp.exe
dylan grafmyre's avatar
dylan grafmyre committed
13
BSP_FLAGS?=$(VBIN_FLAGS)
dylan grafmyre's avatar
dylan grafmyre committed
14
VIS_BIN?=$(SUPERVISE_V_BIN) $(VBIN_DIR)vvis.exe
dylan grafmyre's avatar
dylan grafmyre committed
15
VIS_FLAGS?=$(VBIN_FLAGS) -fast
dylan grafmyre's avatar
dylan grafmyre committed
16
RAD_BIN?=$(SUPERVISE_V_BIN) $(VBIN_DIR)vrad.exe
dylan grafmyre's avatar
dylan grafmyre committed
17
18
19
20
21
RAD_FLAGS?=$(VBIN_FLAGS) -StaticPropLighting -bounce 2 -noextra
# -StaticPropSampleScale 0.25 
BSPZIP_BIN?=$(VBIN_DIR)bspzip.exe
BSPZIP_FLAGS?=

dylan grafmyre's avatar
dylan grafmyre committed
22
# my take on compiling
dylan grafmyre's avatar
dylan grafmyre committed
23
24
25
	# vbsp: writes bsp
	# vvis: depends on .prt, r/w bsp
	# vrad: reads lights.rad, r/w bsp
dylan grafmyre's avatar
dylan grafmyre committed
26
27
28
29
%.bsp: %.vmf
	$(BSP_BIN) $(BSP_FLAGS) $(basename $^)
	$(VIS_BIN) $(VIS_FLAGS) $(basename $^)
	$(RAD_BIN) $(RAD_FLAGS) $(basename $^)
dylan grafmyre's avatar
dylan grafmyre committed
30
	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)
dylan grafmyre's avatar
dylan grafmyre committed
31
32
33
34
35
36
37
38
39
40
41

%.prt: %.bsp
	@test -f $@ || rm -f $(basename $@).bsp
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) $(basename $@).bsp
%.log: %.bsp
	@test -f $@ || rm -f $(basename $@).bsp
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) $(basename $@).bsp

%_p.bsp: %.bsp
	$(BSPZIP_BIN) $(BSPZIP_FLAGS) -addlist $^ $(basename $^).bspzip-addlist $@

dylan grafmyre's avatar
dylan grafmyre committed
42
all: ttt_terrorcon_v2.bsp ttt_terrorcon_v2.lint ttt_terrorcon_v2.game
dylan grafmyre's avatar
snap    
dylan grafmyre committed
43

dylan grafmyre's avatar
dylan grafmyre committed
44
45
46
47
48
49
%.game: %.bsp
	ifeq ($(GAME),0)
		echo user disabled run game via GAME=0
	else
		$(GARYSMOD_DIR)$(GAME) -allowdebug $(VBIN_FLAGS) +map $(notdir $(basename $^)) +gamemode terrortown +ttt_debug_preventwin 1 +ttt_preptime_seconds 10 +ttt_minimum_players 1
	endif
dylan grafmyre's avatar
dylan grafmyre committed
50

dylan grafmyre's avatar
dylan grafmyre committed
51
install: ttt_terrorcon_v2_hdr_final_p.bsp
dylan grafmyre's avatar
dylan grafmyre committed
52
53
54
	cp -v $^ $(MOD_DIR)maps\\

%.lint: %.bspzip-addlist
dylan grafmyre's avatar
dylan grafmyre committed
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
81
82
83
84
85
86
87
88
89
	$(PYTHON_BIN) ./contrib/bspzip-lint $^ 2>&1 | tee $@ 


# hammer default flags
%_default.bsp: %.vmf
	# default
	$(BSP_BIN) $(VBIN_FLAGS) $(basename $^)
	$(VIS_BIN) $(VBIN_FLAGS) $(basename $^)
	$(RAD_BIN) $(VBIN_FLAGS) $(basename $^)
	mv $(@:_default.bsp=.bsp) $@
	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)

%_fast.bsp: %.vmf
	# fast
	$(BSP_BIN) $(VBIN_FLAGS) $(basename $^)
	$(VIS_BIN) -fast $(VBIN_FLAGS) $(basename $^)
	$(RAD_BIN) -bounce 2 -noextra $(VBIN_FLAGS) $(basename $^) 
	mv  $(@:_fast.bsp=.bsp) $@
	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)

%_hdr.bsp: %.vmf
	# hdr
	$(BSP_BIN) $(VBIN_FLAGS) $(basename $^)
	$(VIS_BIN) $(VBIN_FLAGS) $(basename $^)
	$(RAD_BIN) -both $(VBIN_FLAGS) $(basename $^)
	mv $(@:_hdr.bsp=.bsp) $@
	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)

%_hdr_final.bsp: %.vmf
	# hdr-final
	$(BSP_BIN) $(VBIN_FLAGS) $(basename $^)
	$(VIS_BIN) $(VBIN_FLAGS) $(basename $^)
	$(RAD_BIN) -both -final $(VBIN_FLAGS) $(basename $^)
	mv $(@:_hdr_final.bsp=.bsp) $@
	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)
dylan grafmyre's avatar
dylan grafmyre committed
90

dylan grafmyre's avatar
dylan grafmyre committed
91
92
93
94
95
96
97
# only ents works on an existing bsp,
# which are not typically left "in place" for this operation
#%_ents.bsp: %.vmf
#	# only-ents
#	$(BSP_BIN) -onlyents $(VBIN_FLAGS) $(basename $^)
#	mv $(@:_ents.bsp=.bsp) $@
#	cp $@ $(MOUNT_DIR)maps\\$(notdir $@)