Add a rule to generate ChangeLog

We use the same rule pango uses to create a ChangeLog file with
the help of git-log. The format is somewhat different from traditional
ChangeLog, but it contains the relevant information.
This commit is contained in:
Matthias Clasen 2009-04-02 23:42:29 -04:00
parent b7f9a1ac83
commit 20774c5663

View File

@ -15,6 +15,9 @@ AM_CPPFLAGS = \
-DGLIB_COMPILATION
EXTRA_DIST += \
ChangeLog.pre-2-20 \
ChangeLog.pre-2-18 \
ChangeLog.pre-2-16 \
ChangeLog.pre-2-14 \
ChangeLog.pre-2-12 \
ChangeLog.pre-2-10 \
@ -56,13 +59,14 @@ EXTRA_DIST += \
gthread-2.0-uninstalled.pc.in \
gmodule-no-export-2.0-uninstalled.pc.in \
gio-2.0-uninstalled.pc.in \
gio-unix-2.0-uninstalled.pc.in
gio-unix-2.0-uninstalled.pc.in
# These may be in the builddir too
BUILT_EXTRA_DIST = \
README \
INSTALL \
ChangeLog \
glibconfig.h.win32 \
config.h.win32 \
gtk-doc.make
@ -83,6 +87,20 @@ stamp-gc-h: config.status
cd $(top_builddir) && $(SHELL) ./config.status glibconfig.h
echo timestamp > stamp-gc-h
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log GLIB_2_20_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
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = glib-2.0.pc gobject-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gthread-2.0.pc gio-2.0.pc gio-unix-2.0.pc
@ -102,7 +120,7 @@ distclean-local:
rm -f $(BUILT_EXTRA_DIST); \
fi
.PHONY: files release sanity snapshot
.PHONY: files release sanity snapshot ChangeLog
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \