Treat pounces.xml as config part
[pidgin-git.git] / Makefile.am
blobf13ba1d2bb6512e941ad6a3d53918466fe8f6a49
1 EXTRA_DIST = \
2                 COPYRIGHT \
3                 ChangeLog.API \
4                 ChangeLog.win32 \
5                 HACKING \
6                 Makefile.mingw \
7                 PLUGIN_HOWTO \
8                 README.hg \
9                 README.mingw \
10                 config.h.mingw \
11                 intltool-extract.in \
12                 intltool-merge.in \
13                 intltool-update.in \
14                 m4macros/introspection.m4 \
15                 package_revision.h \
16                 po/Makefile.mingw \
17                 valgrind-suppressions
19 noinst_HEADERS = config.h package_revision.h
21 dist-pre-hook: package_revision.h
22 if !ENABLE_GTK_DOC
23         $(AM_V_at)echo "error: gtk-doc must be installed and enabled in order to make dist"
24         $(AM_V_at)echo "re-run ./configure with --enable-gtk-doc switch and try again"
25         $(AM_V_at)false
26 endif
27         $(AM_V_at)if [ ! -f "$(top_builddir)libpurple/libpurple.la" ]; then \
28                 $(MAKE) -C libpurple libpurple.la; \
29         fi
30 if ENABLE_GNT
31         $(AM_V_at)if [ ! -f "$(top_builddir)finch/libgnt/libgnt.la" ]; then \
32                 $(MAKE) -C finch/libgnt libgnt.la; \
33         fi
34         $(AM_V_at)if [ ! -f "$(top_builddir)finch/libfinch.la" ]; then \
35                 $(MAKE) -C finch libfinch.la; \
36         fi
37 endif
38 if ENABLE_GTK
39         $(AM_V_at)if [ ! -f "$(top_builddir)pidgin/libpidgin.la" ]; then \
40                 $(MAKE) -C pidgin libpidgin.la; \
41         fi
42 endif
44 dist: dist-pre-hook
46 dist-hook:
47         rm $(distdir)/config.h
49 distcheck-hook: libpurple/plugins/perl/common/Purple.pm pidgin/plugins/perl/common/Pidgin.pm
50 #       cp libpurple/plugins/perl/common/Gaim.pm $(distdir)/libpurple/plugins/perl/common
52 commit-check:
53         (cd po ; intltool-update -m 2>&1 | grep -v '^mismatched quotes.*\.py$$' | sed "s|current directory|po directory|" | grep . ; if [ $$? = 0 ] ; then exit 1 ; else exit 0 ; fi)
55 # Ensure these files are sorted and contain no duplicates:
56         LC_ALL=C sort -c -t/ -u po/POTFILES.in
57         LC_ALL=C sort -c -t/ -u po/POTFILES.skip
59 # Ensure COPYRIGHT is 100% UTF-8
60         iconv -f utf8 -t utf8 COPYRIGHT | cmp COPYRIGHT -
62 version-check:
63 # Ensure our version string does not contain "dev"
64         test x`echo $(PACKAGE_VERSION) | grep dev` = x
66 # Ensure ChangeLogs have the correct version
67         head ChangeLog     | grep "^version $(PACKAGE_VERSION) (.*):$$" >/dev/null
68         head ChangeLog.API | grep "^version $(PACKAGE_VERSION):$$" >/dev/null
70 # Ensure we're working from a tag...
71         test x`hg log -r "tag($(PACKAGE_VERSION))" --template "{node}"` = x`hg id -i --debug`
72 # ... and have no changes in the working copy. (this isn't really necessary with hg because hg id appends a "+")
73         test "x`hg st -mard`" = x
75 sign-packages: dist
76         gpg -ab pidgin-$(PACKAGE_VERSION).tar.gz
77         gpg -ab pidgin-$(PACKAGE_VERSION).tar.bz2
78         gpg --verify pidgin-$(PACKAGE_VERSION).tar.gz.asc pidgin-$(PACKAGE_VERSION).tar.gz
79         gpg --verify pidgin-$(PACKAGE_VERSION).tar.bz2.asc pidgin-$(PACKAGE_VERSION).tar.bz2
81 release: commit-check version-check distcheck sign-packages
83 if INSTALL_I18N
84 PO_DIR=po
85 endif
87 if ENABLE_GTK
88 GTK_DIR=pidgin
89 endif
91 if ENABLE_GNT
92 GNT_DIR=finch
93 endif
95 # We always try to rebuild all objects that depends on this dummy target.
96 .FORCE:
98 # if both attempts fail, then we need to remove the empty file that >
99 # creates, and also make sure that the shell command exits
100 # successfully; the rm -f ensures both
101 package_revision_raw.txt: .FORCE
102         $(AM_V_GEN)REAL_BLDDIR=$$PWD/$(top_builddir); \
103         (hg --cwd $(srcdir) id -i --debug) 2>/dev/null >$@.new \
104         || rm -f $@.new
105         $(AM_V_at)if test -f $@.new; then \
106                 if ! test -f "$@" || ! diff "$@" "$@".new > /dev/null ; then \
107                         mv $@.new $@; \
108                 else \
109                         rm $@.new; \
110                 fi \
111         fi
112 package_revision.h: package_revision_raw.txt
113         $(AM_V_GEN)if test -f $<; then \
114                 echo "#define REVISION \"`cat $<`\"" > $@; \
115         fi
116         $(AM_V_at)if test ! -f $@ -a -f $(srcdir)/$@; then \
117                 cp $(srcdir)/$@ $@; \
118         fi
119         $(AM_V_at)test -f $@ || echo "#define REVISION \"unknown\"" > $@
121 # This is a magic directive copy-and-pasted, then modified, from the
122 # automake 1.9 manual, section 13.4, "Checking the distribution".
123 # Normally, 'distcheck' does a clean build, and then afterwards runs
124 # 'distclean', and 'distclean' is supposed to remove everything that
125 # the build created.  However, we have some targets (package_revision.txt)
126 # that we distribute, but then always attempt to rebuild optimistically, and
127 # then if that fails fall back on the distributed versions.  This
128 # means that 'distclean' should _not_ remove those files, since they
129 # are distributed, yet building the package will generate those files,
130 # thus automake thinks that 'distclean' _should_ remove those files,
131 # and 'distcheck' gets cranky if we don't.  So basically what this
132 # line does is tell 'distcheck' to shut up and ignore those two files.
133 distcleancheck_listfiles = find . -type f -a ! -name package_revision.h
135 AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
137 SUBDIRS = . m4macros libpurple $(GNT_DIR) $(GTK_DIR) $(PO_DIR) share/ca-certs share/sounds doc
139 # perl's MakeMaker uninstall foo doesn't work well with DESTDIR set, which
140 # breaks "make distcheck" unless we ignore perl things
141 # TODO drop it when we drop perl wrapper
143 distuninstallcheck_listfiles = \
144         find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm
146 DISTCLEANFILES= intltool-extract intltool-merge intltool-update \
147                         package_revision_raw.txt