39 lines
1.6 KiB
Makefile
39 lines
1.6 KiB
Makefile
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
|