36 lines
1.1 KiB
Makefile
36 lines
1.1 KiB
Makefile
.PHONY: build run clean test build-all
|
|
|
|
BINARY_NAME=logpile
|
|
VERSION=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
|
COMMIT=$(shell git rev-parse --short HEAD 2>/dev/null || echo "none")
|
|
LDFLAGS=-ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT)"
|
|
|
|
build:
|
|
CGO_ENABLED=0 go build $(LDFLAGS) -o bin/$(BINARY_NAME) ./cmd/logpile
|
|
|
|
run: build
|
|
./bin/$(BINARY_NAME)
|
|
|
|
clean:
|
|
rm -rf bin/
|
|
|
|
test:
|
|
go test -v ./...
|
|
|
|
# Cross-platform builds
|
|
build-all: clean
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o bin/$(BINARY_NAME)-linux-amd64 ./cmd/logpile
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o bin/$(BINARY_NAME)-linux-arm64 ./cmd/logpile
|
|
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o bin/$(BINARY_NAME)-darwin-amd64 ./cmd/logpile
|
|
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o bin/$(BINARY_NAME)-darwin-arm64 ./cmd/logpile
|
|
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o bin/$(BINARY_NAME)-windows-amd64.exe ./cmd/logpile
|
|
|
|
dev:
|
|
go run ./cmd/logpile
|
|
|
|
fmt:
|
|
go fmt ./...
|
|
|
|
lint:
|
|
golangci-lint run
|