# OrionOS — top-level build
# Usage:
#   make          — build all components
#   make install  — install binaries + theme to /usr/local
#   make clean    — remove build artifacts
#   make iso      — build the bootable ISO (requires Arch Linux + archiso)

.PHONY: all wm deskbar launcher installer nebula clean install iso

all: wm deskbar launcher installer nebula

wm:
	$(MAKE) -C wm

deskbar:
	$(MAKE) -C deskbar

launcher:
	$(MAKE) -C launcher

installer:
	$(MAKE) -C installer

nebula:
	$(MAKE) -C nebula

clean:
	$(MAKE) -C wm        clean
	$(MAKE) -C deskbar   clean
	$(MAKE) -C launcher  clean
	$(MAKE) -C installer clean
	$(MAKE) -C nebula    clean

install: all
	# binaries
	install -Dm755 wm/orionwm              /usr/local/bin/orionwm
	install -Dm755 deskbar/oriondeskbar    /usr/local/bin/oriondeskbar
	install -Dm755 launcher/orionlauncher  /usr/local/bin/orionlauncher
	install -Dm755 themes/orionwallpaper   /usr/local/bin/orionwallpaper
	install -Dm755 nebula/nebula           /usr/local/bin/nebula
	# GTK theme
	mkdir -p /usr/share/themes
	cp -r themes/OrionOS /usr/share/themes/
	# picom config
	install -Dm644 themes/picom.conf /etc/orionos/picom.conf
	# wallpaper
	mkdir -p /usr/share/orionos/wallpapers
	bash themes/wallpapers/generate-default.sh || true
	cp -f themes/wallpapers/orionos-default.png /usr/share/orionos/wallpapers/ 2>/dev/null || true
	@echo ""
	@echo "OrionOS installed. Add this to ~/.xinitrc to start:"
	@echo ""
	@echo "  orionwallpaper"
	@echo "  picom --config /etc/orionos/picom.conf &"
	@echo "  oriondeskbar &"
	@echo "  exec orionwm"

iso:
	chmod +x build-iso.sh
	./build-iso.sh
