Files
OrionOS/Makefile
T
Claude 6b1d705d4f Add dual-path ISO build scripts (Arch + Debian) with README
- iso/build.sh: Debian/Ubuntu host builder using debootstrap + xorriso
  Bootstraps Debian bookworm, compiles OrionOS in chroot, produces
  bootable hybrid ISO with GRUB (BIOS + EFI), auto-login root on tty1
- iso/build-arch.sh: Arch Linux host builder using mkarchiso
  Compiles OrionOS, installs into archiso profile, runs mkarchiso
- iso/README.md: instructions for all three paths (Docker/Debian/Arch)
  including dd and Ventoy USB flashing
- Makefile: iso target auto-detects available tool (docker/debootstrap/mkarchiso)
2026-08-30 20:57:40 +00:00

120 lines
3.5 KiB
Makefile

# 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 orionpkg skykit rigel quill lens orionnotify orionlock orionshot orionclip clean install iso
all: wm deskbar launcher installer nebula orionpkg skykit rigel quill lens orionnotify orionlock orionshot orionclip
wm:
$(MAKE) -C wm
deskbar:
$(MAKE) -C deskbar
launcher:
$(MAKE) -C launcher
installer:
$(MAKE) -C installer
nebula:
$(MAKE) -C nebula
orionpkg:
$(MAKE) -C orionpkg
skykit:
$(MAKE) -C skykit
rigel:
$(MAKE) -C rigel
quill:
$(MAKE) -C quill
lens:
$(MAKE) -C lens
orionnotify:
$(MAKE) -C orionnotify
orionlock:
$(MAKE) -C orionlock
orionshot:
$(MAKE) -C orionshot
orionclip:
$(MAKE) -C orionclip
clean:
$(MAKE) -C wm clean
$(MAKE) -C deskbar clean
$(MAKE) -C launcher clean
$(MAKE) -C installer clean
$(MAKE) -C nebula clean
$(MAKE) -C orionpkg clean
$(MAKE) -C skykit clean
$(MAKE) -C rigel clean
$(MAKE) -C quill clean
$(MAKE) -C lens clean
$(MAKE) -C orionnotify clean
$(MAKE) -C orionlock clean
$(MAKE) -C orionshot clean
$(MAKE) -C orionclip 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
install -Dm755 orionpkg/orionpkg /usr/local/bin/orionpkg
install -Dm755 rigel/rigel /usr/local/bin/rigel
install -Dm755 quill/quill /usr/local/bin/quill
install -Dm755 lens/lens /usr/local/bin/lens
install -Dm755 orionnotify/orionnotify /usr/local/bin/orionnotify
install -Dm755 orionlock/orionlock /usr/local/bin/orionlock
install -Dm755 orionshot/orionshot /usr/local/bin/orionshot
install -Dm755 orionclip/orionclip /usr/local/bin/orionclip
# 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 " orionnotify &"
@echo " orionclip &"
@echo " exec orionwm"
iso:
@if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then \
echo "Building OrionOS ISO via Docker (Arch)..."; \
docker build -t orionos-iso-builder -f iso/docker/Dockerfile .; \
mkdir -p iso/output; \
docker run --rm --privileged -v "$$(pwd)/iso/output:/output" orionos-iso-builder; \
elif command -v debootstrap >/dev/null 2>&1; then \
echo "Building OrionOS ISO via debootstrap (Debian/Ubuntu)..."; \
sudo bash iso/build.sh; \
elif command -v mkarchiso >/dev/null 2>&1; then \
echo "Building OrionOS ISO via mkarchiso (Arch native)..."; \
sudo bash iso/build-arch.sh; \
else \
echo "No ISO build tool found. See iso/README.md for options."; \
exit 1; \
fi