# # Settings # Use Makefile.local for local settings # FS_BASEPATH ?= $(HOME)/tremulous FS_HOMEBASE ?= .tremulous TREMULOUS ?= tremulous Q3MAP_THREADS ?= 8 Q3MAP ?= q3map2 Q3MAP_FLAGS += -fs_basepath $(FS_BASEPATH) -fs_homebase $(FS_HOMEBASE) \ -fs_game base -threads $(Q3MAP_THREADS) FAST ?= 0 ifeq ($(FAST), 0) Q3MAP_BSP += -leaktest -meta -custinfoparms Q3MAP_VIS += -vis Q3MAP_LIGHT += -light -bounce 1 -dirty -bouncegrid -dirtscale 0.3 \ -dirtdepth 32 -fastbounce -patchshadows -samples 3 \ -samplesize 8 -cpma endif ifeq ($(FAST), 1) Q3MAP_BSP += -leaktest -meta -custinfoparms Q3MAP_VIS += -vis Q3MAP_LIGHT += -light -fast -patchshadows endif ifeq ($(FAST), 2) Q3MAP_BSP += -leaktest -meta -custinfoparms Q3MAP_VIS += -vis # Skip lighting entirely. 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 \ maps/p8_outside.map \ maps/p9_reactor.map \ maps/p10_nexus.map \ maps/p11_archive.map \ maps/p12_xen.map WHOLE := maps/analmango MAP ?= analmango .DEFAULT_GOAL := maps/$(MAP).bsp -include Makefile.local # # Creating a .pk3 with all the assets # PK3 ?= analmango.pk3 $(PK3): $(WHOLE).bsp cat pk3.list | (while read ent; do echo $$ent; done) | xargs zip -r9 $(PK3) # # 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) $< ifdef Q3MAP_VIS $(Q3MAP) $(Q3MAP_FLAGS) $(Q3MAP_VIS) $< endif ifdef Q3MAP_LIGHT $(Q3MAP) $(Q3MAP_FLAGS) $(Q3MAP_LIGHT) $< endif # # Miscellaneous Make stuff # clean: rm -f *.pk3 rm -f maps/*.bsp rm -f $(WHOLE).* .PHONY: clean test