ollie/mkfile

121 lines
4.7 KiB
Makefile
Executable File

# Ollie monorepo build system
#
# Two paths:
# mk (default) 9P frontend: core, 9p, acme, httpgw, webui + install
# mk dbus D-Bus frontend: core, dbus (ollied), kde/*, httpgw, webui + install
#
# Build and install are separate phases. No sudo. No building during install.
# === Default (9P) path ===
all:V: build-9p install
build-9p:V: core 9p acme httpgw webui
install:V: data scripts contrib
cp -f prompts/SYSTEM_PROMPT-9p.md $HOME/.config/ollie/prompts/SYSTEM_PROMPT.md
echo === Install complete \(9P\) ===
# === D-Bus path ===
dbus:V: build-dbus install-dbus
build-dbus:V: core dbus-bin kde httpgw webui
install-dbus:V: data scripts contrib
cp -f prompts/SYSTEM_PROMPT-dbus.md $HOME/.config/ollie/prompts/SYSTEM_PROMPT.md
echo === Install complete \(D-Bus\) ===
# === Individual build targets ===
core:V:
echo === Building ollie-core ===
cd core && mk
dbus-bin:V:
echo === Building ollie-dbus \(ollied\) ===
cd dbus && mk
9p:V:
echo === Building ollie-9p ===
cd 9p && mk
acme:V:
echo === Building ollie-acme ===
cd acme && mk
httpgw:V:
echo === Building ollie-httpgw ===
cd httpgw && mk
webui:V:
echo === Building ollie-webui ===
cd webui && npm run build
kde:V:
echo === Building kde tools ===
cd kde && mk
# === Install targets (no building!) ===
data:V:
echo === Installing data ===
mkdir -p $HOME/.config/ollie/agents
mkdir -p $HOME/.config/ollie/sandbox
mkdir -p $HOME/.config/ollie/prompts
mkdir -p $HOME/.config/ollie/skills
mkdir -p $HOME/.config/ollie/tools
cp -rf agents/* $HOME/.config/ollie/agents
cp -rf prompts/* $HOME/.config/ollie/prompts
cp -rf sandbox/* $HOME/.config/ollie/sandbox
cp -rf skills/* $HOME/.config/ollie/skills
cp -rf tools/* $HOME/.config/ollie/tools
cp doc/help.md $HOME/.config/ollie/help.md
scripts:V:
echo === Installing scripts ===
mkdir -p $HOME/.config/ollie/scripts/s $HOME/.config/ollie/scripts/u $HOME/.config/ollie/scripts/x
cp -f scripts/s/sh $HOME/.config/ollie/scripts/s/sh
cp -f scripts/s/ls $HOME/.config/ollie/scripts/s/ls
cp -f scripts/s/kill $HOME/.config/ollie/scripts/s/kill
cp -f scripts/s/b $HOME/.config/ollie/scripts/s/b
cp -f scripts/s/bfg $HOME/.config/ollie/scripts/s/bfg
cp -f scripts/s/bbg $HOME/.config/ollie/scripts/s/bbg
cp -f scripts/s/cleanup $HOME/.config/ollie/scripts/s/cleanup
cp -f scripts/u/optimize $HOME/.config/ollie/scripts/u/optimize
cp -f scripts/u/complete $HOME/.config/ollie/scripts/u/complete
cp -f scripts/u/cascade $HOME/.config/ollie/scripts/u/cascade
cp -f scripts/x/elevate $HOME/.config/ollie/scripts/x/elevate
cp -f scripts/x/elevate-adapter-superpowerd $HOME/.config/ollie/scripts/x/elevate-adapter-superpowerd
cp -f scripts/x/elevate-adapter-start $HOME/.config/ollie/scripts/x/elevate-adapter-start
cp -f scripts/x/bd $HOME/.config/ollie/scripts/x/bd
cp -f scripts/x/prime $HOME/.config/ollie/scripts/x/prime
cp -f scripts/x/freeloader $HOME/.config/ollie/scripts/x/freeloader
chmod 755 $HOME/.config/ollie/scripts/s/b $HOME/.config/ollie/scripts/s/bfg $HOME/.config/ollie/scripts/s/bbg $HOME/.config/ollie/scripts/s/cleanup $HOME/.config/ollie/scripts/u/optimize $HOME/.config/ollie/scripts/u/complete $HOME/.config/ollie/scripts/u/cascade $HOME/.config/ollie/scripts/x/elevate $HOME/.config/ollie/scripts/x/elevate-adapter-superpowerd $HOME/.config/ollie/scripts/x/elevate-adapter-start $HOME/.config/ollie/scripts/x/bd $HOME/.config/ollie/scripts/x/prime $HOME/.config/ollie/scripts/x/freeloader
contrib:V:
echo === Installing contrib scripts ===
cp -f contrib/ollie-remount $HOME/bin/ollie-remount
cp -f scripts/s/ollie-watchdog $HOME/bin/ollie-watchdog
chmod 755 $HOME/bin/ollie-remount $HOME/bin/ollie-watchdog
uninstall:V:
echo === Uninstalling ollie ===
rm -f $HOME/bin/olliesrv $HOME/bin/ollie-9p-mount
rm -f $HOME/bin/ollie-httpgw
rm -f $HOME/bin/Ollie $HOME/bin/Kmpl $HOME/bin/Oi
rm -f $HOME/bin/ollie-remount $HOME/bin/ollie-watchdog
rm -rf $HOME/.config/ollie
echo === Uninstall complete ===
help:V:
echo 'Ollie monorepo build targets:'
echo ' all - Build 9P path + install (default)'
echo ' dbus - Build D-Bus path + install'
echo ' build-9p - Build only (9P path): core, 9p, acme, httpgw, webui'
echo ' build-dbus - Build only (D-Bus path): core, ollied, kde, httpgw, webui'
echo ' install - Install data/scripts/contrib (9P prompt)'
echo ' install-dbus - Install data/scripts/contrib (D-Bus prompt)'
echo ' data - Install agents, prompts, skills, tools to ~/.config/ollie/'
echo ' scripts - Install shell scripts to ~/.config/ollie/scripts/'
echo ' contrib - Install contrib scripts to ~/bin/'
echo ' uninstall - Remove all installed files'
echo ''
echo 'Submodules must be initialized first:'
echo ' git submodule update --init --recursive'