blob: bd66e11f8007d33256af2af2f411a80514df384c (
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
48
49
50
51
52
53
54
55
56
57
58
59
60
|
BINARY = linum
GO = go
MAIN = .
OUTPUT = build/$(BINARY)
LDFLAGS = -ldflags="-s -w -X main.version=$(VERSION)"
DESTDIR ?=
BINDIR ?= /usr/bin
SYSTEMD_DIR ?= /usr/lib/systemd/system
.PHONY: default build test lint fmt clean run install install-service install-config fuzz race \
build-linux build-darwin build-arm
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:
install -d $(DESTDIR)$(BINDIR)
install -m 0755 $(OUTPUT) $(DESTDIR)$(BINDIR)/$(BINARY)
install -d $(DESTDIR)/etc/linum/blocklist
install-service:
install -d $(DESTDIR)$(SYSTEMD_DIR)
install -m 0644 etc/linum.service $(DESTDIR)$(SYSTEMD_DIR)/linum.service
install-config:
install -d $(DESTDIR)/etc/linum
install -m 0644 linum.toml $(DESTDIR)/etc/linum/linum.toml
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 ./...
|