@@ -36,12 +36,16 @@ PID := $(GOBUILD)/.$(PROJECTNAME).pid
3636# Make is verbose in Linux. Make it silent.
3737MAKEFLAGS += --silent
3838
39+ .PHONY : default
3940default : install lint format test build
4041
42+ .PHONY : install
4143install : go-get
4244
45+ .PHONY : format
4346format : go-format
4447
48+ .PHONY : lint
4549lint : go-lint
4650
4751.PHONY : build
@@ -56,84 +60,105 @@ build:
5660 bin/bert-$(GOHOSTOS ) -$(GOHOSTARCH ) completion bash > $(GOBUILD ) /completions/bert.bash
5761 bin/bert-$(GOHOSTOS ) -$(GOHOSTARCH ) completion fish > $(GOBUILD ) /completions/bert.fish
5862
59- # @cat $(STDERR) | sed -e '1s/.*/\nError:\n/' | sed 's/make\[.*/ /' | sed "/^/s/^/ /" 1>&2
63+ # @cat $(STDERR) | sed -e '1s/.*/\nError:\n/' | sed 's/make\[.*\] / /' | sed "/^/s/^/ /" 1>&2
6064
6165
66+ .PHONY : test
6267test : install go-test
6368
69+ .PHONY : clean
6470clean :
6571 @-rm $(GOBIN ) /$(PROGRAMNAME ) * 2> /dev/null
6672 @-$(MAKE ) go-clean
6773
74+ .PHONY : go-lint
6875go-lint :
6976 @echo " > Linting source files..."
7077 go vet $(MODFLAGS ) -c=10 ` go list $( MODFLAGS) ./...`
7178
79+ .PHONY : go-format
7280go-format :
7381 @echo " > Formating source files..."
7482 gofmt -s -w $(GOFILES )
7583
84+ .PHONY : go-build-current
7685go-build-current :
7786 @echo " > Building $( GOHOSTOS) /$( GOHOSTARCH) binaries..."
7887 @GOPATH=$(GOPATH ) GOOS=$(GOHOSTOS ) GOARCH=$(GOHOSTARCH ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) $(GOBASE ) /cmd
7988
89+ .PHONY : go-build
8090go-build : go-get go-build-linux-amd64 go-build-linux-arm64 go-build-linux-arm go-build-darwin-amd64 go-build-darwin-arm64 go-build-windows-amd64 go-build-windows-arm
8191
92+ .PHONY : go-test
8293go-test :
8394 @echo " > Running Go tests..."
8495 go test $(MODFLAGS ) -covermode=count ` go list $( MODFLAGS) ./...`
8596
97+ .PHONY : go-build-linux-amd64
8698go-build-linux-amd64 :
8799 @echo " > Building linux amd64 binaries..."
88100 @GOPATH=$(GOPATH ) GOOS=$(GOOS_LINUX ) GOARCH=$(GOARCH_AMD64 ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_LINUX ) -$(GOARCH_AMD64 ) $(GOBASE ) /cmd
89101
102+ .PHONY : go-build-linux-arm64
90103go-build-linux-arm64 :
91104 @echo " > Building linux arm64 binaries..."
92105 @GOPATH=$(GOPATH ) GOOS=$(GOOS_LINUX ) GOARCH=$(GOARCH_ARM64 ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_LINUX ) -$(GOARCH_ARM64 ) $(GOBASE ) /cmd
93106
107+ .PHONY : go-build-linux-arm
94108go-build-linux-arm :
95109 @echo " > Building linux arm binaries..."
96110 @GOPATH=$(GOPATH ) GOOS=$(GOOS_LINUX ) GOARCH=$(GOARCH_ARM ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_LINUX ) -$(GOARCH_ARM ) $(GOBASE ) /cmd
97111
112+ .PHONY : go-build-darwin-amd64
98113go-build-darwin-amd64 :
99114 @echo " > Building darwin amd64 binaries..."
100115 @GOPATH=$(GOPATH ) GOOS=$(GOOS_DARWIN ) GOARCH=$(GOARCH_AMD64 ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_DARWIN ) -$(GOARCH_AMD64 ) $(GOBASE ) /cmd
101116
117+ .PHONY : go-build-darwin-arm64
102118go-build-darwin-arm64 :
103119 @echo " > Building darwin arm64 binaries..."
104120 @GOPATH=$(GOPATH ) GOOS=$(GOOS_DARWIN ) GOARCH=$(GOARCH_ARM64 ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_DARWIN ) -$(GOARCH_ARM64 ) $(GOBASE ) /cmd
105121
122+ .PHONY : go-build-windows-amd64
106123go-build-windows-amd64 :
107124 @echo " > Building windows amd64 binaries..."
108125 @GOPATH=$(GOPATH ) GOOS=$(GOOS_WINDOWS ) GOARCH=$(GOARCH_AMD64 ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_WINDOWS ) -$(GOARCH_AMD64 ) .exe $(GOBASE ) /cmd
109126
127+ .PHONY : go-build-windows-arm
110128go-build-windows-arm :
111129 @echo " > Building windows arm binaries..."
112130 @GOPATH=$(GOPATH ) GOOS=$(GOOS_WINDOWS ) GOARCH=$(GOARCH_ARM ) GOBIN=$(GOBIN ) go build $(MODFLAGS ) $(LDFLAGS ) -o $(GOBIN ) /$(PROGRAMNAME ) -$(GOOS_WINDOWS ) -$(GOARCH_ARM ) .exe $(GOBASE ) /cmd
113131
132+ .PHONY : go-generate
114133go-generate :
115134 @echo " > Generating dependency files..."
116135 @GOPATH=$(GOPATH ) GOBIN=$(GOBIN ) go generate $(generate )
117136
137+ .PHONY : go-get
118138go-get :
119139 @echo " > Checking if there is any missing dependencies..."
120140 @GOPATH=$(GOPATH ) GOBIN=$(GOBIN ) go mod tidy
121141
142+ .PHONY : go-install
122143go-install :
123144 @GOPATH=$(GOPATH ) GOBIN=$(GOBIN ) go install $(GOFILES )
124145
146+ .PHONY : go-clean
125147go-clean :
126148 @echo " > Cleaning build cache"
127149 @GOPATH=$(GOPATH ) GOBIN=$(GOBIN ) go clean $(MODFLAGS ) $(GOBASE ) /cmd
128150 @GOPATH=$(GOPATH ) GOBIN=$(GOBIN ) go clean -modcache
129151
152+ .PHONY : run-sanity-tests
130153run-sanity-tests : build-docker run-linux-dockerized-tests
131154
155+ .PHONY : build-docker
132156build-docker :
133157 @echo " > Building docker image..."
134158 docker build -t sha1n/$(PROJECTNAME ) :latest .
135159 docker tag sha1n/$(PROJECTNAME ) :latest sha1n/$(PROJECTNAME ) :$(VERSION:v%=% )
136160
161+ .PHONY : run-linux-dockerized-tests
137162run-linux-dockerized-tests :
138163 @echo " > Running with experimental UI..."
139164 docker run --rm -ti sha1n/bert /bert/bin/bert-linux-amd64 -c /bert/test/data/spec_test_load.yaml
@@ -148,6 +173,7 @@ run-linux-dockerized-tests:
148173 @echo " > Running with ad-hoc commands..."
149174 docker run --rm -ti sha1n/bert /bert/bin/bert-linux-amd64 ' ls' ' ls -laH' --executions 10
150175
176+ .PHONY : release
151177release :
152178ifdef GITHUB_TOKEN
153179 @echo " > Releasing..."
@@ -156,11 +182,13 @@ else
156182 $(error GITHUB_TOKEN is not set)
157183endif
158184
159- .PHONY : help
185+ .PHONY : all
160186all : help
187+
188+ .PHONY : help
161189help : Makefile
162190 @echo
163191 @echo " Choose a command run in " $(PROJECTNAME ) " :"
164192 @echo
165193 @sed -n ' s/^##//p' $< | column -t -s ' :' | sed -e ' s/^/ /'
166- @echo
194+ @echo
0 commit comments