dist_noinst_HEADERS = attribute.h common.h extstate.h parseconf.h proto.h	\
    state.h str.h timehead.h upsconf.h nut_float.h nut_stdint.h nut_platform.h

# http://www.gnu.org/software/automake/manual/automake.html#Clean
BUILT_SOURCES = nut_version.h
CLEANFILES = nut_version.h
MAINTAINERCLEANFILES = Makefile.in .dirstamp

# magic to include Git version information in NUT version string
# (for builds not made from the tagged commit in a Git workspace)

nut_version.h: FORCE
	@GITREV="`git describe --tags 2>/dev/null | sed -e 's/^v\([0-9]\)/\1/' -e 's,^.*/,,'`" || GITREV=""; \
	 {  echo '/* Autogenerated file. Do not change. */' ; \
	    echo '/* This file was generated by "make". */' ; \
	    if [ -z "$$GITREV" ]; then \
	        NUT_VERSION="$(PACKAGE_VERSION)"; \
	        echo '/* The version number is set by AC_INIT in configure.ac. */'      ; \
	    else \
	        NUT_VERSION="$$GITREV"; \
	        echo '/* The version number is determined by Git source commit hash'    ; \
	        echo ' * and number of commits since the most recent Git tag (if not'   ; \
	        echo ' * building the newest tagged commit itself - then just the tag).'; \
	        echo ' */'  ; \
	    fi ; \
	    echo "#define NUT_VERSION_MACRO \"$$NUT_VERSION\"" ; \
	 } > "$@.tmp" ; \
	 echo "NUT_VERSION: \"$$NUT_VERSION\""
	-test -f "$@" || cp "$@.tmp" "$@"
	-cmp -s "$@.tmp" "$@" || cp "$@.tmp" "$@"
	-rm -f "$@.tmp"

FORCE:

# counter part of BUILT_SOURCES: since nut_version is not a direct
# deps of a local target, we must clean it by ourselves before the
# distribution
dist-hook:
	rm -f $(distdir)/nut_version.h
