mirror of
https://github.com/bolkedebruin/rdpgw.git
synced 2025-08-23 16:50:49 +02:00
71 lines
1.8 KiB
Makefile
71 lines
1.8 KiB
Makefile
BINDIR := $(CURDIR)/bin
|
|
INSTALL_PATH ?= /usr/local/bin
|
|
BINNAME ?= rdpgw
|
|
|
|
# Rebuild the binary if any of these files change
|
|
SRC := $(shell find . -type f -name '*.go' -print) go.mod go.sum
|
|
|
|
# Required for globs to work correctly
|
|
SHELL = /usr/bin/env bash
|
|
|
|
GIT_COMMIT = $(shell git rev-parse HEAD)
|
|
GIT_SHA = $(shell git rev-parse --short HEAD)
|
|
GIT_TAG = $(shell git describe --tags --abbrev=0 --exact-match 2>/dev/null)
|
|
GIT_DIRTY = $(shell test -n "`git status --porcelain`" && echo "dirty" || echo "clean")
|
|
|
|
ifdef VERSION
|
|
BINARY_VERSION = $(VERSION)
|
|
endif
|
|
BINARY_VERSION ?= ${GIT_TAG}
|
|
|
|
VERSION_METADATA = unreleased
|
|
# Clear the "unreleased" string in BuildMetadata
|
|
ifneq ($(GIT_TAG),)
|
|
VERSION_METADATA =
|
|
endif
|
|
|
|
.PHONY: all
|
|
all: mod build
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# build
|
|
|
|
.PHONY: build
|
|
build: $(BINDIR)/$(BINNAME)
|
|
|
|
$(BINDIR)/$(BINNAME): $(SRC)
|
|
go build $(GOFLAGS) -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o '$(BINDIR)'/$(BINNAME) ./cmd/rdpgw
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# install
|
|
|
|
.PHONY: install
|
|
install: build
|
|
@install "$(BINDIR)/$(BINNAME)" "$(INSTALL_PATH)/$(BINNAME)"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# mod
|
|
|
|
.PHONY: mod
|
|
mod:
|
|
go mod tidy
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# test
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -cover -v ./...
|
|
# ------------------------------------------------------------------------------
|
|
# clean
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@rm -rf '$(BINDIR)' ./_dist
|
|
|
|
.PHONY: info
|
|
info:
|
|
@echo "Version: ${VERSION}"
|
|
@echo "Git Tag: ${GIT_TAG}"
|
|
@echo "Git Commit: ${GIT_COMMIT}"
|
|
@echo "Git Tree State: ${GIT_DIRTY}"
|