VERSION = 1.0
PACKAGE = mu-waves
PREFIX ?= /usr/local

all: $(PACKAGE)

$(PACKAGE): $(PACKAGE).vala
	valac --pkg gtk+-3.0 --pkg cairo $(PACKAGE).vala -X -lm -o $(PACKAGE)

clean:
	rm -f $(PACKAGE)
	rm -rf dist/ debian-build/ *.tar.gz *.deb

install: $(PACKAGE)
	install -d $(DESTDIR)$(PREFIX)/bin
	install -m 755 $(PACKAGE) $(DESTDIR)$(PREFIX)/bin/

uninstall:
	rm -f $(DESTDIR)$(PREFIX)/bin/$(PACKAGE)

# Create a source tarball distribution
dist source:
	mkdir -p dist/$(PACKAGE)-$(VERSION)
	cp $(PACKAGE).vala Makefile README.md dist/$(PACKAGE)-$(VERSION)/
	cd dist && tar -czf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
	mv dist/$(PACKAGE)-$(VERSION).tar.gz .
	rm -rf dist/
	@echo "Source package created: $(PACKAGE)-$(VERSION).tar.gz"

# Build a local installable .deb package
deb: $(PACKAGE)
	rm -rf debian-build
	mkdir -p debian-build/usr/bin
	mkdir -p debian-build/DEBIAN
	install -m 755 $(PACKAGE) debian-build/usr/bin/
	
	@echo "Package: $(PACKAGE)" > debian-build/DEBIAN/control
	@echo "Version: $(VERSION)" >> debian-build/DEBIAN/control
	@echo "Section: x11" >> debian-build/DEBIAN/control
	@echo "Priority: optional" >> debian-build/DEBIAN/control
	@echo "Architecture: amd64" >> debian-build/DEBIAN/control
	@echo "Maintainer: mu-waves user <local@debian>" >> debian-build/DEBIAN/control
	@echo "Depends: libgtk-3-0, libcairo2" >> debian-build/DEBIAN/control
	@echo "Description: E16-inspired liquid ripple desktop background effect" >> debian-build/DEBIAN/control
	
	dpkg-deb --build debian-build $(PACKAGE)_$(VERSION)_amd64.deb
	rm -rf debian-build
	@echo "Debian package created: $(PACKAGE)_$(VERSION)_amd64.deb"