summaryrefslogtreecommitdiff
path: root/third_party/mcpc/src/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/src/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/src/Makefile')
-rw-r--r--third_party/mcpc/src/Makefile94
1 files changed, 94 insertions, 0 deletions
diff --git a/third_party/mcpc/src/Makefile b/third_party/mcpc/src/Makefile
new file mode 100644
index 0000000..b9c5c4c
--- /dev/null
+++ b/third_party/mcpc/src/Makefile
@@ -0,0 +1,94 @@
+include ../mk/step0.mk
+
+ifneq (,$(is_linux))
+ include ../mk/ccdefs-linux.mk
+endif
+ifneq (,$(is_cygwin))
+ include ../mk/ccdefs-cygwin.mk
+endif
+ifneq (,$(is_mingw))
+ include ../mk/ccdefs-mingw.mk
+endif
+ifneq (,$(is_macos))
+ include ../mk/ccdefs-macos.mk
+endif
+ifneq (,$(is_win))
+ include ../mk/ccdefs-win.mk
+endif
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+include ../mk/dbgrel.mk
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+default: link
+
+clean:
+ $(if $(is_cmd) , del *.pdb *.ilk *.o *.out *.a *.so *.dSYM *.obj *.exe *.lib *.dll *.exp )
+ $(if $(is_sh) , rm -rf *.pdb *.ilk *.o *.out *.a *.so *.dSYM *.obj *.exe *.lib *.dll *.exp )
+
+comp: libmcpc_COMP
+
+link: libmcpc_LINKS
+link: libmcpc_LINKD
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# libmcpc
+
+libmcpc_srcs =
+libmcpc_srcs += alloc.c
+libmcpc_srcs += log.c
+libmcpc_srcs += errcode.c
+libmcpc_srcs += anydata.c
+libmcpc_srcs += tool.c
+libmcpc_srcs += rsc.c
+libmcpc_srcs += prmpt.c
+libmcpc_srcs += server.c
+libmcpc_srcs += retbuf.c
+libmcpc_srcs += ucbr.c
+libmcpc_srcs += complt.c
+libmcpc_srcs += serlz.c
+libmcpc_srcs += mjson.c
+
+libmcpc_objs =
+ifneq (,$(is_gcclike))
+ libmcpc_objs = $(patsubst %.c,%.o,$(libmcpc_srcs))
+endif
+ifneq (,$(is_cllike))
+ libmcpc_objs = $(patsubst %.c,%.obj,$(libmcpc_srcs))
+endif
+
+libmcpc_cflags =
+ifeq (,$(is_win))
+ libmcpc_cflags += -fPIC
+endif
+libmcpc_clcflags =
+
+libmcpc_ldflags =
+ifneq (,$(is_unixar))
+ libmcpc_ldflags += ../src/libmcpc.a
+endif
+ifneq (,$(is_winlib))
+ libmcpc_ldflags += ws2_32.lib
+endif
+ifneq (,$(is_winld))
+ libmcpc_ldflags += -lws2_32
+endif
+
+libmcpc_arflags =
+libmcpc_arflags += rcs
+
+libmcpc_COMP:
+ $(if $(is_gcclike) , $(CC) $(CFLAGS) $(libmcpc_cflags) $(libmcpc_srcs) -c )
+ $(if $(is_cllike) , $(CC) $(CFLAGS) $(libmcpc_clcflags) $(libmcpc_srcs) /c )
+
+libmcpc_LINKS: libmcpc_COMP
+ $(if $(is_gcclike) , $(AR) $(libmcpc_arflags) libmcpc.a $(libmcpc_objs) )
+ $(if $(is_cllike) , lib /nologo $(libmcpc_objs) /out:mcpc.lib $(libmcpc_ldflags) )
+
+libmcpc_LINKD: libmcpc_COMP
+ $(if $(is_gcclike) , $(CC) $(LDFLAGS) -o libmcpc.so $(libmcpc_objs) -shared $(libmcpc_ldflags) )
+ $(if $(is_cllike) , cl /nologo $(libmcpc_objs) /link /dll /out:mcpc.dll $(LDFLAGS) $(libmcpc_ldflags) )
+
+