From 67b613a1056c1e757aa9ca6cdb325947f1056642 Mon Sep 17 00:00:00 2001 From: Chris Boffa Date: Fri, 9 Jan 2026 11:30:19 -0500 Subject: [PATCH] feat(ci): allow make commands to be run on a single project --- Makefile | 10 +++++++++- README.md | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5d7d5d51..f0d7dbf5 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,12 @@ -SUBDIRS := $(filter-out src/dbtools-mcp-server src/mysql-mcp-server src/oci-pricing-mcp-server src/oracle-db-doc-mcp-server,$(wildcard src/*)) +SOURCE_FOLDER := src +# These directories will be excluded from common cmds like build, install, test etc +EXCLUDED_PROJECTS := dbtools-mcp-server mysql-mcp-server oci-pricing-mcp-server oracle-db-doc-mcp-server +EXCLUDED_PROJECT_PATHS = $(addprefix $(SOURCE_FOLDER)/, $(EXCLUDED_PROJECTS)) +# This matches all paths by default. If you want to run a command on a specific package you can specify the `project` variable +project ?= * +# These are the directories that will be built +DIRS := $(wildcard $(SOURCE_FOLDER)/$(project)) +SUBDIRS := $(filter-out $(EXCLUDED_PROJECT_PATHS), $(DIRS)) .PHONY: test format diff --git a/README.md b/README.md index f72f92df..a3837cd3 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,8 @@ This section will help you set up your environment to prepare it for local devel make build make install ``` +**Note**: If you want to run commands in a single server project, you can add the `project` variable to only run commands for that specific project +For example: `make project=oci-compute-mcp-server build` will only build the compute mcp server 3. Add desired servers to your MCP client configuration, but run them using the locally installed server package instead