main
1FUZZ_TIME ?= 1m
2
3export CGO_ENABLED := 1
4
5.PHONY: test
6test:
7 go test ./...
8
9.PHONY: bench
10bench:
11 go test -benchmem -run=^$$ -bench ^Benchmark ./...
12
13.PHONY: fuzz
14fuzz:
15 go test -tags gofuzz -fuzz=. -fuzztime=$(FUZZ_TIME) ./test/
16
17# Cross build project in arm/v7.
18build-arm:
19 docker build -t sha1cd-arm -f Dockerfile.arm .
20 docker run --rm sha1cd-arm
21
22# Cross build project in arm64.
23build-arm64:
24 docker build -t sha1cd-arm64 -f Dockerfile.arm64 .
25 docker run --rm sha1cd-arm64
26
27# Build with cgo disabled.
28build-nocgo:
29 CGO_ENABLED=0 go build ./cgo
30
31# Run cross-compilation to assure supported architectures.
32cross-build: build-arm build-arm64 build-nocgo
33
34generate:
35 go generate -x ./...
36
37verify: generate
38 git diff --exit-code
39 go vet ./...