diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
index 52fd710..9c5ab67 100644
--- a/gdk-pixbuf/Makefile.am
+++ b/gdk-pixbuf/Makefile.am
@@ -538,7 +538,7 @@ gdk_pixbuf_query_loaders_SOURCES = queryloaders.c
 # The GdkPixBuf library
 #
 libgdk_pixbufincludedir = $(includedir)/gtk-2.0/gdk-pixbuf
-libgdk_pixbuf_2_0_la_SOURCES =   \
+gdk_pixbuf_sources =   \
 	gdk-pixbuf-i18n.h	 \
 	gdk-pixbuf.c		 \
 	gdk-pixbuf-animation.c	 \
@@ -549,9 +549,15 @@ libgdk_pixbuf_2_0_la_SOURCES =   \
 	gdk-pixbuf-simple-anim.c \
 	gdk-pixbuf-scaled-anim.c \
 	gdk-pixbuf-util.c	 \
-	gdk-pixdata.c		 \
+	gdk-pixdata.c
+
+gdk_pixbuf_built_sources =	 \
 	gdk-pixbuf-enum-types.c
 
+libgdk_pixbuf_2_0_la_SOURCES =		\
+	$(gdk_pixbuf_sources)		\
+	$(gdk_pixbuf_built_sources)
+
 libgdk_pixbuf_2_0_la_LDFLAGS = \
 	$(gdk_pixbuf_win32_res_ldflag)		\
 	-version-info $(LT_VERSION_INFO)	\
@@ -570,14 +576,17 @@ gdk_pixbuf_headers = 			\
 	gdk-pixbuf-io.h			\
 	gdk-pixbuf-animation.h		\
 	gdk-pixbuf-simple-anim.h	\
-	gdk-pixbuf-loader.h
+	gdk-pixbuf-loader.h		\
+	gdk-pixdata.h
 
-libgdk_pixbufinclude_HEADERS =  	\
-	$(gdk_pixbuf_headers)		\
+gdk_pixbuf_built_headers =		\
 	gdk-pixbuf-enum-types.h		\
 	gdk-pixbuf-marshal.h		\
-	gdk-pixbuf-features.h		\
-	gdk-pixdata.h
+	gdk-pixbuf-features.h
+
+libgdk_pixbufinclude_HEADERS =  	\
+	$(gdk_pixbuf_headers)		\
+	$(gdk_pixbuf_built_headers)
 
 noinst_HEADERS = 		\
 	gdk-pixbuf-alias.h	\
@@ -683,8 +692,10 @@ GdkPixbuf_2_0_gir_INCLUDES = GModule-2.0 Gio-2.0
 GdkPixbuf_2_0_gir_LIBS = libgdk_pixbuf-2.0.la
 GdkPixbuf_2_0_gir_CFLAGS = $(INCLUDES)
 GdkPixbuf_2_0_gir_FILES = \
-    $(addprefix $(srcdir)/,$(libgdk_pixbufinclude_HEADERS)) \
-    $(addprefix $(srcdir)/,$(libgdk_pixbuf_2_0_la_SOURCES))
+    $(addprefix $(srcdir)/,$(gdk_pixbuf_headers)) \
+    $(addprefix $(srcdir)/,$(gdk_pixbuf_sources)) \
+    $(gdk_pixbuf_built_headers)               \
+    $(gdk_pixbuf_built_sources)
 INTROSPECTION_GIRS += GdkPixbuf-2.0.gir
 
 girdir = $(datadir)/gir-1.0
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 1a783c3..185649a 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -197,15 +197,19 @@ if HAVE_INTROSPECTION
 introspection_files = \
 		$(gdk_public_h_sources) \
 		$(gdk_c_sources) \
+        x11/*.c
+
+introspection_built_files = \
         gdkenumtypes.c \
-        gdkenumtypes.h \
-        $(srcdir)/x11/*.c
+        gdkenumtypes.h
 
 Gdk-2.0.gir: $(gdktargetlib) Makefile
 Gdk_2_0_gir_SCANNERFLAGS = --strip-prefix=Gdk --add-include-path=../gdk-pixbuf
 Gdk_2_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0
 Gdk_2_0_gir_LIBS = $(gdktargetlib)
-Gdk_2_0_gir_FILES = $(addprefix $(srcdir)/,$(introspection_files))
+Gdk_2_0_gir_FILES = \
+	$(addprefix $(srcdir)/,$(introspection_files))	\
+	$(introspection_built_files)
 Gdk_2_0_gir_CFLAGS = $(INCLUDES)
 INTROSPECTION_GIRS += Gdk-2.0.gir
 
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index ce39a1c..9e55323 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -515,8 +515,6 @@ gtk_base_c_sources =            \
 	gtklinkbutton.c		\
 	gtkliststore.c		\
 	gtkmain.c		\
-	gtkmarshal.c		\
-	gtkmarshalers.c		\
 	gtkmenu.c		\
 	gtkmenubar.c		\
 	gtkmenuitem.c		\
@@ -616,7 +614,6 @@ gtk_base_c_sources =            \
 	gtktreestore.c		\
 	gtktreeview.c		\
 	gtktreeviewcolumn.c	\
-	gtktypebuiltins.c	\
 	gtktypeutils.c		\
 	gtkuimanager.c		\
 	gtkvbbox.c		\
@@ -633,6 +630,11 @@ gtk_base_c_sources =            \
 	gtkwindow.c		\
 	$(gtk_clipboard_dnd_c_sources)
 
+gtk_base_c_built_sources =	\
+	gtkmarshal.c		\
+	gtkmarshalers.c		\
+	gtktypebuiltins.c
+
 # Broken
 gtk_public_h_sources += \
 	gtktext.h		\
@@ -682,8 +684,8 @@ gtk_base_c_sources += \
 	gtktipsquery.c		\
 	gtktooltips.c
 
-gtk_c_sources = $(gtk_base_c_sources)
-gtk_all_c_sources = $(gtk_base_c_sources)
+gtk_c_sources = $(gtk_base_c_sources) $(gtk_base_c_built_sources)
+gtk_all_c_sources = $(gtk_base_c_sources) $(gtk_base_c_built_sources)
 
 gtk_os_unix_c_sources = \
 	gtkcustompaperunixdialog.c	\
@@ -948,7 +950,7 @@ endif
 dist-hook: ../build/win32/vs9/gtk.vcproj
 
 ../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
-	for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
+	for F in $(gtk_base_c_sources) $(gtk_base_c_built_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
 		case $$F in \
 		*.c) echo '   <File RelativePath="..\..\..\gtk\'$$F'" />' \
 		     ;; \
@@ -990,10 +992,14 @@ LDADDS =								\
 
 if HAVE_INTROSPECTION
 introspection_files = \
-    $(gtkinclude_HEADERS) \
-    $(gtk_all_c_sources) \
-    gtktypebuiltins.h \
-    gtktypebuiltins.c
+    $(gtk_public_h_sources) \
+    $(gtk_semi_private_h_sources) \
+    $(gtk_base_c_sources)
+
+introspection_built_files = \
+    $(gtk_built_public_sources) \
+    gtkversion.h		\
+    $(gtk_base_c_built_sources)
 
 Gtk-2.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) $(top_builddir)/gdk/Gdk-2.0.gir Makefile
 Gtk_2_0_gir_SCANNERFLAGS = --strip-prefix=Gtk
@@ -1004,7 +1010,9 @@ Gtk_2_0_gir_CFLAGS = \
 		-UGTK_DISABLE_DEPRECATED \
 		-DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
 Gtk_2_0_gir_LIBS = $(gtktargetlib)
-Gtk_2_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files))
+Gtk_2_0_gir_FILES = \
+	$(addprefix $(srcdir)/, $(introspection_files))	\
+	$(introspection_built_files)
 INTROSPECTION_GIRS += Gtk-2.0.gir
 
 girdir = $(datadir)/gir-1.0
