-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
132 lines (104 loc) · 3.28 KB
/
Copy pathMakefile
File metadata and controls
132 lines (104 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
PYTEST_FLAGS=-W error::SyntaxWarning
SPHINXOPTS = -W --keep-going
SPHINXBUILD = sphinx-build
SPHINXPROJ = launchdarkly-server-sdk
SOURCEDIR = docs
BUILDDIR = $(SOURCEDIR)/build
# Package paths
SERVER_AI_PKG = packages/sdk/server-ai
LANGCHAIN_PKG = packages/ai-providers/server-ai-langchain
OPENAI_PKG = packages/ai-providers/server-ai-openai
VERCEL_PKG = packages/ai-providers/server-ai-vercel
.PHONY: help
help: #! Show this help message
@echo 'Usage: make [target] ... '
@echo ''
@echo 'Targets:'
@grep -h -F '#!' $(MAKEFILE_LIST) | grep -v grep | sed 's/:.*#!/:/' | column -t -s":"
#
# Installation targets
#
.PHONY: install
install: #! Install all packages
$(MAKE) install-server-ai
$(MAKE) install-langchain
$(MAKE) install-openai
$(MAKE) install-vercel
.PHONY: install-server-ai
install-server-ai: #! Install server-ai package
$(MAKE) -C $(SERVER_AI_PKG) install
.PHONY: install-langchain
install-langchain: #! Install langchain provider package
$(MAKE) -C $(LANGCHAIN_PKG) install
.PHONY: install-openai
install-openai: #! Install openai provider package
$(MAKE) -C $(OPENAI_PKG) install
.PHONY: install-vercel
install-vercel: #! Install vercel provider package
$(MAKE) -C $(VERCEL_PKG) install
#
# Quality control checks
#
.PHONY: test
test: #! Run unit tests for all packages
$(MAKE) test-server-ai
$(MAKE) test-langchain
$(MAKE) test-openai
$(MAKE) test-vercel
.PHONY: test-server-ai
test-server-ai: #! Run unit tests for server-ai package
$(MAKE) -C $(SERVER_AI_PKG) test
.PHONY: test-langchain
test-langchain: #! Run unit tests for langchain provider package
$(MAKE) -C $(LANGCHAIN_PKG) test
.PHONY: test-openai
test-openai: #! Run unit tests for openai provider package
$(MAKE) -C $(OPENAI_PKG) test
.PHONY: test-vercel
test-vercel: #! Run unit tests for vercel provider package
$(MAKE) -C $(VERCEL_PKG) test
.PHONY: lint
lint: #! Run type analysis and linting checks for all packages
$(MAKE) lint-server-ai
$(MAKE) lint-langchain
$(MAKE) lint-openai
$(MAKE) lint-vercel
.PHONY: lint-server-ai
lint-server-ai: #! Run type analysis and linting checks for server-ai package
$(MAKE) -C $(SERVER_AI_PKG) lint
.PHONY: lint-langchain
lint-langchain: #! Run type analysis and linting checks for langchain provider package
$(MAKE) -C $(LANGCHAIN_PKG) lint
.PHONY: lint-openai
lint-openai: #! Run type analysis and linting checks for openai provider package
$(MAKE) -C $(OPENAI_PKG) lint
.PHONY: lint-vercel
lint-vercel: #! Run type analysis and linting checks for vercel provider package
$(MAKE) -C $(VERCEL_PKG) lint
#
# Build targets
#
.PHONY: build
build: #! Build all packages
$(MAKE) build-server-ai
$(MAKE) build-langchain
$(MAKE) build-openai
$(MAKE) build-vercel
.PHONY: build-server-ai
build-server-ai: #! Build server-ai package
$(MAKE) -C $(SERVER_AI_PKG) build
.PHONY: build-langchain
build-langchain: #! Build langchain provider package
$(MAKE) -C $(LANGCHAIN_PKG) build
.PHONY: build-openai
build-openai: #! Build openai provider package
$(MAKE) -C $(OPENAI_PKG) build
.PHONY: build-vercel
build-vercel: #! Build vercel provider package
$(MAKE) -C $(VERCEL_PKG) build
#
# Documentation generation
#
.PHONY: docs
docs: #! Generate sphinx-based documentation
$(MAKE) -C $(SERVER_AI_PKG) docs DOCS_DIR=../../../$(SOURCEDIR) DOCS_BUILD_DIR=../../../$(BUILDDIR)