+GITDESC = $(subst tig-,,$(shell git describe))
+WTDIRTY = $(if $(shell git diff-index HEAD 2>/dev/null),-dirty)
+VERSION = $(GITDESC)$(WTDIRTY)
+else
+VERSION = $(shell test -f VERSION && cat VERSION || echo "unknown-version")
+endif
+ifdef DIST_VERSION
+VERSION = $(DIST_VERSION)
+endif
+
+# Split the version "TAG-OFFSET-gSHA1-DIRTY" into "TAG OFFSET"
+# and append 0 as a fallback offset for "exact" tagged versions.
+RPM_VERLIST = $(filter-out g% dirty,$(subst -, ,$(VERSION))) 0
+RPM_VERSION = $(word 1,$(RPM_VERLIST))
+RPM_RELEASE = $(word 2,$(RPM_VERLIST))$(if $(WTDIRTY),.dirty)
+
+LDLIBS ?= -lcurses
+CFLAGS ?= -Wall -O2
+DFLAGS = -g -DDEBUG -Werror
+PROGS = tig
+MANDOC = tig.1 tigrc.5
+HTMLDOC = tig.1.html tigrc.5.html manual.html README.html
+ALLDOC = $(MANDOC) $(HTMLDOC) manual.html-chunked manual.pdf
+
+# Never include the release number in the tarname for tagged
+# versions.
+ifneq ($(if $(DIST_VERSION),$(words $(RPM_VERLIST))),2)
+TARNAME = tig-$(RPM_VERSION)-$(RPM_RELEASE)
+else
+TARNAME = tig-$(RPM_VERSION)