-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
111 lines (87 loc) · 2.7 KB
/
Makefile
File metadata and controls
111 lines (87 loc) · 2.7 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
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
.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
.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
#
# Quality control checks
#
.PHONY: test
test: #! Run unit tests for all packages
$(MAKE) test-server-ai
$(MAKE) test-langchain
$(MAKE) test-openai
.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: lint
lint: #! Run type analysis and linting checks for all packages
$(MAKE) lint-server-ai
$(MAKE) lint-langchain
$(MAKE) lint-openai
.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
#
# Build targets
#
.PHONY: build
build: #! Build all packages
$(MAKE) build-server-ai
$(MAKE) build-langchain
$(MAKE) build-openai
.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
#
# Documentation generation
#
.PHONY: docs
docs: #! Generate sphinx-based documentation
$(MAKE) -C $(SERVER_AI_PKG) docs DOCS_DIR=../../../$(SOURCEDIR) DOCS_BUILD_DIR=../../../$(BUILDDIR)