60 lines
2.1 KiB
Makefile
60 lines
2.1 KiB
Makefile
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
|
|
|