all: mu-space-demo

mu-space-demo: main.vala
	valac --pkg gtk+-3.0 main.vala -X -lm -o mu-space-demo

clean:
	rm -f mu-space-demo *.tar.gz
	rm -rf deb_build

install: all
	@echo "Installing mu-space-demo system-wide..."
	install -Dm755 mu-space-demo $(DESTDIR)/usr/bin/mu-space-demo
	install -Dm644 back.jpg $(DESTDIR)/usr/share/mu-space-demo/back.jpg
	install -Dm644 legal.txt $(DESTDIR)/usr/share/mu-space-demo/legal.txt
	install -Dm644 mu-space-demo.desktop $(DESTDIR)/usr/share/applications/mu-space-demo.desktop
	@echo "Installation complete!"

uninstall:
	@echo "Uninstalling mu-space-demo..."
	rm -f $(DESTDIR)/usr/bin/mu-space-demo
	rm -f $(DESTDIR)/usr/share/mu-space-demo/back.jpg
	rm -f $(DESTDIR)/usr/share/mu-space-demo/legal.txt
	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)/usr/share/mu-space-demo
	rm -f $(DESTDIR)/usr/share/applications/mu-space-demo.desktop
	@echo "Uninstallation complete!"

source:
	@echo "Creating source tarball..."
	mkdir -p mu-space-demo-1.0
	cp main.vala back.jpg legal.txt mu-space-demo.desktop Makefile mu-space-demo-1.0/
	tar -czf mu-space-demo-1.0.tar.gz mu-space-demo-1.0
	rm -rf mu-space-demo-1.0
	@echo "Source package ready: mu-space-demo-1.0.tar.gz"

deb: all
	@echo "Building Debian package..."
	rm -rf deb_build
	mkdir -p deb_build/DEBIAN
	mkdir -p deb_build/usr/bin
	mkdir -p deb_build/usr/share/applications
	mkdir -p deb_build/usr/share/mu-space-demo

	# Control file for Debian package
	echo "Package: mu-space-demo" > deb_build/DEBIAN/control
	echo "Version: 1.0-1" >> deb_build/DEBIAN/control
	echo "Section: graphics" >> deb_build/DEBIAN/control
	echo "Priority: optional" >> deb_build/DEBIAN/control
	echo "Architecture: amd64" >> deb_build/DEBIAN/control
	echo "Maintainer: Mark <mark@local>" >> deb_build/DEBIAN/control
	echo "Depends: libc6, libgtk-3-0" >> deb_build/DEBIAN/control
	echo "Description: Interactive desktop TIE fighter simulation with intense nebula and planet background" >> deb_build/DEBIAN/control

	# Copy binary, background asset, legal info, and desktop menu item
	cp mu-space-demo deb_build/usr/bin/mu-space-demo
	cp back.jpg deb_build/usr/share/mu-space-demo/back.jpg
	cp legal.txt deb_build/usr/share/mu-space-demo/legal.txt
	cp mu-space-demo.desktop deb_build/usr/share/applications/mu-space-demo.desktop

	# Build final .deb file
	dpkg-deb --build deb_build mu-space-demo_1.0-1_amd64.deb
	rm -rf deb_build
	@echo "Debian package created successfully: mu-space-demo_1.0-1_amd64.deb"

.PHONY: all clean install uninstall source deb