]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
Updates.
[~andy/gtk] / gtk / Makefile.am
index 01ccba147d9c92c84e20789aa53104f68915edb5..f80b6e58e18366527ff3ee44b6a7644c89908d2c 100644 (file)
-### Process this file with automake to produce Makefile.in
+# Makefile.am for gtk+/gtk
 
-top_builddir_full=`cd \$(top_builddir); pwd`
+SUBDIRS=stock-icons
 
-gtkincludedir = $(includedir)/gtk
-
-lib_LTLIBRARIES = libgtk.la
-
-static_SOURCES = \
-       gtkaccelgroup.c         \
-       gtkaccellabel.c         \
-       gtkadjustment.c         \
-       gtkalignment.c          \
-       gtkarg.c                \
-       gtkarrow.c              \
-       gtkaspectframe.c        \
-       gtkbin.c                \
-       gtkbindings.c           \
-       gtkbbox.c               \
-       gtkbox.c                \
-       gtkbutton.c             \
-       gtkcalendar.c           \
-       gtkcheckbutton.c        \
-       gtkcheckmenuitem.c      \
-       gtkclist.c              \
-       gtkcolorsel.c           \
-       gtkcombo.c              \
-       gtkcontainer.c          \
-       gtkctree.c              \
-       gtkcurve.c              \
-       gtkdata.c               \
-       gtkdialog.c             \
-       gtkdnd.c                \
-       gtkdrawingarea.c        \
-       gtkeditable.c           \
-       gtkentry.c              \
-       gtkeventbox.c           \
-       gtkfilesel.c            \
-       gtkfixed.c              \
-       gtkfontsel.c            \
-       gtkframe.c              \
-       gtkgamma.c              \
-       gtkgc.c                 \
-       gtkhandlebox.c          \
-       gtkhbbox.c              \
-       gtkhbox.c               \
-       gtkhpaned.c             \
-       gtkhruler.c             \
-       gtkhscale.c             \
-       gtkhscrollbar.c         \
-       gtkhseparator.c         \
-       gtkimage.c              \
-       gtkinputdialog.c        \
-       gtkintl.h               \
-       gtkinvisible.c          \
-       gtkitem.c               \
-       gtkitemfactory.c        \
-       gtklabel.c              \
-       gtklayout.c             \
-       gtklist.c               \
-       gtklistitem.c           \
-       gtkmain.c               \
-       gtkmenu.c               \
-       gtkmenubar.c            \
-       gtkmenufactory.c        \
-       gtkmenuitem.c           \
-       gtkmenushell.c          \
-       gtkmisc.c               \
-       gtknotebook.c           \
-       gtkobject.c             \
-       gtkoptionmenu.c         \
-       gtkpacker.c             \
-       gtkpaned.c              \
-       gtkpixmap.c             \
-       gtkplug.c               \
-       gtkpreview.c            \
-       gtkprogress.c           \
-       gtkprogressbar.c        \
-       gtkradiobutton.c        \
-       gtkradiomenuitem.c      \
-       gtkrange.c              \
-       gtkrc.c                 \
-       gtkruler.c              \
-       gtkscale.c              \
-       gtkscrollbar.c          \
-       gtkscrolledwindow.c     \
-       gtkselection.c          \
-       gtkseparator.c          \
-       gtksignal.c             \
-       gtksocket.c             \
-       gtkspinbutton.c         \
-       gtkstyle.c              \
-       gtkstatusbar.c          \
-       gtktable.c              \
-       gtktearoffmenuitem.c    \
-       gtktext.c               \
-       gtkthemes.c             \
-       gtktipsquery.c          \
-       gtktogglebutton.c       \
-       gtktoolbar.c            \
-       gtktooltips.c           \
-       gtktree.c               \
-       gtktreeitem.c           \
-       gtktypeutils.c          \
-       gtkvbbox.c              \
-       gtkvbox.c               \
-       gtkviewport.c           \
-       gtkvpaned.c             \
-       gtkvruler.c             \
-       gtkvscale.c             \
-       gtkvscrollbar.c         \
-       gtkvseparator.c         \
-       gtkwidget.c             \
-       gtkwindow.c             \
-       fnmatch.c               \
-       fnmatch.h
-
-libgtk_la_SOURCES = \
-       $(static_SOURCES)       \
-       gtkmarshal.c
-
-# Source headers which are non-autogenerated headers
-source_headers = \
+INCLUDES = @STRIP_BEGIN@ \
+       -DG_LOG_DOMAIN=\"Gtk\"                          \
+       -DGTK_LIBDIR=\"$(libdir)\"                      \
+       -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
+       -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
+       -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
+       -DGTK_VERSION=\"@GTK_VERSION@\"                 \
+       -DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\"   \
+       -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\"  \
+       -DGTK_COMPILATION                               \
+       -I$(top_builddir)/gtk                           \
+       -I$(top_srcdir) -I../gdk                        \
+       -I$(top_srcdir)/gdk                             \
+       -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
+       @GTK_DEBUG_FLAGS@                               \
+       @GTK_DEP_CFLAGS@                                \
+@STRIP_END@
+
+gtarget=@gdktarget@
+
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+if OS_WIN32
+gtk_def = gtk.def
+gtk_win32_symbols = -export-symbols $(gtk_def)
+
+gtk_win32res_lo = gtk-win32res.lo
+
+gtk-win32res.lo : gtk-win32.rc
+       $(top_srcdir)/build/win32/lt-compile-resource gtk-win32.rc gtk-win32res.lo
+
+install-libtool-import-lib:
+       $(INSTALL) .libs/libgtk-win32-1.3.dll.a $(DESTDIR)$(libdir)
+uninstall-libtool-import-lib:
+       -rm $(DESTDIR)$(libdir)/libtk-win32-1.3.dll.a
+else
+install-libtool-import-lib:
+uninstall-libtool-import-lib:
+endif
+
+if MS_LIB_AVAILABLE
+noinst_DATA = gtk-win32-1.3.lib
+
+gtk-win32-1.3.lib: libgtk-win32-1.3.la gtk.def
+       lib -name:libgtk-win32-1.3-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
+
+install-ms-lib:
+       $(INSTALL) gtk-win32-1.3.lib $(DESTDIR)$(libdir)
+
+uninstall-ms-lib:
+       -rm $(DESTDIR)$(libdir)/gtk-win32-1.3.lib
+else
+install-ms-lib:
+uninstall-ms-lib:
+endif
+
+# libtool stuff: set version and export symbols for resolving
+# since automake doesn't support conditionalized libsomething_la_LDFLAGS
+# we use the general approach here
+libgtkincludedir = $(includedir)/gtk-2.0/gtk
+LDFLAGS = @STRIP_BEGIN@ \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
+       -export-dynamic                                         \
+       -rpath @prefix@/lib                                     \
+       $(no_undefined)                                         \
+       @LIBTOOL_EXPORT_OPTIONS@                                \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la         \
+       $(top_builddir)/gdk/@gdktargetlib@                      \
+       @GTK_DEP_LIBS@                                          \
+@STRIP_END@
+
+#
+# setup source file variables
+#
+
+# GTK+ header files for public installation (non-generated, or generated
+# by configure)
+gtk_public_h_sources = @STRIP_BEGIN@ \
        gtk.h                   \
        gtkaccelgroup.h         \
        gtkaccellabel.h         \
+       gtkaccessible.h         \
        gtkadjustment.h         \
        gtkalignment.h          \
-       gtkarg.h                \
        gtkarrow.h              \
        gtkaspectframe.h        \
        gtkbin.h                \
@@ -137,13 +98,20 @@ source_headers = \
        gtkcalendar.h           \
        gtkcheckbutton.h        \
        gtkcheckmenuitem.h      \
+       gtkseparatormenuitem.h  \
        gtkclist.h              \
+       gtkclipboard.h          \
        gtkcolorsel.h           \
+       gtkcolorseldialog.h     \
        gtkcombo.h              \
        gtkcontainer.h          \
        gtkctree.h              \
        gtkcurve.h              \
-       gtkdata.h               \
+       gtkcellrenderer.h       \
+       gtkcelleditable.h       \
+       gtkcellrenderertext.h   \
+       gtkcellrenderertoggle.h \
+       gtkcellrendererpixbuf.h \
        gtkdebug.h              \
        gtkdialog.h             \
        gtkdnd.h                \
@@ -166,7 +134,14 @@ source_headers = \
        gtkhscale.h             \
        gtkhscrollbar.h         \
        gtkhseparator.h         \
+       gtkhsv.h                \
+       gtkiconfactory.h        \
        gtkimage.h              \
+       gtkimagemenuitem.h      \
+       gtkimcontext.h          \
+       gtkimcontextsimple.h    \
+       gtkimmodule.h           \
+       gtkimmulticontext.h     \
        gtkinputdialog.h        \
        gtkinvisible.h          \
        gtkitem.h               \
@@ -175,17 +150,18 @@ source_headers = \
        gtklayout.h             \
        gtklist.h               \
        gtklistitem.h           \
+       gtkliststore.h          \
        gtkmain.h               \
        gtkmenu.h               \
        gtkmenubar.h            \
-       gtkmenufactory.h        \
        gtkmenuitem.h           \
        gtkmenushell.h          \
+       gtkmessagedialog.h      \
        gtkmisc.h               \
        gtknotebook.h           \
+       gtkoldeditable.h        \
        gtkobject.h             \
        gtkoptionmenu.h         \
-       gtkpacker.h             \
        gtkpaned.h              \
        gtkpixmap.h             \
        gtkplug.h               \
@@ -203,21 +179,40 @@ source_headers = \
        gtkscrolledwindow.h     \
        gtkselection.h          \
        gtkseparator.h          \
+       gtksettings.h           \
        gtksignal.h             \
+       gtksizegroup.h          \
        gtksocket.h             \
        gtkspinbutton.h         \
        gtkstyle.h              \
        gtkstatusbar.h          \
+       gtkstock.h              \
        gtktable.h              \
        gtktearoffmenuitem.h    \
+       gtktextbuffer.h         \
+       gtktextchild.h          \
+       gtktextdisplay.h        \
+       gtktextiter.h           \
+       gtktextlayout.h         \
+       gtktextmark.h           \
+       gtktexttag.h            \
+       gtktexttagtable.h       \
+       gtktextview.h           \
        gtktext.h               \
-       gtkthemes.h             \
        gtktipsquery.h          \
        gtktogglebutton.h       \
        gtktoolbar.h            \
        gtktooltips.h           \
        gtktree.h               \
+       gtktreednd.h            \
        gtktreeitem.h           \
+       gtktreemodel.h          \
+       gtktreemodelsort.h      \
+       gtktreeselection.h      \
+       gtktreesortable.h       \
+       gtktreestore.h          \
+       gtktreeview.h           \
+       gtktreeviewcolumn.h     \
        gtktypeutils.h          \
        gtkvbbox.h              \
        gtkvbox.h               \
@@ -228,233 +223,363 @@ source_headers = \
        gtkvscrollbar.h         \
        gtkvseparator.h         \
        gtkwidget.h             \
-       gtkwindow.h
-
-gtkinclude_HEADERS =           \
-       $(source_headers)       \
-       gtkcompat.h             \
+       gtkwindow.h             \
+@STRIP_END@
+# GTK+ header files that don't get installed
+gtk_private_h_sources = @STRIP_BEGIN@ \
+       gtkrbtree.h             \
+       gtktextbtree.h          \
+       gtktextchildprivate.h   \
+       gtktextsegment.h        \
+       gtktexttypes.h          \
+       gtktextiterprivate.h    \
+       gtktextmarkprivate.h    \
+       gtktexttagprivate.h     \
+       gtkthemes.h             \
+       gtktreedatalist.h       \
+       gtktreeprivate.h        \
+       gtkwindow-decorate.h    \
+@STRIP_END@
+# GTK+ C sources to build the library from
+gtk_c_sources = @STRIP_BEGIN@   \
+       gtkaccelgroup.c         \
+       gtkaccellabel.c         \
+       gtkaccessible.c         \
+       gtkadjustment.c         \
+       gtkalignment.c          \
+       gtkarrow.c              \
+       gtkaspectframe.c        \
+       gtkbin.c                \
+       gtkbindings.c           \
+       gtkbbox.c               \
+       gtkbox.c                \
+       gtkbutton.c             \
+       gtkcalendar.c           \
+       gtkcellrenderer.c       \
+       gtkcelleditable.c       \
+       gtkcellrenderertext.c   \
+       gtkcellrenderertoggle.c \
+       gtkcellrendererpixbuf.c \
+       gtkcheckbutton.c        \
+       gtkcheckmenuitem.c      \
+       gtkseparatormenuitem.c  \
+       gtkclipboard.c          \
+       gtkclist.c              \
+       gtkcolorsel.c           \
+       gtkcolorseldialog.c     \
+       gtkcombo.c              \
+       gtkcontainer.c          \
+       gtkctree.c              \
+       gtkcurve.c              \
+       gtkdialog.c             \
+       gtkdnd.c                \
+       gtkdrawingarea.c        \
+       gtkeditable.c           \
+       gtkentry.c              \
+       gtkeventbox.c           \
+       gtkfilesel.c            \
+       gtkfixed.c              \
+       gtkfontsel.c            \
+       gtkframe.c              \
+       gtkgamma.c              \
+       gtkgc.c                 \
+       gtkhandlebox.c          \
+       gtkhbbox.c              \
+       gtkhbox.c               \
+       gtkhpaned.c             \
+       gtkhruler.c             \
+       gtkhscale.c             \
+       gtkhscrollbar.c         \
+       gtkhseparator.c         \
+       gtkhsv.c                \
+       gtkiconfactory.c        \
+       gtkimage.c              \
+       gtkimagemenuitem.c      \
+       gtkimcontext.c          \
+       gtkimcontextsimple.c    \
+       gtkimmodule.c           \
+       gtkimmulticontext.c     \
+       gtkinputdialog.c        \
+       gtkintl.h               \
+       gtkinvisible.c          \
+       gtkitem.c               \
+       gtkitemfactory.c        \
+       gtklabel.c              \
+       gtklayout.c             \
+       gtklist.c               \
+       gtklistitem.c           \
+       gtkliststore.c          \
+       gtkmain.c               \
+       gtkmenu.c               \
+       gtkmenubar.c            \
+       gtkmenuitem.c           \
+       gtkmenushell.c          \
+       gtkmessagedialog.c      \
+       gtkmisc.c               \
+       gtknotebook.c           \
+       gtkobject.c             \
+       gtkoldeditable.c        \
+       gtkoptionmenu.c         \
+       gtkpaned.c              \
+       gtkpixmap.c             \
+       gtkpreview.c            \
+       gtkprogress.c           \
+       gtkprogressbar.c        \
+       gtkradiobutton.c        \
+       gtkradiomenuitem.c      \
+       gtkrange.c              \
+       gtkrbtree.c             \
+       gtkrc.c                 \
+       gtkruler.c              \
+       gtkscale.c              \
+       gtkscrollbar.c          \
+       gtkscrolledwindow.c     \
+       gtkselection.c          \
+       gtkseparator.c          \
+       gtksettings.c           \
+       gtksignal.c             \
+       gtksizegroup.c          \
+       gtkspinbutton.c         \
+       gtkstock.c              \
+       gtkstyle.c              \
+       gtkstatusbar.c          \
+       gtktable.c              \
+       gtktearoffmenuitem.c    \
+       gtktext.c               \
+       gtktextbtree.c          \
+       gtktextbuffer.c         \
+       gtktextchild.c          \
+       gtktextdisplay.c        \
+       gtktextiter.c           \
+       gtktextiterprivate.h    \
+       gtktextlayout.c         \
+       gtktextmark.c           \
+       gtktextmarkprivate.h    \
+       gtktextsegment.c        \
+       gtktexttag.c            \
+       gtktexttagtable.c       \
+       gtktexttypes.c          \
+       gtktextview.c           \
+       gtkthemes.c             \
+       gtktipsquery.c          \
+       gtktogglebutton.c       \
+       gtktoolbar.c            \
+       gtktooltips.c           \
+       gtktree.c               \
+       gtktreeitem.c           \
+       gtktreedatalist.c       \
+       gtktreednd.c            \
+       gtktreemodel.c          \
+       gtktreemodelsort.c      \
+       gtktreeselection.c      \
+       gtktreesortable.c       \
+       gtktreestore.c          \
+       gtktreeview.c           \
+       gtktreeviewcolumn.c     \
+       gtktypeutils.c          \
+       gtkvbbox.c              \
+       gtkvbox.c               \
+       gtkviewport.c           \
+       gtkvpaned.c             \
+       gtkvruler.c             \
+       gtkvscale.c             \
+       gtkvscrollbar.c         \
+       gtkvseparator.c         \
+       gtkwidget.c             \
+       gtkwindow.c             \
+       gtkwindow-decorate.c    \
+       fnmatch.c               \
+       fnmatch.h               \
+       xembed.h                \
+@STRIP_END@
+
+if USE_X11
+gtk_plug_c_sources = @STRIP_BEGIN@   \
+       gtkplug.c               \
+       gtksocket.c             \
+@STRIP_END@
+endif
+
+# we use our own built_sources variable rules to avoid automake's
+# BUILT_SOURCES oddities
+# we generate frequently rebuild files piggyback on a stamp file, so sources
+# depending on them only get rebuild when the built source actually changed
+# content
+
+# built sources that get installed with the header files
+gtk_built_public_sources = @STRIP_BEGIN@ \
        gtkmarshal.h            \
-       gtktypebuiltins.h
-
-# note gtk.defs, gtktypebuiltin* and gtkmarshal.[ch] aren't here, but
-# their stamps are.  Another trick is to use the temporary output files as
-# the stamp files.
-BUILT_SOURCES = \
-       s-gd s-gtb s-gtbv s-gtbi s-gtbe \
-       stamp-m 
-
-# cause the built sources to be rebuild when possible, even with --include-deps
-$(static_sources): $(BUILT_SOURCES)
-
-# More headers to use when autogenerating.
-gdk_headers = \
-       ../gdk/gdkcc.h          \
-       ../gdk/gdkcolor.h       \
-       ../gdk/gdkcursor.h      \
-       ../gdk/gdkdnd.h         \
-       ../gdk/gdkdrawable.h    \
-       ../gdk/gdkevents.h      \
-       ../gdk/gdkfont.h        \
-       ../gdk/gdkgc.h          \
-       ../gdk/gdkim.h          \
-       ../gdk/gdkimage.h       \
-       ../gdk/gdkinput.h       \
-       ../gdk/gdkpixmap.h      \
-       ../gdk/gdkproperty.h    \
-       ../gdk/gdkregion.h      \
-       ../gdk/gdkrgb.h         \
-       ../gdk/gdkselection.h   \
-       ../gdk/gdktypes.h       \
-       ../gdk/gdkvisual.h      \
-       ../gdk/gdkwindow.h
-
-# generate gtk.defs file from gtk-boxed.defs and *.h
-gtk.defs: @REBUILD@ s-gd
-       @:
-s-gd: @REBUILD@ makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
+       gtktypebuiltins.h       \
+@STRIP_END@
+# built sources that don't get installed
+gtk_built_sources = @STRIP_BEGIN@ \
+       stamp-gtk.defs          \
+       stamp-gtktypebuiltins.h \
+       stamp-gtkmarshal.h      \
+       gtktypebuiltins_vars.c  \
+       gtktypebuiltins_ids.c   \
+       gtktypebuiltins_evals.c \
+       gtkmarshal.c            \
+       gtk.defs                \
+       ${gtk_built_public_sources} \
+@STRIP_END@
+# non-header sources (headers should be specified in the above variables)
+# that don't serve as direct make target sources, i.e. they don't have
+# their own .lo rules and don't get publically installed
+gtk_extra_sources = @STRIP_BEGIN@ \
+       gtkversion.h.in         \
+       maketypes.awk           \
+       makeenums.h             \
+       gtk-boxed.defs          \
+       gtkmarshal.list         \
+@STRIP_END@
+
+#
+# setup GTK+ sources and their dependancies
+#
+gtk_target_headers = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkversion.h
+gtk_target_sources = $(gtk_c_sources) $(gtk_plug_c_sources)
+MAINTAINERCLEANFILES = $(gtk_built_sources)
+EXTRA_HEADERS =
+EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
+EXTRA_DIST += $(gtk_built_sources)
+
+#
+# rules to generate built sources
+#
+# setup autogeneration dependancies
+gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
+CLEANFILES = $(gen_sources)
+Makefile: oldest-source-stamp  # oh boy, does automake SUCK!
+oldest-source-stamp: $(gtk_built_sources)
+$(OBJECTS): oldest-source-stamp  ${gtk_built_public_sources} # this is our oldest file, used for implicit auto-generation deps
+# initial creation of the real stamp-* files
+gtk.defs gtkmarshal.h gtktypebuiltins.h:          # never add deps here
+       test -f "$(srcdir)/$@" || touch $(srcdir)/$@
+# normal autogeneration rules
+# all autogenerated files need to be generated in the srcdir,
+# so old versions get remade and are not confused with newer
+# versions in the build dir. thus a development setup requires
+# srcdir to be writable, passing --disable-rebuilds to
+# ../configure will supress all autogeneration rules.
+$(srcdir)/stamp-gtk.defs: @REBUILD@ gtk.defs gtk-boxed.defs $(gtk_public_h_sources)
+       case @GLIB_MKENUMS@ in                                                                  \
+          .*) glib_mkenums=`pwd`/@GLIB_MKENUMS@ ;;                     \
+          *) glib_mkenums=@GLIB_MKENUMS@ ;;                                                    \
+       esac;                                                                                   \
        cd $(srcdir) \
-       && $(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) > s-gd \
-       && cat gtk-boxed.defs >> s-gd \
-       && (cmp -s s-gd gtk.defs || cp s-gd gtk.defs)
-
-# generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
-gtktypebuiltins.h: @REBUILD@ s-gtb
-       @:
-s-gtb: @REBUILD@ s-gd maketypes.awk
+       && $$glib_mkenums --comments ";; @comment@" \
+                       --fprod "; enumerations from \"@filename@\"\n " \
+                       --vhead "(define-@type@ @EnumName@" \
+                       --vprod "   (@valuenick@ @VALUENAME@)" \
+                       --vtail ")" \
+                       $(gtk_public_h_sources) > xgen-gdef \
+       && cat gtk-boxed.defs >> xgen-gdef \
+       && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
+       && rm -f xgen-gdef \
+       && echo timestamp > $(@F)
+$(srcdir)/stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list gtkmarshal.h
+       case @GLIB_GENMARSHAL@ in                                                                       \
+          .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                               \
+          *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                                      \
+       esac;                                                                                           \
        cd $(srcdir) \
-       && $(AWK) -f maketypes.awk gtk.defs macros > s-gtb \
-       && (cmp -s s-gtb gtktypebuiltins.h || cp s-gtb gtktypebuiltins.h)
-
-# generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
-gtktypebuiltins_vars.c: @REBUILD@ s-gtbv
-       @:
-s-gtbv: @REBUILD@ s-gd maketypes.awk
+       && $$glib_genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
+       && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
+       && rm -f xgen-gmh xgen-gmh~ \
+       && echo timestamp > $(@F)
+$(srcdir)/gtkmarshal.c: @REBUILD@ $(srcdir)/stamp-gtkmarshal.h
+       case @GLIB_GENMARSHAL@ in                                                                       \
+          .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                               \
+          *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                                      \
+       esac;                                                                                           \
        cd $(srcdir) \
-       && $(AWK) -f maketypes.awk gtk.defs variables > s-gtbv \
-       && (cmp -s s-gtbv gtktypebuiltins_vars.c || cp s-gtbv gtktypebuiltins_vars.c)
-
-# generate type entries for type-id registration
-gtktypebuiltins_ids.c: @REBUILD@ s-gtbi
-       @:
-s-gtbi: @REBUILD@ s-gd maketypes.awk
+       && $$glib_genmarshal --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \
+       && cp xgen-gmc gtkmarshal.c \
+       && rm -f xgen-gmc xgen-gmc~
+$(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs gtktypebuiltins.h
        cd $(srcdir) \
-       && $(AWK) -f maketypes.awk gtk.defs entries > s-gtbi \
-       && (cmp -s s-gtbi gtktypebuiltins_ids.c || cp s-gtbi gtktypebuiltins_ids.c)
-
-# generate enum value arrays
-gtktypebuiltins_evals.c: @REBUILD@ s-gtbe 
-       @:
-s-gtbe: @REBUILD@ makeenums.pl s-gd
+       && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
+       && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
+       && rm -f xgen-gtbh \
+       && echo timestamp > $(@F)
+$(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs
        cd $(srcdir) \
-       && $(PERL) makeenums.pl arrays $(source_headers) $(gdk_headers) > \
-       s-gtbe \
-       && (cmp -s s-gtbe gtktypebuiltins_evals.c || cp s-gtbe gtktypebuiltins_evals.c)
-
-$(srcdir)/gtkmarshal.c $(srcdir)/gtkmarshal.h: @REBUILD@ stamp-m
-       @:
-stamp-m: @REBUILD@ $(srcdir)/gtkmarshal.list $(srcdir)/genmarshal.pl
-       (srcdir=$(srcdir) INDENT=$(INDENT) $(PERL) $(srcdir)/genmarshal.pl \
-       && (cmp -s s-gmc gtkmarshal.c || mv s-gmc gtkmarshal.c) \
-       && rm -f s-gmc \
-       && (cmp -s s-gmh gtkmarshal.h || mv s-gmh gtkmarshal.h) \
-       && rm -f s-gmh) \
-       && echo timestamp > stamp-m
-
-libgtk_la_LDFLAGS = \
-       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
-       -release $(LT_RELEASE)                                  \
-       @GLIB_DEPLIBS@                                          \
-       @x_ldflags@                                             \
-       @x_libs@                                                \
-       @GTK_LIBS_EXTRA@                                        \
-       -lm
-#      $(top_builddir)/gdk/libgdk.la
-
-gtkconfdir = $(sysconfdir)/gtk
-gtkconf_DATA = gtkrc gtkrc.bg gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
-       gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk \
-       gtkrc.iso88592 gtkrc.iso88595 gtkrc.iso885913 gtkrc.iso885914 \
-       gtkrc.iso885915 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
-       gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
-       gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii
-
-gtkrc:
-       :
+       && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
+       && cp xgen-gtbvc $(@F) \
+       && rm -f xgen-gtbvc
+$(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs
+       cd $(srcdir) \
+       && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
+       && cp xgen-gtbic $(@F) \
+       && rm -f xgen-gtbic
+$(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ $(gtk_public_h_sources)
+       case @GLIB_MKENUMS@ in                                                                  \
+          .*) glib_mkenums=`pwd`/@GLIB_MKENUMS@ ;;                     \
+          *) glib_mkenums=@GLIB_MKENUMS@ ;;                                                    \
+       esac;                                                                                   \
+       cd $(srcdir) \
+       && $$glib_mkenums \
+                       --fprod "\n/* enumerations from \"@filename@\" */" \
+                       --vhead "static const GtkEnumValue _@enum_name@_values[] = {" \
+                       --vprod "  { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+                       --vtail "  { 0, NULL, NULL }\n};" \
+                       $(gtk_public_h_sources) > xgen-gtbec \
+       && cp xgen-gtbec $(@F) \
+       && rm -f xgen-gtbec
+
+
+# target platform:
+lib_ltlibraries = @gtktargetlib@
+# now define the real one to workaround automake's mishandling
+lib_LTLIBRARIES = $(lib_ltlibraries)
+if USE_X11
+libgtk_x11_includedir = $(includedir)/gtk-2.0/gtk
+libgtk_x11_include_HEADERS = $(gtk_target_headers)
+libgtk_x11_1_3_la_SOURCES = $(gtk_target_sources)
+endif
+if USE_LINUX_FB
+libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
+libgtk_linux_fb_include_HEADERS = $(gtk_target_headers)
+libgtk_linux_fb_1_3_la_SOURCES = $(gtk_target_sources)
+endif
+if USE_WIN32
+libgtk_win32_includedir = $(includedir)/gtk-2.0/gtk
+libgtk_win32_include_HEADERS = $(gtk_target_headers)
+libgtk_win32_1_3_la_SOURCES = $(gtk_target_sources)
+libgtk_win32_1_3_la_LDFLAGS = $(gtk_win32_symbols) -lwsock32
+libgtk_win32_1_3_la_LIBADD = $(gtk_win32res_lo)
+libgtk_win32_1_3_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
+endif
+EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-linux-fb-1.3.la libgtk-win32-1.3.la
+
 
 # We create a dummy theme for the default GTK+ theme
+install-data-local:  install-ms-lib install-libtool-import-lib
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
+       echo "# Empty gtkrc for default theme" > $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
 
-install-data-local:
-       $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
-       echo "# Empty gtkrc for default theme" > \
-           $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
-       cd $(DESTDIR)$(gtkconfdir) ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.cs ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.hr ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.hu ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.pl ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.ro ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.sk ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.sl ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.sq ; \
-           $(LN_S) gtkrc.iso88592 gtkrc.sr_YU.iso88592 ; \
-           $(LN_S) gtkrc.iso88595 gtkrc.bg_BG.iso88595 ; \
-           $(LN_S) gtkrc.iso88595 gtkrc.mk ; \
-           $(LN_S) gtkrc.iso88595 gtkrc.sr ; \
-           $(LN_S) gtkrc.iso88595 gtkrc.ru_RU.iso88595 ; \
-           $(LN_S) gtkrc.iso885913 gtkrc.lt ; \
-           $(LN_S) gtkrc.iso885914 gtkrc.cy ; \
-           $(LN_S) gtkrc.iso885914 gtkrc.ga ; \
-           $(LN_S) gtkrc.iso885915 gtkrc.et ; \
-           $(LN_S) gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
-           $(LN_S) gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
-           $(LN_S) gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
-           $(LN_S) gtkrc.vi_VN.tcvn5712 gtkrc.vi
-
-
-uninstall-local:
-       rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
-
-EXTRA_DIST = \
-       $(gtkconf_DATA)         \
-       line-arrow.xbm          \
-       line-wrap.xbm           \
-       testgtk.1               \
-       testgtkrc               \
-       testgtkrc2              \
-       gtkcompat.h.in          \
-       makeenums.pl            \
-       makeenums.awk           \
-       maketypes.awk           \
-       makeenums.h             \
-       gtkargcollector.c       \
-       gtktypebuiltins_vars.c  \
-       gtktypebuiltins_ids.c   \
-       gtktypebuiltins_evals.c \
-       gtk-boxed.defs          \
-       gtk.defs                \
-       genmarshal.pl           \
-       gtkmarshal.list         \
-       check-y.xpm             \
-       check-n.xpm             \
-       test.xpm                \
-       marble.xpm              \
-       3DRings.xpm             \
-       FilesQueue.xpm          \
-       Modeller.xpm            \
-       tree_plus.xpm           \
-       tree_minus.xpm          \
-       tree_plus.xbm           \
-       tree_minus.xbm          \
-        circles.xbm            \
-       gtk.def                 \
-       makefile.msc
+uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
 
-INCLUDES = \
-       -DGTK_DISABLE_COMPAT_H                          \
-       -DG_LOG_DOMAIN=\"Gtk\"                          \
-       -DGTK_EXE_PREFIX=\"$(exec_prefix)\"             \
-       -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
-       -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
-       -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
-       -I$(top_srcdir) -I../gdk                        \
-       -I$(top_srcdir)/gdk                             \
-       -I$(top_srcdir)/gdk/x11                         \
-       @GTK_DEBUG_FLAGS@                               \
-       @GTK_XIM_FLAGS@                                 \
-       @GTK_LOCALE_FLAGS@                              \
-       @GLIB_CFLAGS@                                   \
-       @x_cflags@
-
-noinst_PROGRAMS = testgtk testinput testselection testrgb testdnd simple 
-# testthreads
-
-DEPS = \
-       libgtk.la                                       \
-       $(top_builddir)/gdk/libgdk.la
-
-LDADDS = \
-       libgtk.la                                       \
-       $(top_builddir)/gdk/libgdk.la                   \
-       @x_ldflags@                                     \
-       @x_libs@                                        \
-       @GLIB_LIBS@                                     \
-       -lm
-
-testgtk_DEPENDENCIES = $(DEPS)
-testinput_DEPENDENCIES = $(DEPS)
-#testthreads_DEPENDENCIES = $(DEPS)
-testselection_DEPENDENCIES = $(DEPS)
-testrgb_DEPENDENCIES = $(DEPS)
-testdnd_DEPENDENCIES = $(DEPS)
-simple_DEPENDENCIES = $(DEPS)
-
-testgtk_LDADD = $(LDADDS)
-testinput_LDADD = $(LDADDS)
-#testthreads_LDADD = $(LDADDS)
-testselection_LDADD = $(LDADDS)
-testrgb_LDADD = $(LDADDS)
-testdnd_LDADD = $(LDADDS)
-simple_LDADD = $(LDADDS)
+DEPS = @gtktargetlib@ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la $(top_builddir)/gdk/@gdktargetlib@
+TEST_DEPS = $(DEPS) gtk.immodules
+
+LDADDS = @STRIP_BEGIN@ \
+       @gtktargetlib@                                  \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
+       $(top_builddir)/gdk/@gdktargetlib@              \
+@STRIP_END@
+
+#
+# Installed tools
+#
+bin_PROGRAMS = gtk-query-immodules-2.0
+
+gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
+gtk_query_immodules_2_0_LDADD = $(LDADDS)
+
+gtk_query_immodules_2_0_SOURCES = queryimmodules.c
 
 .PHONY: files test test-debug
 
@@ -463,13 +588,22 @@ files:
          echo $$p; \
        done
 
-test: testgtk
-       builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
-       cd $$builddir; cd $(srcdir); \
-       $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
+EXTRA_DIST += @STRIP_BEGIN@    \
+       oldest-source-stamp     \
+       line-arrow.xbm          \
+       line-wrap.xbm           \
+       tree_plus.xbm           \
+       tree_minus.xbm          \
+       tree_minus.xpm          \
+       tree_plus.xpm           \
+       gtk.def                 \
+       gtk-win32.rc            \
+       gtk-win32.rc.in         \
+       makefile.mingw          \
+       makefile.mingw.in       \
+       makefile.msc            \
+       makefile.msc.in         \
+@STRIP_END@
 
-test-debug: testgtk
-       builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
-       cd $$builddir; cd $(srcdir); \
-       $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
+install-data-local: