# Build all Ollie projects in sequence
#
# Usage:
#   mk            # build everything
#   mk core       # build only core
#   mk 9p         # build only 9p
#   mk httpgw     # build only httpgw
#   mk all        # build everything (default)

all:V: core 9p httpgw webui data scripts

core:V:
	echo === Building ollie-core ===
	cd core && mk

9p:V:
	echo === Building ollie-9p ===
	cd 9p && mk

httpgw:V:
	echo === Building ollie-httpgw ===
	cd httpgw && mk

webui:V:
	echo === Building ollie-webui ===
	cd webui && npm run build

data:V:
	echo === Installing data ===
	mkdir -p $HOME/.config/ollie/agents
	mkdir -p $HOME/.config/ollie/sandbox
	mkdir -p $HOME/.config/ollie/skills
	mkdir -p $HOME/.config/ollie/tools
	rm -rf $HOME/.config/ollie/prompts
	mkdir -p $HOME/.config/ollie/prompts
	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/_lib $HOME/.config/ollie/tools/_lib
	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/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/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

help:V:
	echo 'Ollie monorepo build targets:'
	echo '  all     - Build all projects and install data (default)'
	echo '  core    - Build core library'
	echo '  9p      - Build 9p filesystem server'
	echo '  httpgw  - Build HTTP gateway'
	echo '  webui   - Build web UI'
	echo '  data    - Install agents, prompts, skills, and tools to ~/.config/ollie/'
	echo '  scripts - Install shell scripts to ~/.config/ollie/scripts/'
	echo ''
	echo 'Submodules must be initialized first:'
	echo '  git submodule update --init --recursive'
