summaryrefslogtreecommitdiff
path: root/Makefile
blob: daaf3bfa1abeb84b8515f710ab89815af9c7baf8 (plain)
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
BINARY = linum

GO = go
MAIN = .
OUTPUT = build/$(BINARY)
LDFLAGS = -ldflags="-s -w -X main.version=$(VERSION)"

.PHONY: default build test lint fmt clean run install fuzz race \
	build-linux

default: test lint build

build:
	$(GO) build $(LDFLAGS) -o $(OUTPUT) $(MAIN)

test:
	$(GO) test -race -count=1 ./...

lint:
	$(GO) vet ./...

fmt:
	gofmt -w .

clean:
	rm -f $(OUTPUT)

run: build
	./$(OUTPUT)

install:
	$(GO) install $(LDFLAGS) $(MAIN)

fuzz:
	$(GO) test -fuzz=FuzzBuildResponse -fuzztime=30s ./internal/server/

build-linux:
	GOOS=linux GOARCH=amd64 $(GO) build $(LDFLAGS) -o build/$(BINARY)-linux-amd64 $(MAIN)

build-darwin:
	GOOS=darwin GOARCH=amd64 $(GO) build $(LDFLAGS) -o build/$(BINARY)-darwin-amd64 $(MAIN)

build-arm:
	GOOS=linux GOARCH=arm64 $(GO) build $(LDFLAGS) -o build/$(BINARY)-linux-arm64 $(MAIN)

race:
	$(GO) test -race -count=1 ./...