2019-05-09 10:36:35 -07:00
|
|
|
BINPATH := $(abspath ./bin)
|
2019-02-24 14:19:55 -08:00
|
|
|
|
2019-11-13 19:12:33 -08:00
|
|
|
.PHONY: all
|
2021-12-31 14:26:34 +02:00
|
|
|
all: build test
|
2019-11-13 19:12:33 -08:00
|
|
|
|
|
|
|
#
|
|
|
|
# Build Podsync CLI binary
|
2023-05-05 15:24:36 -07:00
|
|
|
# Example:
|
|
|
|
# $ GOOS=amd64 make build
|
2019-11-13 19:12:33 -08:00
|
|
|
#
|
2023-05-05 15:24:36 -07:00
|
|
|
|
|
|
|
GOARCH ?= $(shell go env GOARCH)
|
|
|
|
GOOS ?= $(shell go env GOOS)
|
|
|
|
|
2023-05-05 15:47:54 -07:00
|
|
|
TAG ?= $(shell git tag --points-at HEAD)
|
|
|
|
COMMIT ?= $(shell git rev-parse --short HEAD)
|
2023-05-05 15:24:36 -07:00
|
|
|
DATE := $(shell date)
|
|
|
|
|
2023-05-05 15:47:54 -07:00
|
|
|
LDFLAGS := "-X 'main.version=${TAG}' -X 'main.commit=${COMMIT}' -X 'main.date=${DATE}' -X 'main.arch=${GOARCH}'"
|
2023-05-05 15:24:36 -07:00
|
|
|
|
2019-11-13 19:12:33 -08:00
|
|
|
.PHONY: build
|
|
|
|
build:
|
2023-05-05 15:24:36 -07:00
|
|
|
go build -ldflags ${LDFLAGS} -o bin/podsync ./cmd/podsync
|
2019-11-13 19:12:33 -08:00
|
|
|
|
|
|
|
#
|
2023-05-05 15:24:36 -07:00
|
|
|
# Build a local Docker image
|
|
|
|
# Example:
|
|
|
|
# $ make docker
|
|
|
|
# $ docker run -it --rm localhost/podsync:latest
|
2019-11-13 19:12:33 -08:00
|
|
|
#
|
2023-05-05 15:24:36 -07:00
|
|
|
IMAGE_TAG ?= localhost/podsync
|
2019-11-13 19:12:33 -08:00
|
|
|
.PHONY: docker
|
|
|
|
docker:
|
2023-05-05 15:24:36 -07:00
|
|
|
docker buildx build -t $(IMAGE_TAG) .
|
2019-11-13 19:12:33 -08:00
|
|
|
|
|
|
|
#
|
|
|
|
# Run unit tests
|
|
|
|
#
|
2019-02-24 14:19:55 -08:00
|
|
|
.PHONY: test
|
|
|
|
test:
|
2019-11-23 13:25:23 -08:00
|
|
|
go test -v ./...
|
2020-01-26 17:20:21 -08:00
|
|
|
|
|
|
|
#
|
|
|
|
# Clean
|
|
|
|
#
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
|
|
- rm -rf $(BINPATH)
|