🔨 Detect if Git repo exists in Makefile

This commit is contained in:
makeworld 2020-09-02 13:51:48 -04:00
parent d9c6c92d98
commit 811868f06b

View File

@ -1,12 +1,16 @@
ifeq ($(shell git tag --points-at HEAD),)
# Not currently on a tag
VERSION := $(shell git describe --tags | sed 's/-.*/-next/') # v1.2.3-next
else
# On a tag
VERSION := $(shell git tag --points-at HEAD)
endif
GIT_EXISTS := $(shell git status > /dev/null 2>&1 ; echo $$?)
COMMIT := $(shell git rev-parse --verify HEAD)
ifeq ($(GIT_EXISTS), 0)
ifeq ($(shell git tag --points-at HEAD),)
# Not currently on a tag
VERSION := $(shell git describe --tags | sed 's/-.*/-next/') # v1.2.3-next
else
# On a tag
VERSION := $(shell git tag --points-at HEAD)
endif
COMMIT := $(shell git rev-parse --verify HEAD)
endif
INSTALL := install -o root -g root
INSTALL_DIR := /usr/local/bin
@ -17,6 +21,10 @@ DESKTOP_DIR := /usr/share/applications
all: build
build:
ifneq ($(GIT_EXISTS), 0)
# No Git repo
$(error No Git repo was found, which is needed to compile the commit and version)
endif
@echo "Downloading dependencies"
@go env -w GO111MODULE=on ; go mod download
@echo "Building binary"