Files
backer/Makefile
2026-04-18 10:44:26 +03:00

56 lines
1.1 KiB
Makefile

#!/usr/bin/env gmake -f
.PHONY: all build clean test upgrade help
BINARY=backer
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
LDFLAGS=-ldflags="-s -w -X main.version=$(VERSION)"
BUILDOPTS=-a -gcflags=all=-l -trimpath -buildvcs=false
# Binary name with .exe for Windows
ifdef GOOS
ifeq ($(GOOS),windows)
BINARY=backer.exe
endif
else ifeq ($(OS),Windows_NT)
BINARY=backer.exe
endif
all: clean build
build:
CGO_ENABLED=0 go build $(BUILDOPTS) $(LDFLAGS) -o $(BINARY) ./cmd/backer
clean:
rm -f $(BINARY)
rm -rf test_data/tmp
rm -rf test_data/test1
upgrade:
go get -u ./...
go mod tidy
go mod vendor
test: clean
go test ./...
help:
@echo "Backer build system"
@echo ""
@echo "Usage: make [target]"
@echo ""
@echo "Targets:"
@echo " build Build the binary"
@echo " clean Remove built binary"
@echo " test Run all tests"
@echo " upgrade Update dependencies"
@echo " help Show this help message"
@echo ""
@echo "Variables:"
@echo " VERSION Set version (default: git describe)"
@echo ""
@echo "Example:"
@echo " make build"
# vim: set ft=make noet ai ts=4 sw=4 sts=4: