1
+ MKFILE_PATH =$(abspath $(lastword $(MAKEFILE_LIST ) ) )
2
+ BUILD_PATH =$(patsubst % /,% ,$(dir $(MKFILE_PATH ) ) ) /build/working_dir
3
+
1
4
help : # # Display this help.
2
- @awk ' BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s \033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST )
5
+ @awk ' BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-18s \033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST )
3
6
4
7
build : fmt vet # # Build dtm & plugins locally.
5
8
go mod tidy
@@ -9,10 +12,45 @@ build: fmt vet ## Build dtm & plugins locally.
9
12
go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/argocdapp_0.0.1.so ./cmd/argocdapp/
10
13
go build -trimpath -gcflags=" all=-N -l" -o dtm ./cmd/devstream/
11
14
12
- build-core : fmt vet # # Build dtm core only, locally.
15
+ build-core-only : fmt vet # # Build dtm core only, without plugins , locally.
13
16
go mod tidy
14
17
go build -trimpath -gcflags=" all=-N -l" -o dtm ./cmd/devstream/
15
18
19
+ clean :
20
+ rm -rf .devstream
21
+ rm -f dtm*
22
+ rm -rf build/working_dir
23
+
24
+ build-release : build-darwin-arm64 build-darwin-amd64 build-linux-amd64 # # Build for all platforms for release.
25
+
26
+ build-darwin-arm64 : # # Build for darwin/arm64 for release.
27
+ go mod tidy
28
+ mkdir -p .devstream
29
+ CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/githubactions-darwin-arm64_0.0.1.so ./cmd/githubactions/
30
+ CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/argocd-darwin-arm64_0.0.1.so ./cmd/argocd/
31
+ CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/argocdapp-darwin-arm64_0.0.1.so ./cmd/argocdapp/
32
+ CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -gcflags=" all=-N -l" -o dtm-darwin-arm64 ./cmd/devstream/
33
+
34
+ build-darwin-amd64 : # # Cross-platform build for darwin/amd64.
35
+ go mod tidy
36
+ mkdir -p .devstream
37
+ CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/githubactions-darwin-amd64_0.0.1.so ./cmd/githubactions/
38
+ CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/argocd-darwin-amd64_0.0.1.so ./cmd/argocd/
39
+ CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -buildmode=plugin -trimpath -gcflags=" all=-N -l" -o .devstream/argocdapp-darwin-amd64_0.0.1.so ./cmd/argocdapp/
40
+ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -trimpath -gcflags=" all=-N -l" -o dtm-darwin-amd64 ./cmd/devstream/
41
+
42
+ build-linux-amd64 : # # Cross-platform build for linux/amd64
43
+ echo " Building in ${BUILD_PATH} "
44
+ mkdir -p .devstream
45
+ rm -rf ${BUILD_PATH} && mkdir ${BUILD_PATH}
46
+ docker buildx build --platform linux/amd64 --load -t mericodev/stream-builder:v0.0.1 -f build/package/Dockerfile .
47
+ cp -r go.mod go.sum cmd internal build/package/build_linux_amd64.sh ${BUILD_PATH} /
48
+ chmod +x ${BUILD_PATH} /build_linux_amd64.sh
49
+ docker run --rm --platform linux/amd64 -v ${BUILD_PATH} :/devstream mericodev/stream-builder:v0.0.1
50
+ mv ${BUILD_PATH} /output/* .so .devstream/
51
+ mv ${BUILD_PATH} /output/dtm* .
52
+ rm -rf ${BUILD_PATH}
53
+
16
54
fmt : # # Run 'go fmt' & goimports against code.
17
55
go install golang.org/x/tools/cmd/goimports@latest
18
56
goimports -local=" github.com/merico-dev/stream" -d -w cmd
0 commit comments