[build] Add automatic ChangeLog generation on dist
[profile/ivi/clutter.git] / Makefile.am
1 NULL =
2
3 SUBDIRS = clutter tests po
4
5 if BUILD_GTK_DOC
6 SUBDIRS += doc
7 endif
8
9 DIST_SUBDIRS = clutter tests doc po
10
11 pcfiles = \
12         clutter-$(CLUTTER_API_VERSION).pc \
13         clutter-$(CLUTTER_FLAVOUR)-$(CLUTTER_API_VERSION).pc \
14         $(NULL)
15
16 # clutter-<major>.<minor>.pc - for generic dependencies
17 clutter-$(CLUTTER_API_VERSION).pc: clutter.pc
18         @cp $< $@
19
20 # clutter-<flavour>-<major>.<minor>.pc - for backend-specific dependencies
21 clutter-$(CLUTTER_FLAVOUR)-$(CLUTTER_API_VERSION).pc: clutter.pc
22         @cp $< $@
23
24 .PHONY: test-report full-report
25 test-report full-report:
26         $(MAKE) -C tests/conform $(@)
27
28 pkgconfig_DATA = $(pcfiles)
29 pkgconfigdir   = $(libdir)/pkgconfig
30
31 DEFAULT_FLAVOUR = @CLUTTER_FLAVOUR@
32
33 EXTRA_DIST =                    \
34         ChangeLog.SVN           \
35         clutter.pc.in           \
36         HACKING                 \
37         HACKING.backends        \
38         CODING_STYLE
39
40 CLEANFILES = $(pcfiles)
41
42 DISTCLEANFILES =
43
44 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-maintainer-flags
45
46 # Extra clean files so that maintainer-clean removes *everything*
47 MAINTAINERCLEANFILES = \
48         aclocal.m4 \
49         compile \
50         config.guess \
51         config.h.in \
52         config.sub \
53         configure \
54         depcomp \
55         gtk-doc.make \
56         install-sh \
57         ltmain.sh \
58         Makefile.in \
59         missing \
60         $(NULL)
61
62 PREV_RELEASE=$(CLUTTER_MAJOR_VERSION).$$(echo "$(CLUTTER_MINOR_VERSION)-1" | bc)
63
64 CHANGELOGS = ChangeLog
65
66 changelogs:
67         @$(MAKE) $(AM_MAKEFLAGS) $(CHANGELOGS)
68
69 dist-hook: changelogs
70         changelogs="$(CHANGELOGS)"; \
71         for changelog in $$changelogs; \
72         do \
73                 cp $(srcdir)/$$changelog $(distdir)/ 2>/dev/null || \
74                 cp $$changelog $(distdir)/; \
75         done
76
77 $(srcdir)/ChangeLog:
78         @if test -d "$(top_srcdir)/.git"; \
79         then \
80                 to=""; \
81                 from="$(PREV_RELEASE)"; \
82                 echo Creating $@ && \
83                 ( echo '# Generated by configure.  Do no edit.'; echo; \
84                 $(top_srcdir)/missing --run perl $(top_srcdir)/build/gen-changelog.pl $$from.0..$$to ) > $@ ; \
85         else \
86                 echo A git checkout is required to generate $@; \
87         fi
88
89 .PHONY: changelogs ChangeLog $(srcdir)/ChangeLog