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.
64 lines
1.9 KiB
Makefile
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
|