
all: setup
	ninja -C build

setup: build/
	meson build

VER_RAW := $(shell git -C .. describe --tags --match 'release/gtk/*' --abbrev=0 2>/dev/null || true)
VER := $(patsubst release/gtk/%,%,$(VER_RAW))
TMP := $(shell mktemp -d)
RPM_SOURCE := $(TMP)/$(VER).tar.gz
.PHONY: check-version
check-version:
	@test -n "$(VER_RAW)" || { echo "Could not determine GTK release version from git tags." >&2; echo "Expected a tag reachable from HEAD matching release/gtk/<version>." >&2; exit 1; }
	@test "$(VER)" != "$(VER_RAW)" || { echo "Invalid GTK release tag: $(VER_RAW)" >&2; echo "Expected format: release/gtk/<version>." >&2; exit 1; }

rpm: check-version
	git -C .. archive --format=tar.gz --prefix=kordophone/ -o $(RPM_SOURCE) HEAD
	rpmbuild -ba dist/rpm/kordophone.spec --define "_sourcedir $(TMP)" --define "app_version $(VER)"

deb: check-version
	./dist/deb/build-deb.sh $(VER)

.PHONY: flatpak
flatpak:
	flatpak-builder --force-clean flatpak-build flatpak/net.buzzert.kordophone.yml

.PHONY: flatpak-install
flatpak-install:
	flatpak-builder --force-clean --user --install flatpak-build flatpak/net.buzzert.kordophone.yml
