Files
love-demo/Makefile
2026-02-28 11:58:11 +01:00

80 lines
2.1 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -----------------------------------------
# Makefile Love2D project builder
# -----------------------------------------
PROJECT = love2ddemo
BIN_DIR = bin
DIST_DIR = dist
LOVE_NAME = $(PROJECT).love
OUTPUT_LOVE = $(DIST_DIR)/$(LOVE_NAME)
OUTPUT_ZIP = $(PROJECT)-$(VERSION).love.zip
VERSION_FILE = .version
all: build
build:
@mkdir -p $(BIN_DIR)
@echo "==> Checking Love2D syntax"
luac -p *.lua 2>/dev/null || true
love:
@mkdir -p $(DIST_DIR)
@echo "==> Building .love package"
zip -r $(OUTPUT_LOVE) . \
--exclude "*.git*" \
--exclude "$(BIN_DIR)/*" \
--exclude "$(DIST_DIR)/*" \
--exclude "Makefile" \
--exclude ".version" \
--exclude "metadata.json" \
--exclude "*.zip"
export: love
@if [ -z "$(VERSION)" ]; then \
echo "ERROR: VERSION not set!"; exit 1; \
fi
@echo "==> Packaging Love2D for $(VERSION)"
zip -r $(OUTPUT_ZIP) $(OUTPUT_LOVE)
@echo "==> Cleaning temporary files"
rm -f $(OUTPUT_LOVE)
watch:
fswatch -o . --include="\.lua$$" | while read; do make build; done
clean:
rm -rf $(BIN_DIR) $(DIST_DIR)
ci-version:
@if [ -f metadata.json ]; then \
VERSION=$$(jq -r '.version' metadata.json); \
else \
VERSION=$$(git rev-parse --short HEAD); \
fi; \
BRANCH=$$(git rev-parse --abbrev-ref HEAD); \
if [ "$$BRANCH" != "main" ] && [ "$$BRANCH" != "master" ]; then \
VERSION="dev-$$VERSION-$$BRANCH"; \
fi; \
echo $$VERSION > $(VERSION_FILE)
ci-export:
@VERSION=$$(cat $(VERSION_FILE)); \
$(MAKE) export VERSION=$$VERSION
ci-upload:
@VERSION=$$(cat $(VERSION_FILE)); \
FILE="$(PROJECT)-$$VERSION.love.zip"; \
META_SRC="metadata.json"; \
META_DST="$(PROJECT)-$$VERSION.metadata.json"; \
cp $$META_SRC $$META_DST; \
sshpass -p "$(DROPAREA_SSH_PASSWORD)" scp -o StrictHostKeyChecking=no -P $(DROPAREA_PORT) \
$$FILE $$META_DST \
$(DROPAREA_USER)@$(DROPAREA_HOST):$(DROPAREA_TARGET_PATH)/
ci-update:
@VERSION=$$(cat $(VERSION_FILE)); \
curl "$(UPDATE_SERVER)/update?secret=$(UPDATE_SECRET)&name=$(PROJECT)&platform=love2d&version=$$VERSION"
.PHONY: all build love export watch clean ci-version ci-export ci-upload ci-update