Steal GTK+'s way of generating ChangeLog from git logs
authorXavier Claessens <xclaesse@gmail.com>
Mon, 13 Apr 2009 15:03:17 +0000 (15:03 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Mon, 13 Apr 2009 15:03:17 +0000 (15:03 +0000)
From: Xavier Claessens <xclaesse@gmail.com>

svn path=/trunk/; revision=2825

Makefile.am

index 4792946212c63d130db0ae372fe47ef6a408b3cf..20e1962342cf9516a781444a9f6c8c7ce44260cd 100644 (file)
@@ -37,11 +37,24 @@ DISTCLEANFILES =            \
 # uninstall.
 distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper'
 
-ChangeLog: Makefile.am
-       git log --pretty=short > ChangeLog
-       
-
-dist: ChangeLog
+distclean-local:
+       if test $(srdcir) = .; then :; else \
+               rm -f ChangeLog; \
+       fi
+
+ChangeLog:
+       @echo Creating $@
+       @if test -d "$(srcdir)/.git"; then \
+         (GIT_DIR=$(top_srcdir)/.git ./missing --run git log EMPATHY_2_24_0.. --stat) | fmt --split-only > $@.tmp \
+         && mv -f $@.tmp $@ \
+         || ($(RM) $@.tmp; \
+             echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
+             (test -f $@ || echo git-log is required to generate this file >> $@)); \
+       else \
+         test -f $@ || \
+         (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
+         echo A git checkout and git-log is required to generate this file >> $@); \
+       fi
 
 .PHONY: ChangeLog