build rules: moved D-Bus into sub directories

syncevo-dbus -> src/dbus
interfaces -> src/dbus/interfaces

Files generated from D-Bus interfaces are only built once, in src/dbus/interfaces.
This is changes makes the code layout a bit nicer and, more importantly,
fixes build dependencies when Synthesis is compiled in src.

Now everything that is needed by a certain directory is in that directory
or a sub directory.
This commit is contained in:
Patrick Ohly 2009-05-06 19:52:55 +02:00
parent 395e3eaf87
commit 94c62f34d5
22 changed files with 102 additions and 115 deletions

View File

@ -2,29 +2,10 @@
ACLOCAL_AMFLAGS = -I m4
if COND_DBUS
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = syncevo-dbus.pc
SUBDIRS = src po test
servicedir = $(DBUS_SERVICES_DIR)
service_in_files = org.Moblin.SyncEvolution.service.in
service_DATA = $(service_in_files:.service.in=.service)
$(service_DATA): $(service_in_files) Makefile
@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
EXTRA_DIST = HACKING description configure-pre.in configure-post.in autogen.sh Makefile-gen.am Doxyfile
DBUS_DIR = syncevo-dbus
DBUS_IFACE_DIR = interfaces
endif
if COND_GUI
DBUS_IFACE_DIR = interfaces
endif
SUBDIRS = $(DBUS_IFACE_DIR) $(DBUS_DIR) src po test
EXTRA_DIST = HACKING description configure-pre.in configure-post.in autogen.sh Makefile-gen.am Doxyfile $(service_in_files) syncevo-dbus.pc.in
DISTCLEANFILES = $(service_DATA) syncevo-dbus.pc
MAINTAINERCLEANFILES = Makefile.in config.h.in config.guess config.sub configure depcomp install-sh ltmain.sh missing mkinstalldirs
# binary distribution

View File

@ -81,7 +81,7 @@ AC_CHECK_HEADERS(stdarg.h valgrind/valgrind.h execinfo.h)
AC_DEFINE(SYNTHESIS, 1, "using Synthesis engine")
AC_CONFIG_FILES(Makefile interfaces/Makefile syncevo-dbus/Makefile src/Makefile src/core/Makefile src/gtk-ui/Makefile po/Makefile.in test/Makefile syncevo-dbus.pc)
AC_CONFIG_FILES(Makefile src/dbus/interfaces/Makefile src/dbus/Makefile src/Makefile src/core/Makefile src/gtk-ui/Makefile po/Makefile.in test/Makefile src/dbus/syncevo-dbus.pc)
AC_OUTPUT
echo

View File

@ -1,8 +0,0 @@
%.xml: %-full.xml
$(XSLT) -o $@ $(srcdir)/spec-strip-docs.xsl $<
BUILT_SOURCES = syncevo.xml
noinst_DATA = syncevo-marshal.list syncevo.xml
CLEANFILES = $(noinst_DATA)
EXTRA_DIST = $(noinst_DATA)

View File

@ -1,11 +1,26 @@
BACKENDS = @BACKENDS@
if COND_DBUS
servicedir = $(DBUS_SERVICES_DIR)
service_in_files = org.Moblin.SyncEvolution.service.in
service_DATA = $(service_in_files:.service.in=.service)
$(service_DATA): $(service_in_files) Makefile
@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
DBUS_DIR = dbus
else
if COND_GUI
# jump into interface directory directly instead of going through dbus
DBUS_DIR = dbus/interfaces
endif
endif
if COND_GUI
GUI_DIR = gtk-ui
endif
SUBDIRS = $(SYNTHESIS_SUBDIR) core $(BACKENDS) $(GUI_DIR)
DIST_SUBDIRS = core $(BACKENDS) gtk-ui
SUBDIRS = $(SYNTHESIS_SUBDIR) $(DBUS_DIR) core $(BACKENDS) $(GUI_DIR)
DIST_SUBDIRS = dbus core $(BACKENDS) gtk-ui
BUILT_SOURCES =
AM_CPPFLAGS = $(SUBDIRS:%=-I$(srcdir)/%) -I$(srcdir)/../test -I$(top_srcdir) $(BACKEND_CPPFLAGS) $(GLIB_CFLAGS)
@ -24,7 +39,7 @@ else
SYNCEVOLUTION_LDADD += $(SYNCSOURCES)
SYNCEVOLUTION_DEP += $(SYNCSOURCES)
endif
EXTRA_DIST = shlibs.local Makefile-gen.am syncevolution.xml
EXTRA_DIST = shlibs.local Makefile-gen.am syncevolution.xml $(service_in_files)
TEMPLATE_FILES = @TEMPLATE_FILES@
nobase_dist_sysconf_DATA = $(TEMPLATE_FILES)
@ -119,35 +134,18 @@ distclean-local:
rm -rf $(SYNTHESIS_SUBDIR)
rm -rf $(CLEAN_CLIENT_SRC)
if COND_DBUS
BUILT_SOURCES += syncevo-dbus-glue.h syncevo-marshal.c syncevo-marshal.h
syncevo_dbus_server_SOURCES = \
syncevo-dbus-server.cpp syncevo-dbus-server.h \
DBusSyncClient.cpp DBusSyncClient.h \
$(CORE_SOURCES)
nodist_syncevo_dbus_server_SOURCES = syncevo-marshal.c
nodist_syncevo_dbus_server_SOURCES = dbus/interfaces/syncevo-marshal.c
syncevo_dbus_server_LDADD = $(DBUS_GLIB_LIBS) $(CORE_LDADD)
syncevo_dbus_server_CPPFLAGS = -DHAVE_CONFIG_H $(DBUS_GLIB_CFLAGS) $(AM_CPPFLAGS)
syncevo_dbus_server_CPPFLAGS = -DHAVE_CONFIG_H -Idbus/interfaces $(DBUS_GLIB_CFLAGS) $(AM_CPPFLAGS)
syncevo_dbus_server_CXXFLAGS = $(SYNCEVOLUTION_CXXFLAGS) $(CORE_CXXFLAGS)
syncevo_dbus_server_LDFLAGS = $(CORE_LD_FLAGS)
syncevo_dbus_server_DEPENDENCIES = $(EXTRA_LTLIBRARIES) $(CORE_DEP) $(SYNTHESIS_DEP)
syncevo-dbus-glue.h: stamp-syncevo-dbus-glue.h
@true
stamp-syncevo-dbus-glue.h: $(builddir)/../interfaces/syncevo.xml
$(DBUS_BINDING_TOOL) --prefix=syncevo --mode=glib-server $< > xgen-$(@F) \
&& (cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%)) \
&& rm -f xgen-$(@F) \
&& echo timestamp > $(@F)
syncevo-marshal.h: $(srcdir)/../interfaces/syncevo-marshal.list $(GLIB_GENMARSHAL)
$(GLIB_GENMARSHAL) $< --header --prefix=syncevo_marshal > $@
syncevo-marshal.c: $(srcdir)/../interfaces/syncevo-marshal.list syncevo-marshal.h $(GLIB_GENMARSHAL)
echo "#include \"syncevo-marshal.h\"" > $@ \
&& $(GLIB_GENMARSHAL) --prefix=syncevo_marshal $(srcdir)/../interfaces/syncevo-marshal.list --body >> $@
endif
# With --disable-shared autotools links against libfunambol.a which does not

41
src/dbus/Makefile.am Normal file
View File

@ -0,0 +1,41 @@
lib_LTLIBRARIES = libsyncevo-dbus.la
SUBDIRS = interfaces
AM_CPPFLAGS = -I$(top_srcdir) -Iinterfaces $(SYNTHESIS_CFLAGS)
DISTCLEANFILES = syncevo-dbus.pc
EXTRA_DIST = syncevo-dbus.pc.in
pkgconfig_DATA = syncevo-dbus.pc
pkgconfigdir = $(libdir)/pkgconfig
noinst_PROGRAMS = \
test-syncevo-dbus
test_syncevo_dbus_SOURCES = test.c
test_syncevo_dbus_LDADD = $(DBUS_GLIB_LIBS) libsyncevo-dbus.la
test_syncevo_dbus_CFLAGS = $(DBUS_GLIB_CFLAGS)
nodist_libsyncevo_dbus_la_SOURCES = \
interfaces/syncevo-marshal.c
libsyncevo_dbus_la_SOURCES = \
$(syncevo_dbus_headers) \
syncevo-dbus-types.c \
syncevo-dbus.c
libsyncevo_dbus_la_CFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
$(DBUS_GLIB_CFLAGS)
libsyncevo_dbus_la_LIBADD = \
$(DBUS_GLIB_LIBS)
syncevo_dbus_headers = \
syncevo-dbus-types.h \
syncevo-dbus.h
libsyncevo_dbus_includedir = $(includedir)/syncevo-dbus
libsyncevo_dbus_include_HEADERS = \
$(syncevo_dbus_headers)

View File

@ -0,0 +1,30 @@
%.xml: %-full.xml
$(XSLT) -o $@ $(srcdir)/spec-strip-docs.xsl $<
BUILT_SOURCES = syncevo.xml syncevo-dbus-glue.h syncevo-marshal.c syncevo-marshal.h syncevo-bindings.h
noinst_DATA = syncevo-marshal.list syncevo.xml
CLEANFILES = $(noinst_DATA) $(BUILT_SOURCES)
EXTRA_DIST = $(noinst_DATA)
%-bindings.h: stamp-%-bindings.h
@true
stamp-%-bindings.h: %.xml
$(DBUS_BINDING_TOOL) --mode=glib-client --prefix=syncevo $< > xgen-$(@F) \
&& (cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%)) \
&& rm -f xgen-$(@F) \
&& echo timestamp > $(@F)
syncevo-marshal.h: $(srcdir)/syncevo-marshal.list $(GLIB_GENMARSHAL)
$(GLIB_GENMARSHAL) $< --header --prefix=syncevo_marshal > $@
syncevo-marshal.c: $(srcdir)/syncevo-marshal.list syncevo-marshal.h $(GLIB_GENMARSHAL)
echo "#include \"syncevo-marshal.h\"" > $@ \
&& $(GLIB_GENMARSHAL) --prefix=syncevo_marshal $(srcdir)/syncevo-marshal.list --body >> $@
syncevo-dbus-glue.h: stamp-syncevo-dbus-glue.h
@true
stamp-syncevo-dbus-glue.h: syncevo.xml
$(DBUS_BINDING_TOOL) --prefix=syncevo --mode=glib-server $< > xgen-$(@F) \
&& (cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%)) \
&& rm -f xgen-$(@F) \
&& echo timestamp > $(@F)

View File

@ -1,6 +1,6 @@
/* test syncevo dbus */
#include <syncevo-dbus/syncevo-dbus.h>
#include "syncevo-dbus.h"
#include <synthesis/syerror.h>
#include <synthesis/engine_defs.h>

View File

@ -35,21 +35,20 @@ bin_PROGRAMS = \
sync_ui_SOURCES = \
sync-ui.c sync-ui-config.c sync-ui-config.h \
mux-frame.c mux-frame.h mux-window.c mux-window.h mux-icon-button.c mux-icon-button.h
sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) -L$(top_builddir)/syncevo-dbus -lsyncevo-dbus
sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) -L$(top_builddir)/src/dbus -lsyncevo-dbus
sync_ui_CFLAGS = $(GUI_CFLAGS) $(DBUS_GLIB_CFLAGS) \
-DGLADEDIR=\""$(gladedir)"\" \
-DTHEMEDIR=\""$(themercdir)"\" \
-DSYNCEVOLUTION_LOCALEDIR=\"${SYNCEVOLUTION_LOCALEDIR}\"
sync_ui_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) $(SYNTHESIS_CFLAGS)
sync_ui_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I$(top_builddir)/src/dbus -I$(top_srcdir)/src/dbus $(SYNTHESIS_CFLAGS)
BUILT_SOURCES = \
syncevo-bindings.h
%-bindings.h: stamp-%-bindings.h
@true
stamp-%-bindings.h: $(top_builddir)/interfaces/%.xml
stamp-%-bindings.h: $(top_builddir)/src/dbus/interfaces/%.xml
$(DBUS_BINDING_TOOL) --mode=glib-client --prefix=syncevo $< > xgen-$(@F) \
&& (cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%)) \
&& rm -f xgen-$(@F) \
&& echo timestamp > $(@F)

View File

@ -319,7 +319,7 @@ mux_window_close_clicked (MuxWindow *window)
GdkEvent *event;
event = gdk_event_new (GDK_DELETE);
event->any.window = g_object_ref (gtk_widget_get_window (GTK_WIDGET (window)));
event->any.window = g_object_ref (GTK_WIDGET (window)->window);
event->any.send_event = TRUE;
gtk_main_do_event (event);

View File

@ -2,7 +2,7 @@
#define SYNC_UI_CONFIG_H
#include <gtk/gtk.h>
#include <syncevo-dbus/syncevo-dbus.h>
#include "syncevo-dbus.h"
typedef enum {
SYNC_NONE,

View File

@ -26,8 +26,9 @@
#include <gtk/gtk.h>
#include <gconf/gconf-client.h>
#include <glib/gi18n.h>
#include <gio/gio.h>
#include <syncevo-dbus/syncevo-dbus.h>
#include "syncevo-dbus.h"
/* for return value definitions */
/* TODO: would be nice to have a non-synthesis-dependent API but for now it's like this... */
#include <synthesis/syerror.h>

View File

@ -1,55 +0,0 @@
lib_LTLIBRARIES = libsyncevo-dbus.la
AM_CPPFLAGS = -I$(top_srcdir) $(SYNTHESIS_CFLAGS)
noinst_PROGRAMS = \
test-syncevo-dbus
test_syncevo_dbus_SOURCES = test.c
test_syncevo_dbus_LDADD = $(DBUS_GLIB_LIBS) libsyncevo-dbus.la
test_syncevo_dbus_CFLAGS = $(DBUS_GLIB_CFLAGS)
BUILT_SOURCES = \
$(nodist_libsyncevo_dbus_la_SOURCES)
nodist_libsyncevo_dbus_la_SOURCES = \
syncevo-marshal.c \
syncevo-marshal.h \
syncevo-bindings.h
libsyncevo_dbus_la_SOURCES = \
$(syncevo_dbus_headers) \
syncevo-dbus-types.c \
syncevo-dbus.c
libsyncevo_dbus_la_CFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
$(DBUS_GLIB_CFLAGS)
libsyncevo_dbus_la_LIBADD = \
$(DBUS_GLIB_LIBS)
syncevo_dbus_headers = \
syncevo-dbus-types.h \
syncevo-dbus.h
libsyncevo_dbus_includedir = $(includedir)/syncevo-dbus
libsyncevo_dbus_include_HEADERS = \
$(syncevo_dbus_headers)
CLEANFILES = $(BUILT_SOURCES)
%-bindings.h: stamp-%-bindings.h
@true
stamp-%-bindings.h: $(builddir)/../interfaces/%.xml
$(DBUS_BINDING_TOOL) --mode=glib-client --prefix=syncevo $< > xgen-$(@F) \
&& (cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%)) \
&& rm -f xgen-$(@F) \
&& echo timestamp > $(@F)
syncevo-marshal.h: $(srcdir)/../interfaces/syncevo-marshal.list $(GLIB_GENMARSHAL)
$(GLIB_GENMARSHAL) $< --header --prefix=syncevo_marshal > $@
syncevo-marshal.c: $(srcdir)/../interfaces/syncevo-marshal.list syncevo-marshal.h $(GLIB_GENMARSHAL)
echo "#include \"syncevo-marshal.h\"" > $@ \
&& $(GLIB_GENMARSHAL) --prefix=syncevo_marshal $(srcdir)/../interfaces/syncevo-marshal.list --body >> $@