#--*- Makefile -*--
#$Author: saulius $
#$Date: 2022-03-17 12:22:56 +0200 (Thu, 17 Mar 2022) $
#$Revision: 300 $
#$URL: svn+ssh://saulius-grazulis.lt/home/saulius/svn-repositories/makefiles/versions-release-in-filesystem/Makelocal-version-ada $
#------------------------------------------------------------------------

VFILE ?= .version

VERSION_JAVA_DIR ?= .

VERSION_JAVA ?= ${VERSION_JAVA_DIR}/Version.java

.PRECIOUS: ${VERSION_JAVA}

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.java: %/Version.java.in ${VFILE}
	sed 's,@VERSION@,${REPORTED_VERSION},' $< \
	| sed 's/@VCS_TEXT@/${VCS_MESSAGE}/' \
	> $@

.PHONY: cleanAll distclean

cleanAll distclean: clean-version-java

clean-version-java:
	rm -f ${VERSION_JAVA}
