summaryrefslogtreecommitdiff
path: root/third_party/mcpc/Makefile
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-30 19:03:25 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-30 19:03:25 +0900
commit05c8e0a31a0d4192c590e833b24393208e1c751f (patch)
treef7c2c82c9327abde67bf3acf1d0258573b3bc6c2 /third_party/mcpc/Makefile
parent4bc721c3bf7589b519c5730d093f704ce56e3f09 (diff)
fix: MCPCをvendored fork化しMCP準拠と接続安定性を改善
- Git submoduleを廃止してMCPCを直接管理 - Windowsで254リクエスト付近に発生する切断を修正 - JSON-RPC 2.0エラー応答を標準化 - tool schemaとruntimeの必須・任意引数を一致 - 1000回連続呼び出しの回帰テストを追加
Diffstat (limited to 'third_party/mcpc/Makefile')
-rw-r--r--third_party/mcpc/Makefile51
1 files changed, 51 insertions, 0 deletions
diff --git a/third_party/mcpc/Makefile b/third_party/mcpc/Makefile
new file mode 100644
index 0000000..d01f119
--- /dev/null
+++ b/third_party/mcpc/Makefile
@@ -0,0 +1,51 @@
+include mk/step0.mk
+
+subdirs =
+subdirs += src
+subdirs2 =
+subdirs2 += tst
+
+default: link
+
+clean:
+ $(if $(is_sh),@for el in $(subdirs); do $(MAKE) -C $$el $@; done)
+ $(if $(is_sh),@for el in $(subdirs2); do $(MAKE) -C $$el $@; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) $@)
+ $(if $(is_cmd),@for %%e in ($(subdirs2)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) $@)
+
+link:
+ $(if $(is_sh),@for el in $(subdirs); do $(MAKE) -C $$el $@; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) $@)
+
+tstcomp: link
+ $(if $(is_sh),@for el in $(subdirs2); do $(MAKE) -C $$el comp; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs2)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) comp)
+
+tstlink: link
+ $(if $(is_sh),@for el in $(subdirs2); do $(MAKE) -C $$el link; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs2)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) link)
+
+utst: link
+ $(if $(is_sh),@for el in $(subdirs2); do $(MAKE) -C $$el $@; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs2)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) $@)
+
+itst: link
+ $(if $(is_sh),@for el in $(subdirs2); do $(MAKE) -C $$el $@; done)
+ $(if $(is_cmd),@for %%e in ($(subdirs2)) do $(MAKE) -C %%e -f $(firstword $(MAKEFILE_LIST)) $@)
+
+tst: utst itst
+
+PREFIX ?= /usr/local
+INC_DIR = $(PREFIX)/include
+LIB_DIR = $(PREFIX)/lib
+PC_DIR = $(LIB_DIR)/pkgconfig
+VER = $(shell cat src/ver.txt)
+
+install: tst
+ $(if $(is_sh), install -d $(INC_DIR)/mcpc $(LIB_DIR) $(PC_DIR) )
+ $(if $(is_sh), install -m 644 mcpc/* $(INC_DIR)/mcpc )
+ $(if $(is_sh), install -m 644 src/libmcpc.a $(LIB_DIR) )
+ $(if $(is_sh), install -m 755 src/libmcpc.so $(LIB_DIR)/libmcpc.so.$(VER) )
+ $(if $(is_sh), install -m 644 src/mcpc.pc $(PC_DIR) )
+ $(if $(is_sh), ln -sf $(LIB_DIR)/libmcpc.so.$(VER) $(LIB_DIR)/libmcpc.so )
+ $(if $(is_cmd), echo Automatic installation not supported on this platform )