150 lines
5.5 KiB
Makefile
150 lines
5.5 KiB
Makefile
# Ollie monorepo build system
|
|
#
|
|
# Two paths:
|
|
# make (default) 9P frontend: core, 9p, acme, httpgw, webui + install
|
|
# make dbus D-Bus frontend: core, dbus (ollied), kde/*, httpgw, webui + install
|
|
#
|
|
# Build and install are separate phases. No sudo. No building during install.
|
|
|
|
.PHONY: all dbus build-9p build-dbus install install-dbus uninstall \
|
|
core 9p acme httpgw webui kde data scripts contrib help clean
|
|
|
|
# === Default (9P) path ===
|
|
all: build-9p install
|
|
|
|
build-9p: core 9p acme httpgw webui
|
|
|
|
install: 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: build-dbus install-dbus
|
|
|
|
build-dbus: core dbus-bin kde httpgw webui
|
|
|
|
install-dbus: 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:
|
|
@echo === Building ollie-core ===
|
|
$(MAKE) -C core
|
|
|
|
dbus-bin:
|
|
@echo === Building ollie-dbus (ollied) ===
|
|
$(MAKE) -C dbus
|
|
|
|
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
|
|
|
|
kde:
|
|
@echo === Building kde tools ===
|
|
$(MAKE) -C kde
|
|
|
|
# === Install targets (no building!) ===
|
|
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
|
|
|
|
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
|
|
|
|
uninstall:
|
|
@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
|
|
$(MAKE) -C dbus uninstall 2>/dev/null || true
|
|
$(MAKE) -C kde uninstall 2>/dev/null || true
|
|
@echo === Uninstall complete ===
|
|
|
|
clean:
|
|
$(MAKE) -C core clean 2>/dev/null || true
|
|
$(MAKE) -C 9p clean 2>/dev/null || true
|
|
$(MAKE) -C dbus clean 2>/dev/null || true
|
|
$(MAKE) -C acme clean 2>/dev/null || true
|
|
$(MAKE) -C httpgw clean 2>/dev/null || true
|
|
$(MAKE) -C kde clean 2>/dev/null || true
|
|
|
|
help:
|
|
@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 ' clean - Clean all build artifacts'
|
|
@echo ''
|
|
@echo 'Submodules must be initialized first:'
|
|
@echo ' git submodule update --init --recursive'
|