VERSION = 1.0.4
PACKAGE_NAME = mu-wallpaper
VALA = valac
PKGS = --pkg gtk+-3.0 --pkg gdk-pixbuf-2.0 --pkg posix
VALAFLAGS = -X -Wno-incompatible-pointer-types -X -Wno-deprecated-declarations -X -Wno-discarded-qualifiers

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

all: mu-wallpaper mu-wallpaperset

mu-wallpaper: mu-wallpaper.vala
	$(VALA) $(PKGS) $(VALAFLAGS) mu-wallpaper.vala -o mu-wallpaper

mu-wallpaperset: mu-wallpaperset.vala
	$(VALA) $(PKGS) $(VALAFLAGS) mu-wallpaperset.vala -o mu-wallpaperset

clean:
	rm -f mu-wallpaper mu-wallpaperset *.c *.o
	rm -rf debian-build $(PACKAGE_NAME)-$(VERSION).tar.gz

install: all
	install -d $(DESTDIR)$(BINDIR)
	install -d $(DESTDIR)$(APPLICATIONSDIR)
	install -m 755 mu-wallpaper $(DESTDIR)$(BINDIR)/
	install -m 755 mu-wallpaperset $(DESTDIR)$(BINDIR)/
	install -m 755 mu-wallpaperset.sh $(DESTDIR)$(BINDIR)/
	install -m 644 mu-wallpaper.desktop $(DESTDIR)$(APPLICATIONSDIR)/

deb: all
	rm -rf debian-build
	install -d debian-build/DEBIAN
	install -d debian-build$(BINDIR)
	install -d debian-build$(APPLICATIONSDIR)
	
	install -m 755 mu-wallpaper debian-build$(BINDIR)/
	install -m 755 mu-wallpaperset debian-build$(BINDIR)/
	install -m 755 mu-wallpaperset.sh debian-build$(BINDIR)/
	install -m 644 mu-wallpaper.desktop debian-build$(APPLICATIONSDIR)/
	
	printf "Package: mu-wallpaper\n" > debian-build/DEBIAN/control
	printf "Version: $(VERSION)\n" >> debian-build/DEBIAN/control
	printf "Section: x11\n" >> debian-build/DEBIAN/control
	printf "Priority: optional\n" >> debian-build/DEBIAN/control
	printf "Architecture: amd64\n" >> debian-build/DEBIAN/control
	printf "Maintainer: User <user@local>\n" >> debian-build/DEBIAN/control
	printf "Depends: libgtk-3-0, libgdk-pixbuf-2.0-0\n" >> debian-build/DEBIAN/control
	printf "Description: Responsive GTK3 wallpaper manager for lightweight WMs\n" >> debian-build/DEBIAN/control
	
	dpkg-deb --build debian-build $(PACKAGE_NAME)_$(VERSION)_amd64.deb
	rm -rf debian-build
	@echo "Debian package successfully created: $(PACKAGE_NAME)_$(VERSION)_amd64.deb"

source:
	rm -rf $(PACKAGE_NAME)-$(VERSION)
	mkdir -p $(PACKAGE_NAME)-$(VERSION)
	cp mu-wallpaper.vala mu-wallpaperset.vala mu-wallpaperset.sh mu-wallpaper.desktop Makefile README.md $(PACKAGE_NAME)-$(VERSION)/
	tar -czf $(PACKAGE_NAME)-$(VERSION).tar.gz $(PACKAGE_NAME)-$(VERSION)
	rm -rf $(PACKAGE_NAME)-$(VERSION)
	@echo "Source archive successfully created: $(PACKAGE_NAME)-$(VERSION).tar.gz"

.PHONY: all clean install deb source