# MCP Server Makefile # Copyright (C) 2026 Moko Consulting # SPDX-License-Identifier: GPL-3.0-or-later # ============================================================================== # CONFIGURATION # ============================================================================== PROJECT_NAME := dolibarr-api-mcp PROJECT_VERSION := 1.0.0 SRC_DIR := src DIST_DIR := dist DOCS_DIR := docs NPM := npm NODE := node # Colors for output COLOR_RESET := \033[0m COLOR_GREEN := \033[32m COLOR_YELLOW := \033[33m COLOR_BLUE := \033[34m COLOR_RED := \033[31m # ============================================================================== # TARGETS # ============================================================================== .PHONY: help help: ## Show this help message @echo "$(COLOR_BLUE)╔════════════════════════════════════════════════════════════╗$(COLOR_RESET)" @echo "$(COLOR_BLUE)║ dolibarr-api-mcp Makefile ║$(COLOR_RESET)" @echo "$(COLOR_BLUE)╚════════════════════════════════════════════════════════════╝$(COLOR_RESET)" @echo "" @echo "Project: $(PROJECT_NAME) v$(PROJECT_VERSION)" @echo "" @echo "$(COLOR_GREEN)Available targets:$(COLOR_RESET)" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(COLOR_BLUE)%-20s$(COLOR_RESET) %s\n", $$1, $$2}' @echo "" .PHONY: install-deps install-deps: ## Install dependencies @echo "$(COLOR_BLUE)Installing dependencies...$(COLOR_RESET)" @$(NPM) install @echo "$(COLOR_GREEN)✓ Dependencies installed$(COLOR_RESET)" .PHONY: build build: ## Build TypeScript @echo "$(COLOR_BLUE)Building...$(COLOR_RESET)" @$(NPM) run build @echo "$(COLOR_GREEN)✓ Build complete$(COLOR_RESET)" .PHONY: dev dev: ## Watch and rebuild on changes @$(NPM) run dev .PHONY: clean clean: ## Clean build artifacts @echo "$(COLOR_BLUE)Cleaning...$(COLOR_RESET)" @rm -rf $(DIST_DIR) @echo "$(COLOR_GREEN)✓ Cleaned$(COLOR_RESET)" .PHONY: setup setup: ## Run interactive setup wizard @$(NPM) run setup .PHONY: start start: ## Start the MCP server @$(NPM) run start .PHONY: lint lint: ## Run linter @$(NPM) run lint .PHONY: ci ci: install-deps build ## Run CI pipeline @echo "$(COLOR_GREEN)✓ CI pipeline complete$(COLOR_RESET)" .DEFAULT_GOAL := help