# Taken from Cairo - build/Makefile.am.changelog # Modified to fit the Clutter build environment CURR_CHANGELOG_VERSION=$(CLUTTER_MAJOR_VERSION).$$(echo "($(CLUTTER_MINOR_VERSION)+1)/2*2" | bc) # examines $version PREV_CHANGELOG_VERSION=$$(if test "x$$(echo "($$version-0.1)*2/2"|bc)" = "x$$(echo "$$version*2/2"|bc)"; \ then echo "$$version-$$(echo "$$version" | sed 's/[0-9]/0/g;s/[0-9]$$/2/')"; \ else echo "$$version-1.0"; \ fi | bc | sed 's/[.]0*/./;s/^0[.]\?$$/git-import/;s/[.]$$/.0/') CHANGELOGS = ChangeLog \ `version=$(CURR_CHANGELOG_VERSION); \ version=$(PREV_CHANGELOG_VERSION); \ while test "x$$version" != "xgit-import"; do \ echo ChangeLog.pre-$$version; \ version=$(PREV_CHANGELOG_VERSION); \ done` CLEANFILES += $(srcdir)/ChangeLog.cache-* changelogs: @cp -f $(top_srcdir)/doc/ChangeLog.pre-git-import $(srcdir) @$(MAKE) $(AM_MAKEFLAGS) $(CHANGELOGS) dist-hook: changelogs changelogs="$(CHANGELOGS)"; \ for changelog in $$changelogs; do \ cp $(srcdir)/$$changelog $(distdir)/ 2>/dev/null || \ cp $$changelog $(distdir)/; \ done $(srcdir)/ChangeLog: @if test -d "$(srcdir)/.git"; then \ version=$(CURR_CHANGELOG_VERSION); \ prev=$(PREV_CHANGELOG_VERSION).0; \ nearest_tag=`git describe | sed 's/-.*//'`; \ before=$(srcdir)/ChangeLog.cache-$$prev..$$nearest_tag; \ after=$(srcdir)/ChangeLog.cache-$$nearest_tag..; \ $(MAKE) $(AM_MAKEFLAGS) $$before $$after && \ echo Creating $@ && \ { echo '# Generated by configure. Do not edit.'; echo; \ cat $$after; echo; cat $$before; } > $@; \ else \ test -f $@ || \ (echo A git checkout is required to generate $@ >&2 && \ echo A git checkout is required to generate this file >> $@); \ fi DISTCLEANFILES += ChangeLog.cache-* ChangeLog.pre-git-import ChangeLog.cache-*..: .git ChangeLog%: $(srcdir)/ChangeLog% $(srcdir)/ChangeLog.cache-% $(srcdir)/ChangeLog.pre-%: @echo "Creating $@" @if test -d "$(srcdir)/.git"; then \ (cd "$(srcdir)" && \ version=$$(echo "$@" | sed 's/.*ChangeLog\([.].*-\)\?//'); \ if echo "$@" | grep -q '^ChangeLog[.]cache'; then \ spec=$$version; \ else \ to=$$version; \ test "x$$version" = x && version=$(CURR_CHANGELOG_VERSION); \ from=$(PREV_CHANGELOG_VERSION); \ test "x$$to" = x || to=$$to.0; \ test "x$$from" = xgit-import || from=$$from.0; \ spec=$$from..$$to; \ fi; \ $(top_srcdir)/build/missing --run git log --stat "$$spec") > $@.tmp \ && mv -f $@.tmp $@ \ || ($(RM) $@.tmp; \ echo Failed to generate $@, your $@ may be outdated >&2); \ else \ echo A git checkout is required to generate $@ >&2; \ fi .PHONY: changelogs ChangeLog $(srcdir)/ChangeLog