blob: dfbfbf37a86b586adcf9e6383961e0adc7ea9994 (
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
|
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:
mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)/etc/linum/blocklist
cp $(OUTPUT) $(DESTDIR)$(BINDIR)/$(BINARY)
install-service:
mkdir -p $(DESTDIR)$(SYSTEMD_DIR)
cp 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:
CGO_ENABLED=0 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 ./...
|