]> Pileus Git - ~andy/gtk/blobdiff - gdk-pixbuf/Makefile.am
Use correct DLL and import library names, with GTK_API_VERSION in name,
[~andy/gtk] / gdk-pixbuf / Makefile.am
index 4a628fae8b5a8eb924ff6208bd9b380a3de1c762..466c95871ee15ee8f682d8f0585663d76afdfced 100644 (file)
+
 SUBDIRS = pixops
 
-if INSIDE_GNOME_LIBS
-CANVAS_PIXBUF_LIB =
-CANVAS_PIXBUF_HEADERFILES =
-EXTRA_GNOME_LIBS =
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+if OS_WIN32
+gdk_pixbuf_def = gdk_pixbuf.def
+gdk_pixbuf_symbols = -export-symbols $(gdk_pixbuf_def)
+
+gdk_pixbuf_win32res_lo = gdk_pixbuf-win32res.lo
+
+gdk_pixbuf-win32res.lo : gdk_pixbuf.rc
+       $(top_srcdir)/build/win32/lt-compile-resource gdk_pixbuf.rc gdk_pixbuf-win32res.lo
+
+install-libtool-import-lib:
+       $(INSTALL) .libs/libgdk_pixbuf-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
+uninstall-libtool-import-lib:
+       -rm $(DESTDIR)$(libdir)/libgdk_pixbuf-$(GTK_API_VERSION).dll.a
 else
-CANVAS_PIXBUF_LIB = libgnomecanvaspixbuf.la
-CANVAS_PIXBUF_HEADERFILES=gnome-canvas-pixbuf.h
-EXTRA_GNOME_LIBS = $(GNOME_LIBS)
+install-libtool-import-lib:
+uninstall-libtool-import-lib:
+endif
+
+if MS_LIB_AVAILABLE
+noinst_DATA = gdk_pixbuf-$(GTK_API_VERSION).lib
+
+gdk_pixbuf-$(GTK_API_VERSION).lib: libgdk_pixbuf-$(GTK_API_VERSION).la gdk_pixbuf.def
+       lib -name:libgdk_pixbuf-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk_pixbuf.def -out:$@
+
+install-ms-lib:
+       $(INSTALL) gdk_pixbuf-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
+
+uninstall-ms-lib:
+       -rm $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).lib
+else
+install-ms-lib:
+uninstall-ms-lib:
 endif
 
 lib_LTLIBRARIES =              \
-       libgdk_pixbuf.la        \
-       $(CANVAS_PIXBUF_LIB)
+       libgdk_pixbuf-2.0.la
 
-libgnomecanvaspixbuf_la_SOURCES = gnome-canvas-pixbuf.c
-libgnomecanvaspixbuf_la_LDFLAGS = $(EXTRA_GNOME_LIBS)
+loaderdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/loaders
 
-libexecdir = $(libdir)/gdk-pixbuf/loaders
+module_libs = libgdk_pixbuf-$(GTK_API_VERSION).la $(GDK_PIXBUF_DEP_LIBS)
 
 #
 # The PNG plugin.
 #
-libpixbuf_png_la_SOURCES = io-png.c
-libpixbuf_png_la_LDFLAGS = -avoid-version -module
-libpixbuf_png_la_LIBADD = $(LIBPNG)
+libpixbufloader_png_la_SOURCES = io-png.c
+libpixbufloader_png_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_png_la_LIBADD = $(LIBPNG) $(module_libs)
+libpixbufloader_static_png_la_SOURCES = io-png.c
 
 #
 # The JPEG loader
 #
-libpixbuf_jpeg_la_SOURCES = io-jpeg.c
-libpixbuf_jpeg_la_LDFLAGS = -avoid-version -module
-libpixbuf_jpeg_la_LIBADD = $(LIBJPEG)
+libpixbufloader_static_jpeg_la_SOURCES = io-jpeg.c
+libpixbufloader_jpeg_la_SOURCES = io-jpeg.c
+libpixbufloader_jpeg_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_jpeg_la_LIBADD = $(LIBJPEG) $(module_libs)
 
 #
 # The XPM loader
 #
-libpixbuf_xpm_la_SOURCES = io-xpm.c
-libpixbuf_xpm_la_LDFLAGS = -avoid-version -module
-libpixbuf_xpm_la_LIBADD =
+libpixbufloader_static_xpm_la_SOURCES = io-xpm.c
+libpixbufloader_xpm_la_SOURCES = io-xpm.c
+libpixbufloader_xpm_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_xpm_la_LIBADD = $(module_libs)
 
 #
 # The GIF loader
 #
-libpixbuf_gif_la_SOURCES = io-gif.c
-libpixbuf_gif_la_LDFLAGS = -avoid-version -module
-libpixbuf_gif_la_LIBADD =
+libpixbufloader_static_gif_la_SOURCES = io-gif.c io-gif-animation.c io-gif-animation.h
+libpixbufloader_gif_la_SOURCES = io-gif.c io-gif-animation.c io-gif-animation.h
+libpixbufloader_gif_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_gif_la_LIBADD = $(module_libs)
 
 #
 # The ICO loader
 #
-libpixbuf_ico_la_SOURCES = io-ico.c
-libpixbuf_ico_la_LDFLAGS = -avoid-version -module
-libpixbuf_ico_la_LIBADD =
+libpixbufloader_static_ico_la_SOURCES = io-ico.c
+libpixbufloader_ico_la_SOURCES = io-ico.c
+libpixbufloader_ico_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_ico_la_LIBADD = $(module_libs)
+
+#
+# The ANI loader
+#
+libpixbufloader_static_ani_la_SOURCES = io-ani.c io-ani-animation.c io-ani-animation.h
+libpixbufloader_ani_la_SOURCES = io-ani.c io-ani-animation.c io-ani-animation.h
+libpixbufloader_ani_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_ani_la_LIBADD = $(module_libs)
 
 #
 # The RAS loader
 #
-libpixbuf_ras_la_SOURCES = io-ras.c
-libpixbuf_ras_la_LDFLAGS = -avoid-version -module
-libpixbuf_ras_la_LIBADD =
+libpixbufloader_static_ras_la_SOURCES = io-ras.c
+libpixbufloader_ras_la_SOURCES = io-ras.c
+libpixbufloader_ras_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_ras_la_LIBADD = $(module_libs)
 
 #
 # The TIFF loader
 #
-libpixbuf_tiff_la_SOURCES = io-tiff.c
-libpixbuf_tiff_la_LDFLAGS = -avoid-version -module
-libpixbuf_tiff_la_LIBADD = $(LIBTIFF)
+libpixbufloader_static_tiff_la_SOURCES = io-tiff.c
+libpixbufloader_tiff_la_SOURCES = io-tiff.c
+libpixbufloader_tiff_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_tiff_la_LIBADD = $(LIBTIFF) $(module_libs)
 
 #
 # The PNM loader
 #
-libpixbuf_pnm_la_SOURCES = io-pnm.c
-libpixbuf_pnm_la_LDFLAGS = -avoid-version -module
-libpixbuf_pnm_la_LIBADD =
+libpixbufloader_static_pnm_la_SOURCES = io-pnm.c
+libpixbufloader_pnm_la_SOURCES = io-pnm.c
+libpixbufloader_pnm_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_pnm_la_LIBADD = $(module_libs)
 
 #
 # The BMP loader
 #
-libpixbuf_bmp_la_SOURCES = io-bmp.c
-libpixbuf_bmp_la_LDFLAGS = -avoid-version -module
-libpixbuf_bmp_la_LIBADD =
+libpixbufloader_static_bmp_la_SOURCES = io-bmp.c
+libpixbufloader_bmp_la_SOURCES = io-bmp.c
+libpixbufloader_bmp_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_bmp_la_LIBADD = $(module_libs)
+
+#
+# The WBMP loader
+#
+libpixbufloader_static_wbmp_la_SOURCES = io-wbmp.c
+libpixbufloader_wbmp_la_SOURCES = io-wbmp.c
+libpixbufloader_wbmp_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_wbmp_la_LIBADD = $(module_libs)
+
+#
+# The XBM loader
+#
+libpixbufloader_static_xbm_la_SOURCES = io-xbm.c
+libpixbufloader_xbm_la_SOURCES = io-xbm.c
+libpixbufloader_xbm_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_xbm_la_LIBADD = $(module_libs)
+
+#
+# The TGA loader
+#
+libpixbufloader_static_tga_la_SOURCES = io-tga.c
+libpixbufloader_tga_la_SOURCES = io-tga.c
+libpixbufloader_tga_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_tga_la_LIBADD = $(module_libs)
 
 if HAVE_PNG
-PNG_LIB =      libpixbuf-png.la
+PNG_LIB = libpixbufloader-png.la
+STATIC_PNG_LIB = libpixbufloader-static-png.la
 endif
 
 if HAVE_JPEG
-JPEG_LIB =     libpixbuf-jpeg.la
+JPEG_LIB = libpixbufloader-jpeg.la
+STATIC_JPEG_LIB = libpixbufloader-static-jpeg.la
 endif
 
-GIF_LIB = libpixbuf-gif.la
+GIF_LIB = libpixbufloader-gif.la
+STATIC_GIF_LIB = libpixbufloader-static-gif.la
+
+ICO_LIB = libpixbufloader-ico.la
+STATIC_ICO_LIB = libpixbufloader-static-ico.la
 
-ICO_LIB = libpixbuf-ico.la
+ANI_LIB = libpixbufloader-ani.la
+STATIC_ANI_LIB = libpixbufloader-static-ani.la
 
-RAS_LIB = libpixbuf-ras.la
+RAS_LIB = libpixbufloader-ras.la
+STATIC_RAS_LIB = libpixbufloader-static-ras.la
 
 if HAVE_TIFF
-TIFF_LIB =     libpixbuf-tiff.la
+TIFF_LIB = libpixbufloader-tiff.la
+STATIC_TIFF_LIB = libpixbufloader-static-tiff.la
 endif
 
-XPM_LIB =      libpixbuf-xpm.la
+XPM_LIB = libpixbufloader-xpm.la
+STATIC_XPM_LIB = libpixbufloader-static-xpm.la
 
-PNM_LIB =      libpixbuf-pnm.la
+PNM_LIB = libpixbufloader-pnm.la
+STATIC_PNM_LIB = libpixbufloader-static-pnm.la
 
-BMP_LIB =      libpixbuf-bmp.la
+BMP_LIB = libpixbufloader-bmp.la
+STATIC_BMP_LIB = libpixbufloader-static-bmp.la
+
+WBMP_LIB = libpixbufloader-wbmp.la
+STATIC_WBMP_LIB = libpixbufloader-static-wbmp.la
+
+XBM_LIB = libpixbufloader-xbm.la
+STATIC_XBM_LIB = libpixbufloader-static-xbm.la
+
+TGA_LIB = libpixbufloader-tga.la
+STATIC_TGA_LIB = libpixbufloader-static-tga.la
 
 if BUILD_DYNAMIC_MODULES
 
-libexec_LTLIBRARIES =  \
+loader_LTLIBRARIES =   \
        $(PNG_LIB)      \
        $(JPEG_LIB)     \
        $(GIF_LIB)      \
        $(ICO_LIB)      \
+       $(ANI_LIB)      \
        $(RAS_LIB)      \
        $(XPM_LIB)      \
        $(TIFF_LIB)     \
        $(PNM_LIB)      \
-       $(BMP_LIB)
+       $(BMP_LIB)      \
+       $(WBMP_LIB)     \
+       $(XBM_LIB)      \
+       $(TGA_LIB)
 
 
 extra_sources = 
-
+builtin_objs = 
 else
-libexec_LTLIBRARIES = 
-
-extra_sources = $(libpixbuf_png_la_SOURCES)    \
-               $(libpixbuf_jpeg_la_SOURCES)    \
-               $(libpixbuf_xpm_la_SOURCES)     \
-               $(libpixbuf_gif_la_SOURCES)     \
-               $(libpixbuf_ico_la_SOURCES)     \
-               $(libpixbuf_ras_la_SOURCES)     \
-               $(libpixbuf_tiff_la_SOURCES)    \
-               $(libpixbuf_pnm_la_SOURCES)     \
-               $(libpixbuf_bmp_la_SOURCES)
-
-builtin_libraries = 
+loader_LTLIBRARIES = 
+
+noinst_LTLIBRARIES =           \
+       $(STATIC_PNG_LIB)       \
+       $(STATIC_JPEG_LIB)      \
+       $(STATIC_GIF_LIB)       \
+       $(STATIC_ICO_LIB)       \
+       $(STATIC_ANI_LIB)       \
+       $(STATIC_RAS_LIB)       \
+       $(STATIC_XPM_LIB)       \
+       $(STATIC_TIFF_LIB)      \
+       $(STATIC_PNM_LIB)       \
+       $(STATIC_BMP_LIB)       \
+       $(STATIC_WBMP_LIB)      \
+       $(STATIC_XBM_LIB)       \
+       $(STATIC_TGA_LIB)
+
+builtin_objs = @INCLUDED_LOADER_OBJ@
+
 endif
 
-noinst_PROGRAMS = testpixbuf testpixbuf-drawable testanimation testpixbuf-scale
+DEPS = libgdk_pixbuf-$(GTK_API_VERSION).la
+INCLUDES = @STRIP_BEGIN@                       \
+       -DG_LOG_DOMAIN=\"GdkPixbuf\"            \
+       -I$(top_srcdir) -I$(top_builddir)       \
+       -I$(top_srcdir)/gdk-pixbuf              \
+       -I$(top_builddir)/gdk-pixbuf            \
+       -DGTK_SYSCONFDIR=\"$(sysconfdir)\"      \
+       -DGTK_VERSION=\"@GTK_VERSION@\"         \
+       -DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\"   \
+       -DG_DISABLE_DEPRECATED                  \
+       -DGDK_PIXBUF_DISABLE_DEPRECATED         \
+       @INCLUDED_LOADER_DEFINE@                \
+       @GTK_DEBUG_FLAGS@                       \
+       @GDK_PIXBUF_DEP_CFLAGS@                 \
+       -DGDK_PIXBUF_ENABLE_BACKEND             \
+@STRIP_END@
 
-DEPS = libgdk_pixbuf.la
-INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
-       -I$(top_srcdir)/gdk-pixbuf \
-       -I$(top_builddir)/gdk-pixbuf \
-       $(GLIB_CFLAGS) $(LIBART_CFLAGS) $(GTK_CFLAGS)
-AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(libexecdir)\""
+AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
+LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la
 
-LDADDS = libgdk_pixbuf.la $(LIBART_LIBS) $(GLIB_LIBS) $(GTK_LIBS) $(STATIC_LIB_DEPS)
+noinst_PROGRAMS = test-gdk-pixbuf
+test_gdk_pixbuf_LDADD = $(LDADDS)
 
-if INSIDE_GNOME_LIBS
-testpixbuf_LDADD = $(LDADDS) $(LIBART_LIBS) -lgmodule
-testpixbuf_drawable_LDADD = $(LDADDS)
-testpixbuf_scale_LDADD = $(LDADDS)
-testanimation_LDADD = $(LDADDS) $(LIBART_LIBS) -lgmodule
-else
-testpixbuf_LDADD = $(LDADDS) $(LIBART_LIBS) $(GNOME_LIBS) -lgmodule
-testpixbuf_drawable_LDADD = $(LDADDS) $(GNOME_LIBS)
-testpixbuf_scale_LDADD = $(LDADDS) $(GNOME_LIBS)
-testanimation_LDADD = $(LDADDS) $(LIBART_LIBS) $(GNOME_LIBS) -lgmodule
-endif
+bin_PROGRAMS = gdk-pixbuf-csource gdk-pixbuf-query-loaders
+gdk_pixbuf_csource_SOURCES = gdk-pixbuf-csource.c
+gdk_pixbuf_csource_LDADD = $(LDADDS)
+
+gdk_pixbuf_query_loaders_DEPENDENCIES = $(DEPS)
+gdk_pixbuf_query_loaders_LDADD = $(LDADDS)
 
+gdk_pixbuf_query_loaders_SOURCES = queryloaders.c
 
-GDK_PIXBUF_LIBS = $(LIBART_LIBS) $(GLIB_LIBS) $(GTK_LIBS)
 
 #
-# The GdkPixBuf library
+# manual pages to install
 #
+man_MANS = gdk-pixbuf-csource.1
 
-libgdk_pixbufincludedir = $(includedir)/gdk-pixbuf
 
-libgdk_pixbuf_la_SOURCES =     \
+#
+# The GdkPixBuf library
+#
+libgdk_pixbufincludedir = $(includedir)/gtk-2.0/gdk-pixbuf
+libgdk_pixbuf_2_0_la_SOURCES = @STRIP_BEGIN@ \
+       gdk-pixbuf-i18n.h       \
        gdk-pixbuf.c            \
        gdk-pixbuf-animation.c  \
        gdk-pixbuf-data.c       \
-       gdk-pixbuf-drawable.c   \
        gdk-pixbuf-io.c         \
        gdk-pixbuf-loader.c     \
-       gdk-pixbuf-render.c     \
        gdk-pixbuf-scale.c      \
        gdk-pixbuf-util.c       \
-       $(extra_sources)
+       gdk-pixdata.c           \
+       $(gdk_pixbuf_built_cfiles) \
+@STRIP_END@
+libgdk_pixbuf_2_0_la_LDFLAGS = @STRIP_BEGIN@ \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
+       @LIBTOOL_EXPORT_OPTIONS@                                \
+       $(no_undefined)                                         \
+       $(gdk_pixbuf_symbols)                                   \
+@STRIP_END@
+
+libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_win32res_lo) $(GDK_PIXBUF_DEP_LIBS)
+libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32res_lo)
+
+gdk_pixbuf_headers =                   \
+       gdk-pixbuf.h                    \
+       gdk-pixbuf-io.h                 \
+       gdk-pixbuf-animation.h          \
+       gdk-pixbuf-loader.h
+
+libgdk_pixbufinclude_HEADERS =         \
+       $(gdk_pixbuf_headers)           \
+       $(gdk_pixbuf_built_headers)     \
+       gdk-pixbuf-features.h           \
+       gdk-pixdata.h
+
+noinst_HEADERS =               \
+       gdk-pixbuf-private.h
+
+gdk_pixbuf_built_headers = gdk-pixbuf-enum-types.h gdk-pixbuf-marshal.h
+gdk_pixbuf_built_cfiles = gdk-pixbuf-enum-types.c 
+$(libgdk_pixbuf_2_0_la_OBJECTS) $(OBJECTS): $(gdk_pixbuf_built_headers) $(gdk_pixbuf_built_cfiles) gdk-pixbuf-marshal.c
+
+CLEANFILES =
+MAINTAINERCLEANFILES = $(gdk_pixbuf_built_headers) $(gdk_pixbuf_built_cfiles) gdk-pixbuf-marshal.c
 
-libgdk_pixbuf_la_LDFLAGS = -version-info 1:0:0 $(LIBART_LIBS) $(GLIB_LIBS) $(GTK_LIBS)
-libgdk_pixbuf_la_LIBADD = pixops/libpixops.la 
+#
+# gdk-pixbuf-enum-types.h
+#
+$(srcdir)/gdk-pixbuf-enum-types.h: s-enum-types-h
+       @true
+
+s-enum-types-h: @REBUILD@ $(gdk_pixbuf_headers) Makefile
+       ( cd $(srcdir) && glib-mkenums \
+                       --fhead "#ifndef __GDK_PIXBUF_ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+                       --fprod "/* enumerations from \"@filename@\" */\n" \
+                       --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
+                       --ftail "G_END_DECLS\n\n#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
+               $(gdk_pixbuf_headers) ) > tmp-gdk-pixbuf-enum-types.h \
+       && (cmp -s tmp-gdk-pixbuf-enum-types.h $(srcdir)/gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h $(srcdir)/gdk-pixbuf-enum-types.h ) \
+       && rm -f tmp-gdk-pixbuf-enum-types.h \
+       && echo timestamp > $(@F)
+
+CLEANFILES += tmp-gdk-pixbuf-enum-types.h
+MAINTAINERCLEANFILES += s-enum-types-h
+
+#
+# gdk-pixbuf-enum-types.c
+#
+$(srcdir)/gdk-pixbuf-enum-types.c: @REBUILD@ $(gdk_pixbuf_headers) Makefile
+       cd $(srcdir) && glib-mkenums \
+               --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
+               --fprod "\n/* enumerations from \"@filename@\" */" \
+               --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"       \
+               --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+               --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+                 $(gdk_pixbuf_headers) > gdk-pixbuf-enum-types.c
+
+#
+# gdk-pixbuf-marshal.h
+#
+$(srcdir)/gdk-pixbuf-marshal.h: @REBUILD@ stamp-gdk-pixbuf-marshal.h
+       @true
+
+stamp-gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
+       case @GLIB_GENMARSHAL@ in                                                                       \
+          .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                               \
+          *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                                      \
+       esac;                                                                                           \
+       cd $(srcdir) \
+       && $$glib_genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >> xgen-gmh   \
+       && (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h)                   \
+       && rm -f xgen-gmh xgen-gmh~     \
+       && echo timestamp > $(@F)
+
+CLEANFILES += xgen-gmh
+MAINTAINERCLEANFILES += stamp-gdk-pixbuf-marshal.h
 
-libgdk_pixbufinclude_HEADERS = \
-       gdk-pixbuf.h            \
-       gdk-pixbuf-loader.h     \
-       gdk-pixbuf-features.h   \
-       $(CANVAS_PIXBUF_HEADERFILES)
+#
+# gdk-pixbuf-marshal.c
+#
+$(srcdir)/gdk-pixbuf-marshal.c: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
+       case @GLIB_GENMARSHAL@ in                                                                       \
+          .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                               \
+          *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                                      \
+       esac;                                                                                           \
+       cd $(srcdir) \
+       && $$glib_genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >> xgen-gmc     \
+       && cp xgen-gmc gdk-pixbuf-marshal.c                                                             \
+       && rm -f xgen-gmc xgen-gmc~
+
+CLEANFILES += xgen-gmc
+
+EXTRA_DIST =                   \
+        gdk-pixbuf-csource.1    \
+       makefile.msc            \
+       gdk_pixbuf.def          \
+       gdk_pixbuf.rc           \
+       gdk-pixbuf-marshal.c    \
+       gdk-pixbuf-marshal.list         \
+       pixbufloader_ico.def            \
+       pixbufloader_ani.def            \
+       pixbufloader_pnm.def            \
+       pixbufloader_xpm.def            \
+       pixbufloader_bmp.def            \
+       pixbufloader_jpeg.def           \
+       pixbufloader_ras.def            \
+       pixbufloader_gif.def            \
+       pixbufloader_png.def            \
+       pixbufloader_tiff.def           \
+       pixbufloader_wbmp.def           \
+       pixbufloader_xbm.def            \
+       pixbufloader_tga.def
+
+if CROSS_COMPILING
+RUN_QUERY_LOADER_TEST=false
+else
+RUN_QUERY_LOADER_TEST=test -z "$(DESTDIR)"
+endif
 
-noinst_HEADERS = \
-       gdk-pixbuf-io.h
+# Running this if cross compiling or if DESTDIR is set is going to
+# not work at all, so skip it
+install-data-local: install-ms-lib install-libtool-import-lib
+       @if $(RUN_QUERY_LOADER_TEST) ; then \
+         $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \
+         $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \
+       else \
+         echo "***" ; \
+         echo "*** Warning: gdk-pixbuf.loaders not built" ; \
+         echo "***" ; \
+         echo "*** Generate this file manually on on host" ; \
+         echo "*** system using gdk-pixbuf-query-loaders" ; \
+         echo "***" ; \
+       fi
+
+all-local: gdk-pixbuf.loaders
+
+gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders
+       if find . -name 'libpixbufloader-*.@SOEXT@' | grep '@SOEXT@' > /dev/null ; then \
+          echo "Writing a gdk-pixbuf.loader file to use when running examples before installing gdk-pixbuf."; \
+         GDK_PIXBUF_MODULEDIR=.libs $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > ./gdk-pixbuf.loaders ;\
+       else \
+          echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
+         touch gdk-pixbuf.loaders; \
+       fi
+
+uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib