-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (30 loc) · 1.41 KB
/
Makefile
File metadata and controls
39 lines (30 loc) · 1.41 KB
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
BIN := gossipper
CMD := ./cmd/gossip
DIST := dist
VERSION ?= $(shell grep '^[[:space:]]*Version[[:space:]]*=' cmd/gossip/version.go | head -1 | cut -d'"' -f2)
BUILD_DATE := $(shell date +%Y-%m-%d)
BUILD_TIME := $(shell date +%H:%M:%S)
GIT_COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
GO_VERSION := $(shell go version | cut -d' ' -f3)
OS ?= $(shell go env GOOS)
ARCH ?= $(shell go env GOARCH)
LDFLAGS := -ldflags "-X main.Version=$(VERSION) -X main.BuildDate=$(BUILD_DATE) -X main.BuildTime=$(BUILD_TIME) -X main.GitCommit=$(GIT_COMMIT) -X main.GoVersion=$(GO_VERSION) -X main.BuildOS=$(OS) -X main.BuildArch=$(ARCH)"
.PHONY: build dynamic package package-deb package-rpm benchmark bench-transport clean
build:
mkdir -p $(DIST)
CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build $(LDFLAGS) -o $(DIST)/$(BIN) $(CMD)
dynamic:
mkdir -p $(DIST)
GOOS=$(OS) GOARCH=$(ARCH) go build $(LDFLAGS) -o $(DIST)/$(BIN) $(CMD)
package: package-deb package-rpm
package-deb:
VERSION="$(VERSION)" ARCH="$(ARCH)" scripts/build-package.sh deb
package-rpm:
VERSION="$(VERSION)" ARCH="$(ARCH)" scripts/build-package.sh rpm
benchmark:
scripts/benchmark-sipp-vs-gossipper.sh "$${BENCH_TARGET:-127.0.0.1:5060}" "$${BENCH_CALLS:-1000}" "$${BENCH_RATE:-50}" "$${BENCH_CONCURRENT:-100}"
# UDP SharedUDP / reuseport benches (see scripts/bench_transport.sh).
bench-transport:
bash scripts/bench_transport.sh
clean:
rm -rf $(DIST)