diff --git a/Makefile b/Makefile index 980f2f6da..3349f033e 100644 --- a/Makefile +++ b/Makefile @@ -528,17 +528,10 @@ CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o # versioninfo.inc is used when packaging flashrom and is generated by the # export rule. If versioninfo.inc is not found, version info will be obtained -# using util/getrevision.sh or "unknown" if SCM metadata directory isn't found. +# using util/getrevision.sh. ifeq ($(wildcard versioninfo.inc),) -ifeq ($(wildcard .git),) -VERSION ?= unknown -MAN_DATE ?= unknown -else VERSION ?= $(shell ./util/getrevision.sh --local) -MAN_DATE ?= $(shell ./util/getrevision.sh -d $(PROGRAM).8.tmpl 2>/dev/null) -# This is also a convenient time to install hooks. -$(shell ./util/git-hooks/install.sh) -endif +MAN_DATE ?= $(shell ./util/getrevision.sh --date $(PROGRAM).8.tmpl 2>/dev/null) else include versioninfo.inc endif @@ -557,6 +550,9 @@ RELEASENAME ?= $(shell echo "$(VERSION)" | sed -e 's/ /_/') # Inform user of the version string $(info Replacing all version templates with $(VERSION).) +# If a VCS is found then try to install hooks. +$(shell ./util/getrevision.sh -c 2>/dev/null && ./util/git-hooks/install.sh) + ############################################################################### # Default settings of CONFIG_* variables. diff --git a/util/getrevision.sh b/util/getrevision.sh index e1580e5eb..0f9754625 100755 --- a/util/getrevision.sh +++ b/util/getrevision.sh @@ -131,13 +131,14 @@ timestamp() { # Retrieve local revision info. local_revision() { + local r if git_is_file_tracked "$1" ; then - local r=$(git describe $(git_last_commit "$1")) + r=$(git describe $(git_last_commit "$1")) if git_has_local_changes "$1" ; then r="$r-dirty" fi else - return ${EXIT_FAILURE} + r="unknown" fi echo "${r}"