]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
If major.minor of required and available glib versions are the same, add
[~andy/gtk] / gtk / Makefile.am
index e86a3302ef2e76db47ce5f92233f2e0bdf85dc9d..961c55cfd9e0f5f1b984f8d096ea519fecf4a74f 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile.am for gtk+/gtk
 
-SUBDIRS=stock-icons theme-bits
+SUBDIRS=theme-bits
 
 if OS_UNIX
 SUBDIRS += xdgmime
@@ -22,7 +22,6 @@ INCLUDES =                                            \
        -I$(top_srcdir) -I../gdk                        \
        -I$(top_srcdir)/gdk                             \
        -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
-       -DG_DISABLE_DEPRECATED                          \
        -DGDK_PIXBUF_DISABLE_DEPRECATED                 \
        -DGDK_DISABLE_DEPRECATED                        \
        -DGTK_DISABLE_DEPRECATED                        \
@@ -40,18 +39,19 @@ if OS_WIN32
 gtk_def = gtk.def
 gtk_win32_symbols = -export-symbols $(gtk_def)
 
-gtk_win32res_lo = gtk-win32res.lo
+gtk_win32_res = gtk-win32-res.o
+gtk_win32_res_ldflag = -Wl,$(gtk_win32_res)
 
-gtk-win32res.lo : gtk-win32.rc
-       $(top_srcdir)/build/win32/lt-compile-resource gtk-win32.rc gtk-win32res.lo
+gtk-win32-res.o : gtk-win32.rc
+       $(WINDRES) gtk-win32.rc $@
 
-install-libtool-import-lib:
-       $(INSTALL) .libs/libgtk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
-uninstall-libtool-import-lib:
-       -rm $(DESTDIR)$(libdir)/libtk-win32-$(GTK_API_VERSION).dll.a
+install-def-file: gtk.def
+       $(INSTALL) $(gtk_def) $(DESTDIR)$(libdir)/gtk-win32-2.0.def
+uninstall-def-file:
+       -rm $(DESTDIR)$(libdir)/gtk-win32-2.0.def
 else
-install-libtool-import-lib:
-uninstall-libtool-import-lib:
+install-def-file:
+uninstall-def-file:
 endif
 
 if MS_LIB_AVAILABLE
@@ -71,12 +71,14 @@ uninstall-ms-lib:
 endif
 
 gtk.def: gtk.symbols
-       (echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES -DG_OS_WIN32 $(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/      /' -e 's/G_GNUC_[^ ]*//g') > gtk.def
+       (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/    /' -e 's/G_GNUC_[^ ]*//g') > gtk.def
 
 gtkalias.h: gtk.symbols
-         $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
+         $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
+gtkaliasdef.c: gtk.symbols
+         $(PERL) $(srcdir)/makegtkalias.pl -def < $(srcdir)/gtk.symbols > gtkaliasdef.c
 
-if OS_UNIX
+if OS_LINUX
 TESTS = abicheck.sh
 endif
 
@@ -119,6 +121,7 @@ gtk_public_h_sources =          \
        gtkalignment.h          \
        gtkarrow.h              \
        gtkaspectframe.h        \
+       gtkassistant.h          \
        gtkbbox.h               \
        gtkbin.h                \
        gtkbindings.h           \
@@ -128,6 +131,7 @@ gtk_public_h_sources =          \
        gtkcelleditable.h       \
        gtkcelllayout.h         \
        gtkcellrenderer.h       \
+       gtkcellrendereraccel.h  \
        gtkcellrenderercombo.h  \
        gtkcellrendererpixbuf.h \
        gtkcellrendererprogress.h \
@@ -193,6 +197,7 @@ gtk_public_h_sources =          \
        gtkitemfactory.h        \
        gtklabel.h              \
        gtklayout.h             \
+       gtklinkbutton.h         \
        gtklist.h               \
        gtklistitem.h           \
        gtkliststore.h          \
@@ -236,6 +241,7 @@ gtk_public_h_sources =          \
        gtksocket.h             \
        gtkspinbutton.h         \
        gtkstatusbar.h          \
+       gtkstatusicon.h         \
        gtkstock.h              \
        gtkstyle.h              \
        gtktable.h              \
@@ -289,6 +295,7 @@ gtk_semi_private_h_sources =    \
 
 # GTK+ header files that don't get installed
 gtk_private_h_sources =                \
+       gtkdndcursors.h         \
        gtkentryprivate.h       \
        gtkfilechooserembed.h   \
        gtkfilechooserentry.h   \
@@ -299,8 +306,10 @@ gtk_private_h_sources =            \
        gtkfilesystemmodel.h    \
        gtkiconcache.h          \
        gtkpathbar.h            \
+       gtkplugprivate.h        \
        gtkrbtree.h             \
        gtksequence.h           \
+       gtksocketprivate.h      \
        gtktextbtree.h          \
        gtktextchildprivate.h   \
        gtktextsegment.h        \
@@ -329,6 +338,7 @@ gtk_c_sources =                 \
        gtkalignment.c          \
        gtkarrow.c              \
        gtkaspectframe.c        \
+       gtkassistant.c          \
        gtkbbox.c               \
        gtkbin.c                \
        gtkbindings.c           \
@@ -338,6 +348,7 @@ gtk_c_sources =                 \
        gtkcelleditable.c       \
        gtkcelllayout.c         \
        gtkcellrenderer.c       \
+       gtkcellrendereraccel.c  \
        gtkcellrenderercombo.c  \
        gtkcellrendererpixbuf.c \
        gtkcellrendererprogress.c \
@@ -412,6 +423,7 @@ gtk_c_sources =                 \
        gtkkeyhash.h            \
        gtklabel.c              \
        gtklayout.c             \
+       gtklinkbutton.c         \
        gtklist.c               \
        gtklistitem.c           \
        gtkliststore.c          \
@@ -425,6 +437,8 @@ gtk_c_sources =                 \
        gtkmenutoolbutton.c     \
        gtkmessagedialog.c      \
        gtkmisc.c               \
+       gtkmnemonichash.c       \
+       gtkmnemonichash.h       \
        gtkmodules.c            \
        gtknotebook.c           \
        gtkobject.c             \
@@ -433,6 +447,7 @@ gtk_c_sources =                 \
        gtkpaned.c              \
        gtkpathbar.c            \
        gtkpixmap.c             \
+       gtkplug.c               \
        gtkpreview.c            \
        gtkprogress.c           \
        gtkprogressbar.c        \
@@ -455,8 +470,10 @@ gtk_c_sources =                 \
        gtksettings.c           \
        gtksignal.c             \
        gtksizegroup.c          \
+       gtksocket.c             \
        gtkspinbutton.c         \
        gtkstatusbar.c          \
+       gtkstatusicon.c         \
        gtkstock.c              \
        gtkstyle.c              \
        gtktable.c              \
@@ -524,11 +541,21 @@ gtk_private_h_sources += gtkfilesystemwin32.h
 gtk_c_sources +=         gtkfilesystemwin32.c
 endif
 
-gtk_plug_c_sources =            \
-       gtkplug.c               \
-       gtksocket.c             \
-       gtkxembed.c             \
-       gtkxembed.h
+if USE_X11
+gtk_private_h_sources += gtkxembed.h gtktrayicon.h
+gtk_c_sources += \
+       gtkplug-x11.c   \
+       gtksocket-x11.c \
+       gtkxembed.c     \
+       gtktrayicon-x11.c
+else
+if USE_WIN32
+gtk_private_h_sources += gtkwin32embed.h
+gtk_c_sources +=         gtkplug-win32.c gtksocket-win32.c gtkwin32embed.c
+else
+gtk_c_sources +=         gtkplug-stub.c gtksocket-stub.c
+endif
+endif
 
 # we use our own built_sources variable rules to avoid automake's
 # BUILT_SOURCES oddities
@@ -544,9 +571,11 @@ gtk_built_public_sources =                 \
 # built sources that don't get installed
 gtk_built_private_headers =                    \
        gtkalias.h                              \
-       gtkmarshalers.h
+       gtkmarshalers.h                         \
+       gtkbuiltincache.h
 
 gtk_built_sources =                            \
+       gtkaliasdef.c                           \
        gtktypebuiltins.c                       \
        gtkmarshalers.c                         \
        gtkmarshalers.h                         \
@@ -619,7 +648,7 @@ gtkmarshal.c: @REBUILD@ gtkmarshal.list
 gtktypebuiltins.h: stamp-gtktypebuiltins.h
        @true
 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
-       ( cd $(srcdir) && glib-mkenums \
+       ( cd $(srcdir) && $(GLIB_MKENUMS) \
                        --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
                        --fprod "/* enumerations from \"@filename@\" */\n" \
                        --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
@@ -629,12 +658,13 @@ stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
        && rm -f xgen-gtbh \
        && echo timestamp > $(@F)
 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
-       ( cd $(srcdir) && glib-mkenums \
-                       --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtkalias.h\"\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
+       ( cd $(srcdir) && $(GLIB_MKENUMS) \
+                       --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"\n#include \"gtkalias.h\"\n" \
+                       --ftail "#define __GTK_TYPE_BUILTINS_C__\n#include \"gtkaliasdef.c\"\n" \
                        --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" \
+                       --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
                $(gtk_public_h_sources) ) > xgen-gtbc \
        && cp xgen-gtbc gtktypebuiltins.c  \
        && rm -f xgen-gtbc
@@ -645,23 +675,26 @@ lib_LTLIBRARIES = $(gtktargetlib)
 gtkincludedir = $(includedir)/gtk-2.0/gtk
 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
 
-libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
+libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
+libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
 
 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
 libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts)
+libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
 
 libgtk_x11_2_0_la_LIBADD = $(libadd)
 libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
-libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo)
-libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
+libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32
+libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res)
+libgtk_quartz_2_0_la_LIBADD = $(libadd)
 
 if USE_WIN32
-libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
+libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
 endif
-EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
+EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la
 
 install-exec-hook: 
 if DISABLE_EXPLICIT_DEPS
@@ -669,16 +702,16 @@ if DISABLE_EXPLICIT_DEPS
 endif
 
 # Install a RC file for the default GTK+ theme, and key themes
-install-data-local: install-ms-lib install-libtool-import-lib
-       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
-       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+install-data-local: install-ms-lib install-def-file
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
+       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
        $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
        $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
        $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
        $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
 
-uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
-       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+uninstall-local: uninstall-ms-lib uninstall-def-file
+       rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
        rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
        rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
 
@@ -708,9 +741,7 @@ gtk_query_immodules_2_0_LDADD = $(LDADDS)
 
 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
 
-
-gtk_update_icon_cache_DEPENDENCIES = $(DEPS)
-gtk_update_icon_cache_LDADD = $(LDADDS)
+gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
 
 gtk_update_icon_cache_SOURCES = updateiconcache.c
 
@@ -721,7 +752,250 @@ files:
          echo $$p; \
        done
 
+STOCK_ICONS = \
+       stock-icons/16/gtk-about.png                    \
+       stock-icons/16/gtk-add.png                      \
+       stock-icons/16/gtk-cdrom.png                    \
+       stock-icons/16/gtk-connect.png                  \
+       stock-icons/16/gtk-convert.png                  \
+       stock-icons/16/gtk-copy.png                     \
+       stock-icons/16/gtk-cut.png                      \
+       stock-icons/16/gtk-delete.png                   \
+       stock-icons/16/gtk-directory.png                \
+       stock-icons/16/gtk-disconnect.png               \
+       stock-icons/16/gtk-edit.png                     \
+       stock-icons/16/gtk-execute.png                  \
+       stock-icons/16/gtk-file.png                     \
+       stock-icons/16/gtk-find-and-replace.png         \
+       stock-icons/16/gtk-find.png                     \
+       stock-icons/16/gtk-floppy.png                   \
+       stock-icons/16/gtk-fullscreen.png               \
+       stock-icons/16/gtk-go-back-ltr.png              \
+       stock-icons/16/gtk-go-down.png                  \
+       stock-icons/16/gtk-go-forward-ltr.png           \
+       stock-icons/16/gtk-goto-bottom.png              \
+       stock-icons/16/gtk-goto-first-ltr.png           \
+       stock-icons/16/gtk-goto-last-ltr.png            \
+       stock-icons/16/gtk-goto-top.png                 \
+       stock-icons/16/gtk-go-up.png                    \
+       stock-icons/16/gtk-harddisk.png                 \
+       stock-icons/16/gtk-help.png                     \
+       stock-icons/16/gtk-home.png                     \
+       stock-icons/16/gtk-indent-ltr.png               \
+       stock-icons/16/gtk-indent-rtl.png               \
+       stock-icons/16/gtk-index.png                    \
+       stock-icons/16/gtk-info.png                     \
+       stock-icons/16/gtk-jump-to-ltr.png              \
+       stock-icons/16/gtk-jump-to-rtl.png              \
+       stock-icons/16/gtk-justify-center.png           \
+       stock-icons/16/gtk-justify-fill.png             \
+       stock-icons/16/gtk-justify-left.png             \
+       stock-icons/16/gtk-justify-right.png            \
+       stock-icons/16/gtk-leave-fullscreen.png         \
+       stock-icons/16/gtk-media-forward-ltr.png        \
+       stock-icons/16/gtk-media-next-ltr.png           \
+       stock-icons/16/gtk-media-pause.png              \
+       stock-icons/16/gtk-media-play-ltr.png           \
+       stock-icons/16/gtk-media-play-rtl.png           \
+       stock-icons/16/gtk-media-previous-ltr.png       \
+       stock-icons/16/gtk-media-record.png             \
+       stock-icons/16/gtk-media-rewind-ltr.png         \
+       stock-icons/16/gtk-media-stop.png               \
+       stock-icons/16/gtk-missing-image.png            \
+       stock-icons/16/gtk-network.png                  \
+       stock-icons/16/gtk-new.png                      \
+       stock-icons/16/gtk-open.png                     \
+       stock-icons/16/gtk-paste.png                    \
+       stock-icons/16/gtk-preferences.png              \
+       stock-icons/16/gtk-print.png                    \
+       stock-icons/16/gtk-print-preview.png            \
+       stock-icons/16/gtk-properties.png               \
+       stock-icons/16/gtk-quit.png                     \
+       stock-icons/16/gtk-redo-ltr.png                 \
+       stock-icons/16/gtk-redo-rtl.png                 \
+       stock-icons/16/gtk-refresh.png                  \
+       stock-icons/16/gtk-remove.png                   \
+       stock-icons/16/gtk-revert-to-saved-ltr.png      \
+       stock-icons/16/gtk-revert-to-saved-rtl.png      \
+       stock-icons/16/gtk-save-as.png                  \
+       stock-icons/16/gtk-select-all.png               \
+       stock-icons/16/gtk-select-font.png              \
+       stock-icons/16/gtk-sort-ascending.png           \
+       stock-icons/16/gtk-sort-descending.png          \
+       stock-icons/16/gtk-spell-check.png              \
+       stock-icons/16/gtk-stop.png                     \
+       stock-icons/16/gtk-strikethrough.png            \
+       stock-icons/16/gtk-font.png                     \
+       stock-icons/16/gtk-undelete-ltr.png             \
+       stock-icons/16/gtk-undelete-rtl.png             \
+       stock-icons/16/gtk-underline.png                \
+       stock-icons/16/gtk-undo-ltr.png                 \
+       stock-icons/16/gtk-undo-rtl.png                 \
+       stock-icons/16/gtk-unindent-ltr.png             \
+       stock-icons/16/gtk-unindent-rtl.png             \
+       stock-icons/16/gtk-zoom-100.png                 \
+       stock-icons/16/gtk-zoom-fit.png                 \
+       stock-icons/16/gtk-zoom-in.png                  \
+       stock-icons/16/gtk-zoom-out.png                 \
+       stock-icons/16/gtk-italic.png                   \
+       stock-icons/16/gtk-bold.png                     \
+       stock-icons/20/gtk-apply.png                    \
+       stock-icons/20/gtk-cancel.png                   \
+       stock-icons/20/gtk-close.png                    \
+       stock-icons/20/gtk-no.png                       \
+       stock-icons/20/gtk-ok.png                       \
+       stock-icons/20/gtk-yes.png                      \
+       stock-icons/24/gtk-about.png                    \
+       stock-icons/24/gtk-add.png                      \
+       stock-icons/24/gtk-bold.png                     \
+       stock-icons/24/gtk-cdrom.png                    \
+       stock-icons/24/gtk-clear.png                    \
+       stock-icons/24/gtk-close.png                    \
+       stock-icons/24/gtk-color-picker.png             \
+       stock-icons/24/gtk-connect.png                  \
+       stock-icons/24/gtk-convert.png                  \
+       stock-icons/24/gtk-copy.png                     \
+       stock-icons/24/gtk-cut.png                      \
+       stock-icons/24/gtk-directory.png                \
+       stock-icons/24/gtk-disconnect.png               \
+       stock-icons/24/gtk-edit.png                     \
+       stock-icons/24/gtk-execute.png                  \
+       stock-icons/24/gtk-file.png                     \
+       stock-icons/24/gtk-find-and-replace.png         \
+       stock-icons/24/gtk-find.png                     \
+       stock-icons/24/gtk-font.png                     \
+       stock-icons/24/gtk-fullscreen.png               \
+       stock-icons/24/gtk-go-back-ltr.png              \
+       stock-icons/24/gtk-goto-top.png                 \
+       stock-icons/24/gtk-go-down.png                  \
+       stock-icons/24/gtk-goto-bottom.png              \
+       stock-icons/24/gtk-goto-first-ltr.png           \
+       stock-icons/24/gtk-goto-last-ltr.png            \
+       stock-icons/24/gtk-go-up.png                    \
+       stock-icons/24/gtk-harddisk.png                 \
+       stock-icons/24/gtk-help.png                     \
+       stock-icons/24/gtk-home.png                     \
+       stock-icons/24/gtk-indent-ltr.png               \
+       stock-icons/24/gtk-indent-rtl.png               \
+       stock-icons/24/gtk-index.png                    \
+       stock-icons/24/gtk-info.png                     \
+       stock-icons/24/gtk-italic.png                   \
+       stock-icons/24/gtk-jump-to-ltr.png              \
+       stock-icons/24/gtk-jump-to-rtl.png              \
+       stock-icons/24/gtk-justify-center.png           \
+       stock-icons/24/gtk-justify-fill.png             \
+       stock-icons/24/gtk-justify-left.png             \
+       stock-icons/24/gtk-justify-right.png            \
+       stock-icons/24/gtk-leave-fullscreen.png         \
+       stock-icons/24/gtk-media-forward-ltr.png        \
+       stock-icons/24/gtk-media-next-ltr.png           \
+       stock-icons/24/gtk-media-pause.png              \
+       stock-icons/24/gtk-media-play-ltr.png           \
+       stock-icons/24/gtk-media-play-rtl.png           \
+       stock-icons/24/gtk-media-previous-ltr.png       \
+       stock-icons/24/gtk-media-record.png             \
+       stock-icons/24/gtk-media-rewind-ltr.png         \
+       stock-icons/24/gtk-media-stop.png               \
+       stock-icons/24/gtk-missing-image.png            \
+       stock-icons/24/gtk-network.png                  \
+       stock-icons/24/gtk-new.png                      \
+       stock-icons/24/gtk-open.png                     \
+       stock-icons/24/gtk-paste.png                    \
+       stock-icons/24/gtk-preferences.png              \
+       stock-icons/24/gtk-print.png                    \
+       stock-icons/24/gtk-print-preview.png            \
+       stock-icons/24/gtk-properties.png               \
+       stock-icons/24/gtk-quit.png                     \
+       stock-icons/24/gtk-redo-ltr.png                 \
+       stock-icons/24/gtk-redo-rtl.png                 \
+       stock-icons/24/gtk-refresh.png                  \
+       stock-icons/24/gtk-remove.png                   \
+       stock-icons/24/gtk-revert-to-saved-ltr.png      \
+       stock-icons/24/gtk-revert-to-saved-rtl.png      \
+       stock-icons/24/gtk-select-font.png              \
+       stock-icons/24/gtk-save-as.png                  \
+       stock-icons/24/gtk-floppy.png                   \
+       stock-icons/24/gtk-select-all.png               \
+       stock-icons/24/gtk-select-color.png             \
+       stock-icons/24/gtk-sort-ascending.png           \
+       stock-icons/24/gtk-sort-descending.png          \
+       stock-icons/24/gtk-spell-check.png              \
+       stock-icons/24/gtk-stop.png                     \
+       stock-icons/24/gtk-strikethrough.png            \
+       stock-icons/24/gtk-delete.png                   \
+       stock-icons/24/gtk-undelete-ltr.png             \
+       stock-icons/24/gtk-undelete-rtl.png             \
+       stock-icons/24/gtk-underline.png                \
+       stock-icons/24/gtk-undo-ltr.png                 \
+       stock-icons/24/gtk-undo-rtl.png                 \
+       stock-icons/24/gtk-unindent-ltr.png             \
+       stock-icons/24/gtk-unindent-rtl.png             \
+       stock-icons/24/gtk-zoom-100.png                 \
+       stock-icons/24/gtk-zoom-fit.png                 \
+       stock-icons/24/gtk-zoom-in.png                  \
+       stock-icons/24/gtk-zoom-out.png                 \
+       stock-icons/24/gtk-go-forward-ltr.png           \
+       stock-icons/32/gtk-dnd-multiple.png             \
+       stock-icons/32/gtk-dnd.png                      \
+       stock-icons/48/gtk-dialog-authentication.png    \
+       stock-icons/48/gtk-dialog-error.png             \
+       stock-icons/48/gtk-dialog-info.png              \
+       stock-icons/48/gtk-dialog-question.png          \
+       stock-icons/48/gtk-dialog-warning.png
+
+GENERATED_ICONS = \
+       stock-icons/16/gtk-go-back-rtl.png              \
+       stock-icons/16/gtk-go-forward-rtl.png           \
+       stock-icons/16/gtk-goto-first-rtl.png           \
+       stock-icons/16/gtk-goto-last-rtl.png            \
+       stock-icons/16/gtk-media-forward-rtl.png        \
+       stock-icons/16/gtk-media-next-rtl.png           \
+       stock-icons/16/gtk-media-previous-rtl.png       \
+       stock-icons/16/gtk-media-rewind-rtl.png         \
+       stock-icons/16/gtk-save.png                     \
+       stock-icons/24/gtk-go-back-rtl.png              \
+       stock-icons/24/gtk-go-forward-rtl.png           \
+       stock-icons/24/gtk-goto-first-rtl.png           \
+       stock-icons/24/gtk-goto-last-rtl.png            \
+       stock-icons/24/gtk-media-forward-rtl.png        \
+       stock-icons/24/gtk-media-next-rtl.png           \
+       stock-icons/24/gtk-media-previous-rtl.png       \
+       stock-icons/24/gtk-media-rewind-rtl.png         \
+       stock-icons/24/gtk-save.png
+
+stamp-icons: $(STOCK_ICONS)
+       for i in 16 24; do                                                      \
+          (cd $(srcdir)/stock-icons/$$i                                        \
+          && rm -f gtk-go-back-rtl.png                                         \
+          && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png                \
+          && rm -f gtk-go-forward-rtl.png                                      \
+          && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png                \
+          && rm -f gtk-goto-first-rtl.png                                      \
+          && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png              \
+          && rm -f gtk-goto-last-rtl.png                                       \
+          && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png              \
+          && rm -f gtk-media-forward-rtl.png                                   \
+          && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png        \
+          && rm -f gtk-media-next-rtl.png                                      \
+          && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png         \
+          && rm -f gtk-media-previous-rtl.png                                  \
+          && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png         \
+          && rm -f gtk-media-rewind-rtl.png                                    \
+          && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png        \
+          && rm -f gtk-save.png                                                \
+          && $(LN_S) gtk-floppy.png gtk-save.png)                              \
+       done                                                                    \
+       && touch stamp-icons
+
+gtkbuiltincache.h: @REBUILD@ gtk-update-icon-cache$(EXEEXT) stamp-icons
+       ./gtk-update-icon-cache --force --ignore-theme-index    \
+          --source builtin_icons stock-icons > gtkbuiltincache.h
+
+MAINTAINERCLEANFILES += stamp-icons
+
 EXTRA_DIST +=                   \
+       $(STOCK_ICONS)          \
+       $(GENERATED_ICONS)      \
        line-arrow.xbm          \
        line-wrap.xbm           \
        tree_plus.xbm           \
@@ -731,6 +1005,7 @@ EXTRA_DIST +=                   \
        gtk.def                 \
        gtk-win32.rc            \
        gtk-win32.rc.in         \
+       gtkwin32embed.h         \
        gtkfilesystemwin32.h    \
        gtkfilesystemwin32.c    \
        gtkrc.default           \