Makefile
raw ยท 816 bytes
include build.env
-include build.env.work
export
OUT_DIR := out
BIN_DIR := bin
VERSION ?= dev
GIT_REV := $(shell git rev-parse HEAD)
BUILDINFO_FILE := internal/buildinfo/buildinfo_gen.go
all: test build
.buildinfo:
@mkdir -p $(dir $(BUILDINFO_FILE))
@printf '%s\n' \
'package buildinfo' \
'' \
'const (' \
' Version = "$(VERSION)"' \
' GitRevision = "$(GIT_REV)"' \
' Timestamp = "'$$(TZ=UTC date +%Y%m%d.%H%M%S)'"' \
')' \
> $(BUILDINFO_FILE)
build: .buildinfo
mkdir -p "$(OUT_DIR)" "$(BIN_DIR)"
go build -o "$(BIN_DIR)/flatgit" ./cmd/flatgit
test:
go test ./...
fmt:
gofmt -w ./cmd ./internal
run: build
$(BIN_DIR)/flatgit daemon -c examples/tinyproxy.json
vet:
go vet ./...
clean:
rm -f "$(BIN_DIR)/flatgit"
rm -rf dist
.PHONY: all build test fmt vet clean run