-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
68 lines (51 loc) · 2.08 KB
/
Makefile
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
VERSION=$(shell cat VERSION)
BUILD_DATE=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
GIT_HASH=$(shell git rev-parse HEAD)
BUILDS=linux.amd64 linux.386 linux.arm64 linux.mips64 windows.amd64.exe freebsd.amd64 darwin.amd64 darwin.arm64
BINARIES=$(addprefix bin/diceware-$(VERSION)., $(BUILDS))
LDFLAGS=-ldflags "-X main.Version=$(VERSION) -X main.BuildDate=$(BUILD_DATE) -X main.GitHash=$(GIT_HASH)"
bin/diceware: bin .
go build -v -o $@ .
releases: $(BINARIES)
bin/diceware-$(VERSION).linux.%: bin
env GOOS=linux GOARCH=$* CGO_ENABLED=0 go build $(LDFLAGS) -o $@ .
bin/diceware-$(VERSION).darwin.%: bin
env GOOS=darwin GOARCH=$* CGO_ENABLED=0 go build $(LDFLAGS) -o $@ .
bin/diceware-$(VERSION).windows.%.exe: bin
env GOOS=windows GOARCH=$* CGO_ENABLED=0 go build $(LDFLAGS) -o $@ .
bin/diceware-$(VERSION).freebsd.%: bin
env GOOS=freebsd GOARCH=$* CGO_ENABLED=0 go build $(LDFLAGS) -o $@ .
bin:
mkdir $@
######################################################
## dev related
compile-analysis: cmd/mtr-exporter
go build -gcflags '-m' ./$^
fmt:
-gofmt -s -d ./
code-quality: report-cyclo report-mispell report-lint report-ineffassign report-staticcheck
report-cyclo:
@echo '####################################################################'
gocyclo .
report-mispell:
@echo '####################################################################'
misspell ./...
report-lint:
@echo '####################################################################'
golint ./...
report-ineffassign:
@echo '####################################################################'
ineffassign ./...
report-vet:
@echo '####################################################################'
go vet ./...
report-staticcheck:
@echo '####################################################################'
staticcheck ./...
fetch-report-tools:
go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
go install github.com/client9/misspell/cmd/misspell@latest
go install github.com/gordonklaus/ineffassign@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
go install golang.org/x/lint/golint@latest
.PHONY: bin/diceware