PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
DATADIR ?= $(PREFIX)/share
DESKTOPDIR ?= $(DATADIR)/applications

PACKAGE_NAME = mu-compton-tool
VERSION = 1.0.0
VALAC = valac
PACKAGES = --pkg gtk+-3.0 --pkg gee-0.8
TARBALL = mu-compton-tool-$(VERSION).tar.gz

SRC = src/mu-compton-tool.vala

all: $(PACKAGE_NAME)

$(PACKAGE_NAME): $(SRC)
	$(VALAC) $(PACKAGES) -o $(PACKAGE_NAME) $(SRC)

install: all
	install -d $(DESTDIR)$(BINDIR)
	install -m 755 $(PACKAGE_NAME) $(DESTDIR)$(BINDIR)/$(PACKAGE_NAME)
	install -d $(DESTDIR)$(DESKTOPDIR)
	install -m 644 mu-compton-tool.desktop $(DESTDIR)$(DESKTOPDIR)/mu-compton-tool.desktop

clean:
	rm -f $(PACKAGE_NAME)

deb:
	# Build simple Debian package structure
	rm -rf build_deb
	mkdir -p build_deb/DEBIAN build_deb$(BINDIR) build_deb$(DESKTOPDIR)
	cp mu-compton-tool build_deb$(BINDIR)/
	cp mu-compton-tool.desktop build_deb$(DESKTOPDIR)/
	echo "Package: mu-compton-tool" > build_deb/DEBIAN/control
	echo "Version: $(VERSION)" >> build_deb/DEBIAN/control
	echo "Section: utils" >> build_deb/DEBIAN/control
	echo "Priority: optional" >> build_deb/DEBIAN/control
	echo "Architecture: amd64" >> build_deb/DEBIAN/control
	echo "Maintainer: User <user@example.com>" >> build_deb/DEBIAN/control
	echo "Depends: libgtk-3-0, libgee-0.8-2, x11-utils" >> build_deb/DEBIAN/control
	echo "Description: Configuration tool for Compton/Picom exclusion rules" >> build_deb/DEBIAN/control
	dpkg-deb --build build_deb $(PACKAGE_NAME)_$(VERSION)_amd64.deb
	rm -rf build_deb

source:
	tar -czf $(TARBALL) --transform 's,^,mu-compton-tool-$(VERSION)/,' src/ Makefile README.md mu-compton-tool.desktop

.PHONY: all install clean deb source