# Makefile
VALAC = valac
PACKAGES = --pkg gtk+-3.0 --pkg cairo --pkg pangocairo
TARGET = tech-hud
DESKTOP = $(TARGET).desktop
VALA_SOURCES = tech_hud.vala
VERSION = 1.0.2
PREFIX ?= /usr/local
DESTDIR ?=

all: $(TARGET) $(DESKTOP)

$(TARGET): $(VALA_SOURCES)
	$(VALAC) $(PACKAGES) $(VALA_SOURCES) -o $(TARGET) -X -lm -X -Wno-incompatible-pointer-types

$(DESKTOP): Makefile
	printf '%s\n' '[Desktop Entry]' 'Name=Tech HUD' 'Comment=System telemetry HUD' 'Exec=$(TARGET)' 'Terminal=false' 'Type=Application' 'Categories=Utility;' > $@

clean:
	rm -f $(TARGET) $(DESKTOP)
	rm -rf deb-build *.deb *.tar.gz tech-hud-$(VERSION)

install: $(TARGET) $(DESKTOP)
	install -Dm755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
	install -Dm644 $(DESKTOP) $(DESTDIR)$(PREFIX)/share/applications/$(DESKTOP)

source: $(DESKTOP)
	mkdir -p tech-hud-$(VERSION)
	cp $(VALA_SOURCES) Makefile README.md $(DESKTOP) tech-hud-$(VERSION)/
	tar -czf $(TARGET)_$(VERSION).orig.tar.gz tech-hud-$(VERSION)
	rm -rf tech-hud-$(VERSION)
	@echo "Source tarball created: $(TARGET)_$(VERSION).orig.tar.gz"

deb: all
	mkdir -p deb-build/DEBIAN
	mkdir -p deb-build$(PREFIX)/bin
	mkdir -p deb-build$(PREFIX)/share/applications
	cp $(TARGET) deb-build$(PREFIX)/bin/
	cp $(DESKTOP) deb-build$(PREFIX)/share/applications/
	
	@echo "Package: $(TARGET)" > deb-build/DEBIAN/control
	@echo "Version: $(VERSION)-1" >> deb-build/DEBIAN/control
	@echo "Section: x11" >> deb-build/DEBIAN/control
	@echo "Priority: optional" >> deb-build/DEBIAN/control
	@echo "Architecture: amd64" >> deb-build/DEBIAN/control
	@echo "Maintainer: Local Dev <dev@local>" >> deb-build/DEBIAN/control
	@echo "Description: Futuristic Vala/GTK3 technical spherical HUD window concept" >> deb-build/DEBIAN/control
	
	dpkg-deb --build deb-build $(TARGET)_$(VERSION)-1_amd64.deb
	rm -rf deb-build