[pygtksourceview] Autogenerate ChangeLog from git logs



commit 61788f6fe62dbb5b73d05e9992894230200ae1fd
Author: Gian Mario Tagliaretti <gianmt gnome org>
Date:   Sun May 10 16:35:11 2009 +0200

    Autogenerate ChangeLog from git logs
---
 Makefile.am |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 5083676..5c4ce70 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,10 +9,11 @@ endif
 
 INCLUDES = $(PYTHON_INCLUDES)
 
-EXTRA_DIST = \
-  gtksourceview2.defs \
-  gtksourceview2.override \
-  pygtksourceview-2.0.pc.in
+EXTRA_DIST =				\
+	gtksourceview2.defs		\
+	gtksourceview2.override		\
+	pygtksourceview-2.0.pc.in	\
+	ChangeLog-pre-git
 
 defsdir = $(datadir)/pygtk/2.0/defs
 defs_DATA = gtksourceview2.defs
@@ -37,11 +38,39 @@ CLEANFILES = gtksourceview2.c
 
 .defs.c:
 	(cd $(srcdir)\
-	&& $(PYTHON) $(CODEGEN) \
-	    --override $*.override \
-	    --register @PYGTK_DATADIR@/pygtk/2.0/defs/gdk-types.defs \
-	    --register @PYGTK_DATADIR@/pygtk/2.0/defs/pango-types.defs \
-	    --register @PYGTK_DATADIR@/pygtk/2.0/defs/gtk-types.defs \
-		--prefix py$* $*.defs) > gen-$*.c \
-	    && cp gen-$*.c $*.c \
-	    && rm -f gen-$*.c
+	&& $(PYTHON) $(CODEGEN)							\
+		--override $*.override						\
+		--register @PYGTK_DATADIR@/pygtk/2.0/defs/gdk-types.defs	\
+		--register @PYGTK_DATADIR@/pygtk/2.0/defs/pango-types.defs	\
+		--register @PYGTK_DATADIR@/pygtk/2.0/defs/gtk-types.defs	\
+		--prefix py$* $*.defs) > gen-$*.c				\
+		&& cp gen-$*.c $*.c						\
+		&& rm -f gen-$*.c
+
+.PHONY: ChangeLog
+
+ChangeLog:
+	@echo Creating $@
+	@if test -d "$(srcdir)/.git"; then \
+		(GIT_DIR=$(top_srcdir)/.git ./missing --run git log PYGTKSOURCEVIEW_2_6_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
+
+
+distclean-local:
+	if test $(srcdir) = .; then :; else \
+		rm -f $(BUILT_EXTRA_DIST); \
+	fi
+
+dist-hook: $(BUILT_EXTRA_DIST)
+	files='$(BUILT_EXTRA_DIST)'; \
+	for f in $$files; do \
+		if test -f $$f; then d=.; else d=$(srcdir); fi; \
+		rm -f $(distdir)/$$f && cp $$d/$$f $(distdir) || exit 1; done



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]