Import('*') env.Append( CPPPATH = '.' ) sources = """ opensync_list.c opensync_error.c opensync_context.c opensync_support.c opensync_xml.c helper/opensync_hashtable.c helper/opensync_anchor.c db/opensync_db.c module/opensync_module.c plugin/opensync_plugin.c plugin/opensync_plugin_info.c plugin/opensync_plugin_env.c plugin/opensync_sink.c group/opensync_group_env.c group/opensync_group.c group/opensync_member.c group/opensync_xml.c format/opensync_converter.c format/opensync_filter.c format/opensync_format_env.c format/opensync_objformat.c format/opensync_time.c data/opensync_data.c data/opensync_change.c ipc/opensync_queue.c ipc/opensync_message.c ipc/opensync_serializer.c client/opensync_client.c client/opensync_client_proxy.c engine/opensync_engine.c engine/opensync_obj_engine.c engine/opensync_status.c merger/opensync_capabilities.c merger/opensync_capability.c merger/opensync_xmlformat.c merger/opensync_xmlfield.c merger/opensync_xmlfieldlist.c merger/opensync_merger.c version/opensync_version.c mapping/opensync_mapping_table.c mapping/opensync_mapping_view.c mapping/opensync_mapping_entry.c mapping/opensync_mapping.c archive/opensync_archive.c """ headers = """ opensync.h opensync_list.h opensync_xml.h opensync-context.h opensync-data.h opensync-engine.h opensync-error.h opensync-format.h opensync-group.h opensync-helper.h opensync-ipc.h opensync-module.h opensync-plugin.h opensync-support.h opensync-client.h opensync-merger.h opensync-version.h opensync-time.h opensync-serializer.h opensync-mapping.h """ plugin_headers = """ plugin/opensync_plugin.h plugin/opensync_plugin_info.h plugin/opensync_plugin_env.h plugin/opensync_sink.h """ group_headers = """ group/opensync_group_env.h group/opensync_group.h group/opensync_member.h """ format_headers = """ format/opensync_converter.h format/opensync_filter.h format/opensync_format_env.h format/opensync_objformat.h format/opensync_time.h """ data_headers = """ data/opensync_data.h data/opensync_change.h """ ipc_headers = """ ipc/opensync_queue.h ipc/opensync_message.h ipc/opensync_serializer.h """ mapping_headers = """ mapping/opensync_mapping.h mapping/opensync_mapping_entry.h mapping/opensync_mapping_table.h mapping/opensync_mapping_view.h """ merger_headers = """ merger/opensync_capabilities.h merger/opensync_capability.h merger/opensync_xmlformat.h merger/opensync_xmlfield.h merger/opensync_xmlfieldlist.h merger/opensync_merger.h """ version_headers = """ version/opensync_version.h """ archive_headers = """ archive/opensync_archive.h """ db_headers = """ db/opensync_db.h """ helper_headers = """ helper/opensync_anchor.h helper/opensync_hashtable.h """ engine_headers = """ engine/opensync_engine.h engine/opensync_obj_engine.h engine/opensync_status.h """ Libraries = r""" glib-2.0 gthread-2.0 pthread gmodule-2.0 libxml2 sqlite3 """ libopensync = env.SharedLibrary('opensync', Split(sources), LIBS = Split(Libraries)) env.Prepend(LIBPATH = '#opensync') osplugin = env.Program('osplugin', 'client/osplugin.c', LIBS = Split(Libraries) + ['opensync']) env.Install(install_lib, libopensync) env.Install(install_bin, osplugin) env.Install(install_inc + '/opensync-1.0/opensync/', Split(headers)) env.Install(install_inc + '/opensync-1.0/opensync/plugin', Split(plugin_headers)) env.Install(install_inc + '/opensync-1.0/opensync/group', Split(group_headers)) env.Install(install_inc + '/opensync-1.0/opensync/format', Split(format_headers)) env.Install(install_inc + '/opensync-1.0/opensync/data', Split(data_headers)) env.Install(install_inc + '/opensync-1.0/opensync/ipc', Split(ipc_headers)) env.Install(install_inc + '/opensync-1.0/opensync/mapping', Split(mapping_headers)) env.Install(install_inc + '/opensync-1.0/opensync/merger', Split(merger_headers)) env.Install(install_inc + '/opensync-1.0/opensync/version', Split(version_headers)) env.Install(install_inc + '/opensync-1.0/opensync/archive', Split(archive_headers)) env.Install(install_inc + '/opensync-1.0/opensync/helper', Split(helper_headers)) env.Install(install_inc + '/opensync-1.0/opensync/engine', Split(engine_headers)) env.Alias('install', install_prefix)