-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
43 lines (33 loc) · 1.45 KB
/
Makefile
File metadata and controls
43 lines (33 loc) · 1.45 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
40
41
42
43
.PHONY: build test lint fmt vet clean install
EXT :=
ifeq ($(OS),Windows_NT)
EXT := .exe
endif
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
DATE ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
LDFLAGS = -X main.version=$(VERSION) -X main.commit=$(COMMIT) -X main.date=$(DATE)
build:
go build -ldflags "$(LDFLAGS)" -o wayback-dl$(EXT) ./cmd/wayback-dl
# Cross-compile all release targets into per-platform subdirs.
# Binary is always named wayback-dl (wayback-dl.exe on Windows).
build-all:
GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/linux_amd64/wayback-dl ./cmd/wayback-dl
GOOS=linux GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o dist/linux_arm64/wayback-dl ./cmd/wayback-dl
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "$(LDFLAGS)" -o dist/linux_armv7/wayback-dl ./cmd/wayback-dl
GOOS=darwin GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o dist/darwin_arm64/wayback-dl ./cmd/wayback-dl
GOOS=darwin GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/darwin_amd64/wayback-dl ./cmd/wayback-dl
GOOS=windows GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/windows_amd64/wayback-dl.exe ./cmd/wayback-dl
install:
go install -ldflags "$(LDFLAGS)" ./cmd/wayback-dl
test:
go test -race ./...
vet:
go vet ./...
fmt:
gofmt -w -s .
lint:
golangci-lint run
clean:
rm -f wayback-dl wayback-dl.exe
rm -rf dist/