b7ef83d6ed
This patch adds an utility script (readme2c.pl) which extracts the SYNOPSIS and OPTIONS part of README.rst and puts it into C strings. These are then used inside the SyncEvolution command line for short help (just the synopsis) and --help (also all options). This patch also cleans up README.rst so that the OPTIONS part really documents most options in sufficient detail for --help to be useful. The USAGE section remains part of the README and the man page where the different operations are introduced in a more task-oriented way. This separation is not always easy to make. The --restore operation and related parameters are only described in the USAGE part because I couldn't find a way to introduce them briefly and then add a thorough explanation under OPTIONS.
193 lines
5.3 KiB
Makefile
193 lines
5.3 KiB
Makefile
AM_CPPFLAGS = @BACKEND_CPPFLAGS@ @GLIB_CFLAGS@ -I$(top_srcdir)/test -I$(top_srcdir)/src -DSYNCEVO_BACKEND=\"$(backendsearchdir)\"
|
|
|
|
SUBDIRS = configs
|
|
BUILT_SOURCES =
|
|
|
|
# applies to sources in SyncEvolution repository, but not
|
|
# the Funambol C++ client library
|
|
SYNCEVOLUTION_CXXFLAGS = @SYNCEVOLUTION_CXXFLAGS@
|
|
|
|
SYNCEVOLUTION_LDADD = @SYNCEVOLUTION_LDADD@
|
|
MAINTAINERCLEANFILES = Makefile.in
|
|
|
|
if ENABLE_UNIT_TESTS
|
|
SYNCEVOLUTION_CXXFLAGS += $(CPPUNIT_CXXFLAGS)
|
|
SYNCEVOLUTION_LDADD += $(CPPUNIT_LDFLAGS)
|
|
endif
|
|
|
|
lib_LTLIBRARIES = libsyncevolution.la
|
|
|
|
SYNCEVOLUTION_SOURCES = \
|
|
ConfigTree.h \
|
|
ConfigNode.h \
|
|
ConfigNode.cpp \
|
|
HashConfigNode.h \
|
|
VolatileConfigNode.h \
|
|
VolatileConfigTree.h \
|
|
SmartPtr.h \
|
|
eds_abi_wrapper.h \
|
|
eds_abi_wrapper.cpp \
|
|
\
|
|
SyncML.h \
|
|
SyncML.cpp \
|
|
\
|
|
SynthesisEngine.h \
|
|
SynthesisEngine.cpp \
|
|
\
|
|
Logging.h \
|
|
Logging.cpp \
|
|
LogStdout.h \
|
|
LogStdout.cpp \
|
|
LogRedirect.h \
|
|
LogRedirect.cpp \
|
|
\
|
|
TransportAgent.h \
|
|
TransportAgent.cpp \
|
|
CurlTransportAgent.h \
|
|
CurlTransportAgent.cpp \
|
|
\
|
|
SoupTransportAgent.h \
|
|
SoupTransportAgent.cpp \
|
|
\
|
|
util.cpp \
|
|
util.h \
|
|
\
|
|
lcs.h \
|
|
lcs.cpp \
|
|
\
|
|
Cmdline.cpp \
|
|
Cmdline.h \
|
|
\
|
|
SyncSource.h \
|
|
SyncSource.cpp \
|
|
\
|
|
SynthesisDBPlugin.cpp \
|
|
\
|
|
SyncContext.h \
|
|
SyncContext.cpp \
|
|
\
|
|
SyncConfig.h \
|
|
SyncConfig.cpp \
|
|
\
|
|
DevNullConfigNode.h \
|
|
MultiplexConfigNode.h \
|
|
MultiplexConfigNode.cpp \
|
|
\
|
|
FilterConfigNode.h \
|
|
FilterConfigNode.cpp \
|
|
\
|
|
SafeConfigNode.h \
|
|
SafeConfigNode.cpp \
|
|
\
|
|
PrefixConfigNode.h \
|
|
PrefixConfigNode.cpp \
|
|
\
|
|
FileConfigNode.h \
|
|
FileConfigNode.cpp \
|
|
\
|
|
IniConfigNode.h \
|
|
IniConfigNode.cpp \
|
|
SingleFileConfigTree.h \
|
|
SingleFileConfigTree.cpp \
|
|
\
|
|
DataBlob.h \
|
|
FileDataBlob.h \
|
|
FileDataBlob.cpp \
|
|
StringDataBlob.h \
|
|
StringDataBlob.cpp \
|
|
\
|
|
SafeOstream.h \
|
|
SafeOstream.cpp \
|
|
\
|
|
FileConfigTree.h \
|
|
FileConfigTree.cpp \
|
|
\
|
|
TrackingSyncSource.h \
|
|
TrackingSyncSource.cpp
|
|
|
|
libsyncevolution_includedir= $(includedir)/syncevo
|
|
libsyncevolution_include_HEADERS = \
|
|
declarations.h \
|
|
TrackingSyncSource.h \
|
|
FileConfigNode.h \
|
|
FilterConfigNode.h \
|
|
PrefixConfigNode.h \
|
|
SafeConfigNode.h \
|
|
SyncConfig.h \
|
|
SyncSource.h \
|
|
util.h \
|
|
SyncContext.h \
|
|
SynthesisEngine.h \
|
|
Logging.h \
|
|
SyncML.h \
|
|
eds_abi_wrapper.h \
|
|
SmartPtr.h \
|
|
ConfigNode.h
|
|
if ENABLE_OBEX
|
|
SYNCEVOLUTION_SOURCES += ObexTransportAgent.h ObexTransportAgent.cpp
|
|
SYNCEVOLUTION_LDADD += $(LIBOPENOBEX_LIBS)
|
|
SYNCEVOLUTION_CXXFLAGS += $(LIBOPENOBEX_CFLAGS)
|
|
if ENABLE_BLUETOOTH
|
|
SYNCEVOLUTION_LDADD += $(BLUEZ_LIBS)
|
|
SYNCEVOLUTION_CXXFLAGS += $(BLUEZ_CFLAGS)
|
|
endif
|
|
endif
|
|
|
|
pkgconfigdir=$(libdir)/pkgconfig
|
|
pkgconfig_DATA=syncevolution.pc
|
|
DISTCLEANFILES =syncevolution.pc
|
|
EXTRA_DIST =syncevolution.pc.in
|
|
|
|
libsyncevolution_la_SOURCES = $(SYNCEVOLUTION_SOURCES)
|
|
nodist_libsyncevolution_la_SOURCES = SyncEvolutionXML.c
|
|
CLEANFILES = SyncEvolutionXML.c
|
|
libsyncevolution_la_LIBADD = @EPACKAGE_LIBS@ @GLIB_LIBS@ $(SYNTHESIS_LIBS) $(TRANSPORT_LIBS) @LIBS@ $(SYNCEVOLUTION_LDADD) $(NSS_LIBS)
|
|
libsyncevolution_la_CXXFLAGS = $(TRANSPORT_CFLAGS) $(SYNCEVOLUTION_CXXFLAGS) $(SYNTHESIS_CFLAGS) $(NSS_CFLAGS)
|
|
libsyncevolution_la_CPPFLAGS = $(AM_CPPFLAGS) \
|
|
-DXML_CONFIG_DIR=\""$(datadir)/syncevolution/xml"\" \
|
|
-DTEMPLATE_DIR=\""$(datadir)/syncevolution/templates"\" \
|
|
-DLIBDIR=\""$(libdir)"\"
|
|
libsyncevolution_la_DEPENDENCIES = $(SYNTHESIS_DEP)
|
|
|
|
if ENABLE_MODULES
|
|
libsyncevolution_la_LDFLAGS =
|
|
else
|
|
libsyncevolution_la_LDFLAGS = -static
|
|
endif
|
|
|
|
# command which embeds its input lines into a C-style string that runs across multiple lines
|
|
TO_C_STRING = sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/'
|
|
|
|
# Don't depend on specific XML files. Instead recreate
|
|
# SyncEvolutionXML.c each time make is invoked (allows including new
|
|
# fragments in the binary without rerunning configure).
|
|
SyncEvolutionXML.c: GenSyncEvolutionXML
|
|
.PHONY: GenSyncEvolutionXML
|
|
GenSyncEvolutionXML:
|
|
echo "const char *SyncEvolutionXMLClient =" > SyncEvolutionXML.c.new
|
|
(cd $(srcdir)/configs && perl update-samples.pl syncevolution.xml client ) | \
|
|
perl -p -e 's;</datatypes>; <fieldlists/>\n <profiles/>\n <datatypedefs/>\n </datatypes>;' | \
|
|
$(TO_C_STRING) >>SyncEvolutionXML.c.new
|
|
echo ";" >>SyncEvolutionXML.c.new
|
|
echo "const char *SyncEvolutionXMLClientRules =" >> SyncEvolutionXML.c.new
|
|
(cd $(srcdir)/configs && cat remoterules/*.xml remoterules/client/*.xml) | $(TO_C_STRING) >>SyncEvolutionXML.c.new
|
|
echo ";" >>SyncEvolutionXML.c.new
|
|
if cmp SyncEvolutionXML.c SyncEvolutionXML.c.new >/dev/null; then rm SyncEvolutionXML.c.new; else mv SyncEvolutionXML.c.new SyncEvolutionXML.c; fi
|
|
|
|
# turn README.rst into a file with plain text strings for
|
|
# "Synopsis" and "Usage"
|
|
CLEANFILES += CmdlineHelp.c
|
|
BUILT_SOURCES += CmdlineHelp.c
|
|
EXTRA_DIST += readme2c.pl
|
|
CmdlineHelp.c: readme2c.pl $(top_srcdir)/README.rst
|
|
perl $+ >$@
|
|
|
|
# include boost in distribution
|
|
#dist-hook:
|
|
# cp -r $(srcdir)/boost $(distdir)
|
|
# find $(distdir) -name .libs -o -name "*~" -o -name ".*" -o -name "*.o" -o -name "*.lo" -o -name CVS -o -name autom4te.cache | xargs rm -rf
|
|
|
|
# make sure that the installed development files are usable
|
|
installcheck-local: $(srcdir)/installcheck-local.sh
|
|
env PKG_CONFIG_PATH=$(DESTDIR)/$(pkgconfigdir):$$PKG_CONFIG_PATH $< "$(DESTDIR)/$(libsyncevolution_includedir)" "$(DESTDIR)/$(includedir)" "$(DESTDIR)/$(libdir)"
|
|
EXTRA_DIST += installcheck-local.sh
|