GODOT?=godot3-server EXPORT_TEMPLATE_SOURCE?=https://downloads.tuxfamily.org/godotengine/3.0.2/Godot_v3.0.2-stable_export_templates.tpz BUILD_DIR?=build GODOT_PROJECT_PATH?=game PROJECT_NAME?=game GODOT_TEMPLATE_DIR?=~/.local/share/godot/templates GODOT_TEMPLATE_VERSION?=3.0.2.stable TARGET_HTML5?=HTML5 TARGET_WINDOWS?=Windows Desktop TARGET_MACOSX?=Mac OSX TARGET_LINUX?=Linux/X11 WGET_ARGS?=-q GODOT_GUT_SCRIPT?=addons/gut/gut_cmdln.gd GODOT_GUT_GDIR=res://tests/unit,res://tests/integration build-dir: mkdir -p "$(BUILD_DIR)" clean: rm -rf "$(BUILD_DIR)"/ export-all: export-html5 export-windows export-osx export-linux export-pack: build-dir $(GODOT) --path "$(GODOT_PROJECT_PATH)" --export_debug --export "pack" "../$(BUILD_DIR)/$(PROJECT_NAME).pck" export-html5: build-dir mkdir -p "$(BUILD_DIR)/html" $(GODOT) --path "$(GODOT_PROJECT_PATH)" --export_debug --export "$(TARGET_HTML5)" "../$(BUILD_DIR)/html/$(PROJECT_NAME).html" zip -j -r "$(BUILD_DIR)/$(PROJECT_NAME)-html5.zip" "$(BUILD_DIR)/html" rm -rf "$(BUILD_DIR)/html" export-windows: build-dir $(GODOT) --path "$(GODOT_PROJECT_PATH)" --export_debug --export "$(TARGET_WINDOWS)" $(PROJECT_NAME).exe mkdir -p "$(BUILD_DIR)/win/" mv -t "$(BUILD_DIR)/win/" $(GODOT_PROJECT_PATH)/$(PROJECT_NAME).exe* $(GODOT_PROJECT_PATH)/$(PROJECT_NAME).pck export-osx: build-dir $(GODOT) --path "$(GODOT_PROJECT_PATH)" --export_debug --export "$(TARGET_MACOSX)" $(PROJECT_NAME).osx mkdir -p "$(BUILD_DIR)/osx/" # Data is bundled into $(PROJECT_NAME).osx mv -t "$(BUILD_DIR)/osx/" $(GODOT_PROJECT_PATH)/$(PROJECT_NAME).osx* export-linux: build-dir $(GODOT) --path $(GODOT_PROJECT_PATH) --export_debug --export "$(TARGET_LINUX)" $(PROJECT_NAME)-x11 mkdir -p "$(BUILD_DIR)/x11/" mv -t "$(BUILD_DIR)/x11/" $(GODOT_PROJECT_PATH)/$(PROJECT_NAME)-x11* install-templates: mkdir -p $(GODOT_TEMPLATE_DIR) wget $(WGET_ARGS) $(EXPORT_TEMPLATE_SOURCE) -O templates.tpz unzip templates.tpz mv templates/ $(GODOT_TEMPLATE_DIR)/$(GODOT_TEMPLATE_VERSION) rm templates.tpz tests: $(GODOT) -d -s $(GODOT_GUT_SCRIPT) --path $(GODOT_PROJECT_PATH) -gdir=$(GODOT_GUT_GDIR) -gexit