45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
SHELL := /bin/bash
|
|
|
|
PREFIX ?= /usr/local
|
|
SBINDIR ?= $(PREFIX)/sbin
|
|
SYSCONFDIR ?= $(PREFIX)/etc
|
|
LOCALSTATEDIR ?= $(PREFIX)/var
|
|
RUNSTATEDIR ?= $(LOCALSTATEDIR)/run
|
|
GO ?= $(shell type -a -P go | head -n 1)
|
|
|
|
# Set version variable
|
|
ifeq ($(VERSION),)
|
|
COMMIT := $(shell git rev-parse --short HEAD)
|
|
TAG_COMMIT := $(shell git rev-list --abbrev-commit --tags --max-count=1)
|
|
TAG := $(shell git describe --abbrev=0 --tags ${TAG_COMMIT} 2>/dev/null || true)
|
|
VERSION := $(COMMIT)
|
|
ifeq ($(COMMIT), $(TAG_COMMIT))
|
|
VERSION := $(TAG)
|
|
endif
|
|
ifneq ($(shell git status --porcelain),)
|
|
VERSION := $(VERSION)-dirty
|
|
endif
|
|
endif
|
|
|
|
build:
|
|
mkdir -p build
|
|
cd cmd/enit; $(GO) build -ldflags "-w -X main.version=$(VERSION)" -o ../../build/enit enit
|
|
cd cmd/esvm; $(GO) build -ldflags "-w -X main.version=$(VERSION)" -o ../../build/esvm esvm
|
|
cd cmd/ectl; $(GO) build -ldflags "-w -X main.version=$(VERSION) -X main.sysconfdir=$(SYSCONFDIR) -X main.runstatedir=$(RUNSTATEDIR)" -o ../../build/ectl ectl
|
|
|
|
install: build/enit build/ectl
|
|
mkdir -p $(DESTDIR)$(SBINDIR)
|
|
mkdir -p $(DESTDIR)$(SYSCONFDIR)/esvm/services
|
|
cp build/enit $(DESTDIR)$(SBINDIR)/enit
|
|
cp build/esvm $(DESTDIR)$(SBINDIR)/esvm
|
|
cp build/ectl $(DESTDIR)$(SBINDIR)/ectl
|
|
|
|
install-services:
|
|
mkdir -p $(DESTDIR)$(SYSCONFDIR)/esvm/services
|
|
cp services/* -t $(DESTDIR)$(SYSCONFDIR)/esvm/services
|
|
|
|
clean:
|
|
rm -r build/
|
|
|
|
.PHONY: build
|