@@ -32,7 +32,11 @@ CONTROLLER_IMG ?= $(DOCKER_REGISTRY)/$(DOCKER_REPO)/$(CONTROLLER_IMAGE_NAME):$(C
3232
3333# Image URL to use all building/pushing image targets (backward compatibility)
3434IMG ?= $(CONTROLLER_IMG )
35+
36+ # # Location to install dependencies to
3537DIST_FOLDER ?= dist
38+ $(DIST_FOLDER ) :
39+ mkdir -p $(DIST_FOLDER )
3640
3741# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
3842ifeq (,$(shell go env GOBIN) )
@@ -181,8 +185,46 @@ build: manifests generate fmt vet ## Build manager binary.
181185
182186.PHONY : build-cli
183187build-cli : fmt vet # # Build kmcp CLI binary.
184- mkdir -p $(DIST_FOLDER )
185- go build -ldflags=$(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp cmd/kmcp/main.go
188+ CGO_ENABLED=0 go build -ldflags=$(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp cmd/kmcp/main.go
189+
190+
191+ $(DIST_FOLDER ) /kmcp-linux-amd64 :
192+ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp-linux-amd64 cmd/kmcp/main.go
193+
194+ $(DIST_FOLDER ) /kmcp-linux-amd64.sha256 : $(DIST_FOLDER ) /kmcp-linux-amd64
195+ sha256sum $(DIST_FOLDER ) /kmcp-linux-amd64 > $(DIST_FOLDER ) /kmcp-linux-amd64.sha256
196+
197+ $(DIST_FOLDER ) /kmcp-linux-arm64 :
198+ CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags $(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp-linux-arm64 cmd/kmcp/main.go
199+
200+ $(DIST_FOLDER ) /kmcp-linux-arm64.sha256 : $(DIST_FOLDER ) /kmcp-linux-arm64
201+ sha256sum $(DIST_FOLDER ) /kmcp-linux-arm64 > $(DIST_FOLDER ) /kmcp-linux-arm64.sha256
202+
203+ $(DIST_FOLDER ) /kmcp-darwin-amd64 :
204+ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags $(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp-darwin-amd64 cmd/kmcp/main.go
205+
206+ $(DIST_FOLDER ) /kmcp-darwin-amd64.sha256 : $(DIST_FOLDER ) /kmcp-darwin-amd64
207+ sha256sum $(DIST_FOLDER ) /kmcp-darwin-amd64 > $(DIST_FOLDER ) /kmcp-darwin-amd64.sha256
208+
209+ $(DIST_FOLDER ) /kmcp-darwin-arm64 :
210+ CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags $(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp-darwin-arm64 cmd/kmcp/main.go
211+
212+ $(DIST_FOLDER ) /kmcp-darwin-arm64.sha256 : $(DIST_FOLDER ) /kmcp-darwin-arm64
213+ sha256sum $(DIST_FOLDER ) /kmcp-darwin-arm64 > $(DIST_FOLDER ) /kmcp-darwin-arm64.sha256
214+
215+ $(DIST_FOLDER ) /kmcp-windows-amd64.exe :
216+ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags $(LDFLAGS ) -o $(DIST_FOLDER ) /kmcp-windows-amd64.exe cmd/kmcp/main.go
217+
218+ $(DIST_FOLDER ) /kmcp-windows-amd64.exe.sha256 : $(DIST_FOLDER ) /kmcp-windows-amd64.exe
219+ sha256sum $(DIST_FOLDER ) /kmcp-windows-amd64.exe > $(DIST_FOLDER ) /kmcp-windows-amd64.exe.sha256
220+
221+
222+ .PHONY : release-cli
223+ release-cli : $(DIST_FOLDER ) /kmcp-linux-amd64.sha256
224+ release-cli : $(DIST_FOLDER ) /kmcp-linux-arm64.sha256
225+ release-cli : $(DIST_FOLDER ) /kmcp-darwin-amd64.sha256
226+ release-cli : $(DIST_FOLDER ) /kmcp-darwin-arm64.sha256
227+ release-cli : $(DIST_FOLDER ) /kmcp-windows-amd64.exe.sha256
186228
187229.PHONY : run
188230run : manifests generate fmt vet # # Run a controller from your host.
0 commit comments