[build] Fix the ChangeLog generation rule
authorEmmanuele Bassi <ebassi@linux.intel.com>
Thu, 19 Feb 2009 17:15:04 +0000 (17:15 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Thu, 19 Feb 2009 17:22:21 +0000 (17:22 +0000)
The ChangeLog should only be generated by dist-hook and as a temporary
file to avoid overwriting the stub we use to direct people to the
commit log when cloning the repository.

When generated, the ChangeLog should be copied inside the distdir so
that the autotools will not freak out.

Makefile.am

index 8783208..d317d77 100644 (file)
@@ -41,53 +41,40 @@ EXTRA_DIST =                        \
 
 CLEANFILES = $(pcfiles)
 
-DISTCLEANFILES =
+DISTCLEANFILES = doltcompile doltlibtool
 
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-maintainer-flags
 
 # Extra clean files so that maintainer-clean removes *everything*
-MAINTAINERCLEANFILES = \
-       aclocal.m4 \
-       compile \
-       config.guess \
-       config.h.in \
-       config.sub \
-        configure \
-       depcomp \
-       gtk-doc.make \
-       install-sh \
-       ltmain.sh \
-       Makefile.in \
-       missing \
+MAINTAINERCLEANFILES =         \
+       aclocal.m4      \
+       compile         \
+       config.guess    \
+       config.h.in     \
+       config.sub      \
+        configure      \
+       depcomp         \
+       gtk-doc.make    \
+       install-sh      \
+       ltmain.sh       \
+       Makefile.in     \
+       missing         \
        $(NULL)
 
-MAINTAINERCLEANFILES += $(srcdir)/ChangeLog
-
 PREV_RELEASE=$(CLUTTER_MAJOR_VERSION).$$(echo "$(CLUTTER_MINOR_VERSION)-1" | bc)
 
-CHANGELOGS = ChangeLog
-
-changelogs:
-       @$(MAKE) $(AM_MAKEFLAGS) $(CHANGELOGS)
-
-dist-hook: changelogs
-       changelogs="$(CHANGELOGS)"; \
-       for changelog in $$changelogs; \
-       do \
-               cp -f $(srcdir)/$$changelog $(distdir)/ 2>/dev/null || \
-               cp -f $$changelog $(distdir)/; \
-       done
-
-$(srcdir)/ChangeLog:
-       @if test -d "$(top_srcdir)/.git"; \
+dist-hook:
+       @if test -d "$(srcdir)/.git"; \
        then \
                to=""; \
                from="$(PREV_RELEASE)"; \
-               echo Creating $@ && \
-               ( echo '# Generated by configure.  Do no edit.'; echo; \
-               $(top_srcdir)/missing --run perl $(top_srcdir)/build/gen-changelog.pl $$from.0..$$to ) > $@ ; \
+               echo Creating ChangeLog && \
+               ( cd "$(top_srcdir)" && \
+                 echo '# Generated by configure.  Do no edit.'; echo; \
+                 $(top_srcdir)/missing --run perl $(top_srcdir)/build/gen-changelog.pl $$from.0..$$to ) > ChangeLog.tmp \
+               && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+               || ( rm -f ChangeLog.tmp ; \
+                    echo Failed to generate ChangeLog >&2 ); \
        else \
-               echo A git checkout is required to generate $@; \
+               echo A git checkout is required to generate a ChangeLog >&2; \
        fi
-
-.PHONY: changelogs ChangeLog $(srcdir)/ChangeLog