Files
KNEL-AIMiddleware/Makefile
Charles N Wyble 3c2ee58ca1 chore: Add setup scripts and Makefile for project management
Scripts added:
- CloneVendorRepos.sh: Clones all 27 vendor MCP/LSP repositories
- BuildAll.sh: Builds all services from docker-compose.yml
- CleanVendor.sh: Removes all cloned vendor repositories
- StatusCheck.sh: Checks build status of all services

Makefile added:
- Provides convenient targets for common operations
- Integrates all shell scripts into make commands
- Targets: help, clone-vendors, build-all, clean-vendor, status, test, logs, ps, up, down

Note: vendor/ directory remains gitignored (per .gitignore). CloneVendorRepos.sh creates it automatically.
2026-01-21 19:39:10 -05:00

64 lines
1.9 KiB
Makefile

# Makefile for KNEL-AIMiddleware
# Common operations for building, managing, and deploying MCP/LSP services
.PHONY: help build-all clean-vendor clone-vendors status test
# Default target
help: ## Show this help message
@echo 'Usage: make [target]'
@echo ''
@echo 'Available targets:'
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
clone-vendors: ## Clone all vendor MCP/LSP repositories
@echo "Cloning all vendor repositories..."
@./CloneVendorRepos.sh
build-all: ## Build all MCP/LSP services
@echo "Building all services..."
@./BuildAll.sh
clean-vendor: ## Remove all cloned vendor repositories
@echo "Cleaning vendor directory..."
@./CleanVendor.sh
status: ## Check build status of all services
@echo "Checking service status..."
@./StatusCheck.sh
test: ## Run tests for all services (if available)
@echo "Running tests..."
@docker compose config --quiet && echo "✓ docker-compose.yml is valid"
logs: ## Show logs from all running services
@docker compose logs -f
ps: ## Show status of all services
@docker compose ps
up: ## Start all services in dev profile
@echo "Starting all services..."
@docker compose up -d --profile dev
down: ## Stop all services
@echo "Stopping all services..."
@docker compose down
rebuild: SERVICE? ## Rebuild a specific service (usage: make rebuild SERVICE=service-name)
@echo "Rebuilding $(SERVICE)..."
@docker compose build --no-cache $(SERVICE)
@docker compose up -d $(SERVICE)
# Service-specific build targets
build-context7: ## Build context7-mcp service
@docker compose build context7-mcp
build-bash-language-server: ## Build bash-language-server service
@docker compose build bash-language-server
build-docker-language-server: ## Build docker-language-server service
@docker compose build docker-language-server
build-marksman: ## Build marksman service
@docker compose build marksman