peregrine/Makefile
pyr0ball cbaa7e019e feat: add cross-platform dependency installer and Makefile for Linux/macOS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 19:47:06 -08:00

33 lines
1.1 KiB
Makefile

# Makefile — Peregrine convenience targets
# Usage: make <target>
.PHONY: setup start stop restart logs test clean
PROFILE ?= remote
setup: ## Install dependencies (Docker, NVIDIA toolkit)
@bash setup.sh
start: ## Start Peregrine (PROFILE=remote|cpu|single-gpu|dual-gpu)
docker compose --profile $(PROFILE) up -d
stop: ## Stop all Peregrine services
docker compose down
restart: ## Restart all services
docker compose down && docker compose --profile $(PROFILE) up -d
logs: ## Tail app logs
docker compose logs -f app
test: ## Run the test suite (requires conda env)
/devl/miniconda3/envs/job-seeker/bin/pytest tests/ -v
clean: ## Remove containers, images, and data volumes (DESTRUCTIVE)
@echo "WARNING: This will delete all Peregrine containers and data."
@read -p "Type 'yes' to confirm: " confirm && [ "$$confirm" = "yes" ]
docker compose down --rmi local --volumes
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'