# Makefile for Parallax Vector Wallpaper

VALAC = valac
PKGS = --pkg gtk+-3.0
CFLAGS = -X -lm
TARGET = parallax-wallpaper
SRC = parallax_wallpaper.vala

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

VERSION = 1.0.0
TARNAME = $(TARGET)-$(VERSION)

all: $(TARGET)

$(TARGET): $(SRC)
	$(VALAC) $(SRC) $(PKGS) $(CFLAGS) -o $(TARGET)

clean:
	rm -f $(TARGET) *.c *.o

install: $(TARGET)
	install -d $(DESTDIR)$(BINDIR)
	install -m 755 $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
	install -d $(DESTDIR)$(SHAREDIR)
	install -m 644 parallax-wallpaper.desktop $(DESTDIR)$(SHAREDIR)/parallax-wallpaper.desktop

uninstall:
	rm -f $(DESTDIR)$(BINDIR)/$(TARGET)
	rm -f $(DESTDIR)$(SHAREDIR)/parallax-wallpaper.desktop

source:
	@echo "Creating source tarball..."
	mkdir -p $(TARNAME)
	cp $(SRC) Makefile README.md parallax-wallpaper.desktop $(TARNAME)/ 2>/dev/null || cp $(SRC) Makefile $(TARNAME)/
	tar -czf $(TARNAME).tar.gz $(TARNAME)
	rm -rf $(TARNAME)
	@echo "Source tarball created: $(TARNAME).tar.gz"

deb: $(TARGET)
	@echo "Building Debian package structure..."
	mkdir -p debian/usr/local/bin
	mkdir -p debian/usr/share/applications
	mkdir -p debian/DEBIAN
	
	cp $(TARGET) debian/usr/local/bin/
	if [ -f parallax-wallpaper.desktop ]; then cp parallax-wallpaper.desktop debian/usr/share/applications/; fi
	
	@echo "Package: $(TARGET)" > debian/DEBIAN/control
	@echo "Version: $(VERSION)" >> debian/DEBIAN/control
	@echo "Section: x11" >> debian/DEBIAN/control
	@echo "Priority: optional" >> debian/DEBIAN/control
	@echo "Architecture: amd64" >> debian/DEBIAN/control
	@echo "Maintainer: Mark <mark@localhost>" >> debian/DEBIAN/control
	@echo "Description: Lightweight procedural vector wallpaper in Vala/GTK3" >> debian/DEBIAN/control
	
	dpkg-deb --build debian $(TARGET)_$(VERSION)_amd64.deb
	rm -rf debian
	@echo "Debian package built: $(TARGET)_$(VERSION)_amd64.deb"

.PHONY: all clean install uninstall source deb