Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 7626)
+++ src/Makefile.am	(working copy)
@@ -24,7 +24,7 @@
 	-I$(top_srcdir)/src				\
 	-I$(top_srcdir)/src/dbus-helper/		\
 	-I$(top_srcdir)/src/gui/			\
-	-I$(top_builddir)				\
+	-I$(top_builddir)/src/dbus-helper/		\
 	$(GNOME_INCLUDEDIR)
 
 BUILT_SOURCES = src/revision.h
@@ -55,6 +55,8 @@
 ekiga_SOURCES =			\
 	common.h		
 
+nodist_ekiga_SOURCES =
+
 # Graphical User Interface 
 ekiga_SOURCES +=			\
 	gui/accounts.h    		\
@@ -85,28 +87,35 @@
 
 if HAVE_DBUS 
 ekiga_SOURCES +=		\
-	dbus-helper/dbus-stub.h	\
 	dbus-helper/dbus.h	\
 	dbus-helper/dbus.cpp
 
+nodist_ekiga_SOURCES +=		\
+	dbus-helper/dbus-stub.h
 
 bin_PROGRAMS += ekiga-helper
 
 ekiga_helper_SOURCES = 		\
-	dbus-helper/dbus-helper-stub.h 	\
 	dbus-helper/dbus-helper.cpp
 
+nodist_ekiga_helper_SOURCES = 	\
+	dbus-helper/dbus-helper-stub.h
+
 ekiga_helper_LDADD = $(DBUS_LIBS)
 
 BUILT_SOURCES += dbus-helper/dbus-helper-stub.h dbus-helper/dbus-stub.h
 
-dbus-helper/dbus-helper-stub.h: dbus-helper/dbus-helper-stub.xml
-	$(LIBTOOL) --mode=execute dbus-binding-tool --prefix=helper --mode=glib-server --output=$@ $^
+dbus-helper/dbus-helper-stub.h: dbus-helper/dbus-helper-stub.xml build-subdir-stamp
+	$(LIBTOOL) --mode=execute dbus-binding-tool --prefix=helper --mode=glib-server --output=$@ $<
 
-dbus-helper/dbus-stub.h: dbus-helper/dbus-stub.xml
-	$(LIBTOOL) --mode=execute dbus-binding-tool --prefix=ekiga_dbus_component --mode=glib-server --output=$@ $^
+dbus-helper/dbus-stub.h: dbus-helper/dbus-stub.xml build-subdir-stamp
+	$(LIBTOOL) --mode=execute dbus-binding-tool --prefix=ekiga_dbus_component --mode=glib-server --output=$@ $<
 endif
 
+build-subdir-stamp:
+	test -d dbus-helper || mkdir dbus-helper
+	touch build-subdir-stamp
+
 if INSTALL_DBUS_SERVICE
 
 %.service: %.service.in
@@ -145,6 +154,8 @@
 	dbus-helper/dbus-helper-stub.xml
 
 CLEANFILES = \
-	$(service_DATA)
+	$(service_DATA)		\
+	build-subdir-stamp	\
+	$(BUILT_SOURCES)
 
 DISTCLEANFILES = revision.h
Index: lib/engine/components/hal-dbus/Makefile.am
===================================================================
--- lib/engine/components/hal-dbus/Makefile.am	(revision 7626)
+++ lib/engine/components/hal-dbus/Makefile.am	(working copy)
@@ -1,6 +1,7 @@
 noinst_LTLIBRARIES = libgmhal-dbus.la
 
 hal_dir = $(top_srcdir)/lib/engine/components/hal-dbus
+hal_builddir = $(top_builddir)/lib/engine/components/hal-dbus
 
 AM_CXXFLAGS = $(SIGC_CFLAGS) $(GLIB_CFLAGS) $(DBUS_CFLAGS) $(PTLIB_CFLAGS)
 
@@ -15,10 +16,12 @@
 	$(hal_dir)/hal-manager-dbus.h \
 	$(hal_dir)/hal-manager-dbus.cpp \
 	$(hal_dir)/hal-main-dbus.h \
-	$(hal_dir)/hal-main-dbus.cpp \
-	$(hal_dir)/hal-marshal.h \
-	$(hal_dir)/hal-marshal.c
+	$(hal_dir)/hal-main-dbus.cpp
 
+nodist_libgmhal_dbus_la_SOURCES = \
+	$(hal_builddir)/hal-marshal.h \
+	$(hal_builddir)/hal-marshal.c
+
 if HAVE_V4L
 libgmhal_dbus_la_SOURCES += \
 	$(hal_dir)/hal-v4l-helper.h \
@@ -30,6 +33,8 @@
 # forces the HAVE :
 BUILT_SOURCES = hal-marshal.h hal-marshal.c
 
+CLEANFILES = $(BUILT_SOURCES)
+
 libgmhal_dbus_la_LDFLAGS = -export-dynamic -no-undefined $(SIGC_LIBS) $(GLIB_LIBS) $(DBUS_LIBS) $(PTLIB_LIBS)
 
 hal-marshal.h: hal-marshal.list
