ollie/Makefile

112 lines
4.2 KiB
Makefile

# Build all Ollie projects in sequence
#
# Usage:
# make # build everything
# make core # build only core
# make 9p # build only 9p
# make httpgw # build only httpgw
# make all # build everything (default)
.PHONY: all core dbus 9p acme httpgw webui data scripts contrib help
all: core dbus 9p acme httpgw webui data scripts contrib
core:
@echo === Building ollie-core ===
$(MAKE) -C core
dbus:
@echo === Building ollie-dbus ===
$(MAKE) -C dbus
@# Install D-Bus system prompt as the active SYSTEM_PROMPT.md
cp -f prompts/SYSTEM_PROMPT-dbus.md $(HOME)/.config/ollie/prompts/SYSTEM_PROMPT.md
9p:
@echo === Building ollie-9p ===
$(MAKE) -C 9p
acme:
@echo === Building ollie-acme ===
$(MAKE) -C acme
httpgw:
@echo === Building ollie-httpgw ===
$(MAKE) -C httpgw
webui:
@echo === Building ollie-webui ===
cd webui && npm run build
data:
@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 -rf tools/cascade $(HOME)/.config/ollie/tools/cascade
cp doc/help.md $(HOME)/.config/ollie/help.md
@# Default: install 9P system prompt as the active SYSTEM_PROMPT.md
cp -f prompts/SYSTEM_PROMPT-9p.md $(HOME)/.config/ollie/prompts/SYSTEM_PROMPT.md
scripts:
@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:
@echo === Installing contrib scripts ===
cp -f contrib/ollie-remount $(HOME)/bin/ollie-remount
chmod 755 $(HOME)/bin/ollie-remount
help:
@echo 'Ollie monorepo build targets:'
@echo ' all - Build all projects and install data (default)'
@echo ' core - Build core library'
@echo ' dbus - Build D-Bus daemon (ollied)'
@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 ' contrib - Install contrib scripts to ~/bin/'
@echo ''
@echo 'Submodules must be initialized first:'
@echo ' git submodule update --init --recursive'