## Process this file with automake to produce Makefile.in ACLOCAL_AMFLAGS = -I m4 -I m4-repo SUBDIRS = src po test EXTRA_DIST = \ HACKING \ LICENSE.txt \ LICENSE.LGPL-21 \ description \ configure-pre.in \ configure-post.in \ gen-autotools.sh \ autogen.sh \ Makefile-gen.am \ Doxyfile MAINTAINERCLEANFILES = Makefile.in config.h.in config.guess config.sub configure depcomp install-sh ltmain.sh missing mkinstalldirs CLEANFILES = TEST_README_FILES = $(wildcard $(srcdir)/test/README.*) DEV_FILE_PATTERN = $(1)$(2)/etc $(1)$(2)/include $(1)$(2)/lib/*.so $(1)$(2)/lib/*.a $(1)$(2)/lib/*.la $(1)$(2)/lib/*/*.la $(1)$(2)/lib/pkgconfig # binary distribution as .tar.gz if COND_DBUS # when building with D-Bus, we have no choice: the service has to go into /usr # in order to be found distbin : README NEWS COPYING $(TEST_README_FILES) INSTALL-tar-gz all @ [ "$(BINSUFFIX)" ] || (echo "please invoke with e.g. 'make distbin BINSUFFIX=debian-3.1'"; exit 1 ) @ [ "$(prefix)" == "/usr" ] || (echo "please reconfigure with --prefix=/usr"; exit 1 ) rm -rf $(distdir) $(MAKE) DESTDIR=`pwd`/$(distdir) install $(MAKE) DESTDIR=`pwd`/$(distdir) installcheck rm -rf $(call DEV_FILE_PATTERN,$(distdir),/usr) for i in `find $(distdir) -type d | sort -r`; do rmdir $$i 2>/dev/null || true; done mkdir -p $(distdir)/usr/share/doc/syncevolution cp $(srcdir)/INSTALL-tar-gz $(distdir)/INSTALL cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)/usr/share/doc/syncevolution tar zcf $(distdir)-$(BINSUFFIX).tar.gz $(distdir) rm -rf $(distdir) else # without D-Bus, we can simply create an archive with a bin directory # and everything works distbin : README NEWS COPYING all @ [ "$(BINSUFFIX)" ] || (echo "please invoke with e.g. 'make distbin BINSUFFIX=debian-3.1'"; exit 1 ) rm -rf $(distdir) $(MAKE) prefix=`pwd`/$(distdir) install echo removing developer files and empty directories rm -rf $(call DEV_FILE_PATTERN,$(distdir),/) for i in `find $(distdir) -type d | sort -r`; do rmdir $$i 2>/dev/null || true; done cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir) tar zcf $(distdir)-$(BINSUFFIX).tar.gz $(distdir) rm -rf $(distdir) endif iphone : SyncEvolution.plist IPHONE_FILENAME = syncevolution-$(VERSION)-iphone.zip SyncEvolution.plist : SyncEvolution.plist.in $(IPHONE_FILENAME) sed -e 's/__FILENAME__/$(IPHONE_FILENAME)/' \ -e 's/__VERSION__/$(VERSION)/' \ -e 's/__SIZE__/$(shell ls -l $(IPHONE_FILENAME) | sed -e 's/ */ /g' | cut -d ' ' -f 5)/' \ $< >$@ $(IPHONE_FILENAME) : all rm -rf syncevolution-iphone $@ $(MAKE) DESTDIR=`pwd`/syncevolution-iphone install rm -rf `ls -1 -d syncevolution-iphone/usr/share/doc/syncevolution/*/spds/sources/* | grep -v addressbook` perl -pi -e 's;SyncEvolution test #1;;;' \ -e 's;^type = text/(x-)?vcard;type = addressbook;m;' \ syncevolution-iphone/usr/share/doc/syncevolution/*/spds/sources/addressbook/config.txt cd syncevolution-iphone && zip -r ../$(IPHONE_FILENAME) . TYPE_deb = -D TYPE_rpm = -R # Dependency calculation is intentionally incomplete: # - don't force dependency on specific EDS libs via backends, their versions change too much (handled via --enable-evolution-compatibility and dynamic loading of the backends) # - ignore client-test dependencies (because users typically don't run it) REQUIRES_deb = --requires="'$(shell set -x; cd dist; LD_LIBRARY_PATH=$(distdir)/usr/lib:$(distdir)/usr/lib/syncevolution dpkg-shlibdeps -L$(srcdir)/src/shlibs.local --ignore-missing-info -O $$(for i in $$(find $(distdir) -type f -perm /u+x | grep -v -e client-test -e lib/syncevolution/sync); do if file $$i | grep ELF >/dev/null; then echo $$i; fi; done) | sed -e 's/[^=]*=//')'" VERSION_deb = `echo 1:$(VERSION) | perl -p -e 's/(\d+\.\d+)([-a-z0-9]+)/sprintf("%0.1f+$$1$$2", ($$1 - 0.1))/e'` VERSION_rpm = `echo $(VERSION) | sed -e s/-/_/g` RELEASE = 2 # The package name: BINSUFFIX is used to distinguish binaries # for different Evolution releases. PKGNAME=syncevolution$(patsubst %,-%,$(BINSUFFIX)) # This is a list of packages (potentially) provided on estamos.de. # The current package conflicts with any of them, but not itself. PKGS = $(addprefix syncevolution-evolution-, 2.6 2.8 2.12) # When calling checkinstall we cannot install into /tmp # because any file created there will be excluded: that makes # sense, because "make install" might create temporary files # there. The current directory might be in /tmp, so use $HOME. # # --replaces is necessary for migrating from syncevolution-evolution- # to syncevolution-evolution (as per http://wiki.debian.org/Renaming_a_Package) deb rpm : dist/$(distdir) dist/debian/control description-pak tmpdir=`mktemp -d $$HOME/syncevolution.XXXXXXXXXX` && \ trap "rm -rf $$tmpdir" EXIT && \ fakeroot checkinstall >$@ for sub in $(srcdir)/src/backends/*/configure-sub.in; do \ echo "# vvvvvvvvvvvvvv $$sub vvvvvvvvvvvvvv" >>$@; \ cat $$sub >>$@; \ echo "AC_CONFIG_FILES(`echo $$sub | sed -e 's;^$(srcdir)/;;' -e s/configure-sub.in/Makefile/`)" >>$@; \ echo "# ^^^^^^^^^^^^^^ $$sub ^^^^^^^^^^^^^^" >>$@; \ echo >>$@; \ done cat $(srcdir)/configure-post.in >>$@ $(srcdir)/Makefile.am: Makefile-gen.am sed -e 's;[@]CONFIG_SUBS[@];$(CONFIG_SUBS);' \ $< >$@ dist-hook: @if test -d "$(srcdir)/.git"; \ then \ 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 ) > 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 a ChangeLog >&2; \ fi if ENABLE_EVOLUTION_COMPATIBILITY installcheck-local: for i in `find . -name *.so`; do \ if ldd $$i | grep -e libecal -e libebook -e libedata -e libical; then \ echo "$$i should not depend on EDS or libical"; \ objdump -T -C $$i | grep -v :: | grep -e ical -e " e_"; \ exit 1; \ fi \ done endif