#---*- Makefile -*-------------------------------------------------------
#$Author: saulius $
#$Date: 2022-06-27 10:51:25 +0000 (Mon, 27 Jun 2022) $
#$Revision: 324 $
#$URL: svn+ssh://saulius-grazulis.lt/home/saulius/svn-repositories/makefiles/versions-release-in-filesystem/Makelocal-version-pm $
#------------------------------------------------------------------------

VFILE ?= .version

VERSION_PM_DIR ?= .

VERSION_PM ?= ${VERSION_PM_DIR}/Version.pm

.PRECIOUS: ${VERSION_PM}

ifeq ("${REPORTED_VERSION}","")
REPORTED_VERSION := $(shell grep -v "^\#" ${VFILE} | awk '{print $$0}' | sed 's/\$$//g; s/  */ /g')
endif

ifeq ("${VCS_MESSAGE}","")
VCS_VERSION := $(shell svnversion)
VCS_MESSAGE := SVN revision ${VCS_VERSION}
endif

ifeq (${VCS_VERSION},Unversioned directory)
    VCS_VERSION := $(shell git log --format='%h' -1 2>/dev/null)
    ifeq (${VCS_VERSION},)
        VCS_MESSAGE :=
    else
        VCS_MESSAGE := GIT commit ${VCS_VERSION}
    endif
endif

%/Version.pm: %/Version.pm.in ${VFILE}
	sed 's,@VERSION@,${REPORTED_VERSION},' $< \
	| sed 's/@VCS_TEXT@/${VCS_MESSAGE}/' \
	> $@

.PHONY: cleanAll distclean

cleanAll distclean: clean-version-pm

clean-version-pm:
	rm -f ${VERSION_PM}
