]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
Style improvements that I forgot about in last commit.
[~andy/gtk] / gtk / Makefile.am
index dce331ac3fec29937bcbebb0da8df574faeb9f94..c4cc593d9eb34a34deb46302d89289536d8ade01 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile.am for gtk+/gtk
 
-SUBDIRS=stock-icons
+SUBDIRS=stock-icons theme-bits
 
 INCLUDES = @STRIP_BEGIN@ \
        -DG_LOG_DOMAIN=\"Gtk\"                          \
@@ -10,12 +10,16 @@ INCLUDES = @STRIP_BEGIN@ \
        -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
        -DGTK_VERSION=\"@GTK_VERSION@\"                 \
        -DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\"   \
-       -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\"  \
+       -DGTK_HOST=\"@host@\"                           \
        -DGTK_COMPILATION                               \
        -I$(top_builddir)/gtk                           \
        -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                        \
        @GTK_DEBUG_FLAGS@                               \
        @GTK_DEP_CFLAGS@                                \
 @STRIP_END@
@@ -36,25 +40,25 @@ 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)
+       $(INSTALL) .libs/libgtk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
 uninstall-libtool-import-lib:
-       -rm $(DESTDIR)$(libdir)/libtk-win32-1.3.dll.a
+       -rm $(DESTDIR)$(libdir)/libtk-win32-$(GTK_API_VERSION).dll.a
 else
 install-libtool-import-lib:
 uninstall-libtool-import-lib:
 endif
 
 if MS_LIB_AVAILABLE
-noinst_DATA = gtk-win32-1.3.lib
+noinst_DATA = gtk-win32-$(GTK_API_VERSION).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:$@
+gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
+       lib -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
 
 install-ms-lib:
-       $(INSTALL) gtk-win32-1.3.lib $(DESTDIR)$(libdir)
+       $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
 
 uninstall-ms-lib:
-       -rm $(DESTDIR)$(libdir)/gtk-win32-1.3.lib
+       -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib
 else
 install-ms-lib:
 uninstall-ms-lib:
@@ -65,15 +69,16 @@ endif
 # 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 $(libdir)                                        \
-       $(no_undefined)                                         \
-       @LIBTOOL_EXPORT_OPTIONS@                                \
-       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la         \
-       $(top_builddir)/gdk/@gdktargetlib@                      \
-       $(libgtk_target_ldflags)                                \
-       @GTK_DEP_LIBS@                                          \
+       @LDFLAGS@                                                               \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)                    \
+       -export-dynamic                                                         \
+       -rpath $(libdir)                                                        \
+       $(no_undefined)                                                         \
+       @LIBTOOL_EXPORT_OPTIONS@                                                \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la          \
+       $(top_builddir)/gdk/@gdktargetlib@                                      \
+       $(libgtk_target_ldflags)                                                \
+       @GTK_DEP_LIBS@                                                          \
 @STRIP_END@
 
 #
@@ -308,6 +313,8 @@ gtk_c_sources = @STRIP_BEGIN@   \
        gtkinvisible.c          \
        gtkitem.c               \
        gtkitemfactory.c        \
+       gtkkeyhash.c            \
+       gtkkeyhash.h            \
        gtklabel.c              \
        gtklayout.c             \
        gtklist.c               \
@@ -383,6 +390,7 @@ gtk_c_sources = @STRIP_BEGIN@   \
        gtktreestore.c          \
        gtktreeview.c           \
        gtktreeviewcolumn.c     \
+       gtktypebuiltins.c       \
        gtktypeutils.c          \
        gtkvbbox.c              \
        gtkvbox.c               \
@@ -416,28 +424,28 @@ gtk_built_public_sources = @STRIP_BEGIN@ \
        gtkmarshal.h            \
        gtktypebuiltins.h       \
 @STRIP_END@
-# built sources that don't get installed
-gtk_built_sources = @STRIP_BEGIN@ \
-       stamp-gtk.defs          \
-       stamp-gtktypebuiltins.h \
-       stamp-gtkmarshalers.h   \
-       gtktypebuiltins_vars.c  \
-       gtktypebuiltins_ids.c   \
-       gtktypebuiltins_evals.c \
-       gtkmarshalers.c         \
+gtk_built_private_headers = @STRIP_BEGIN@ \
        gtkmarshalers.h         \
-       gtkmarshal.c            \
-       gtk.defs                \
-       ${gtk_built_public_sources} \
+@STRIP_END@
+# built sources that don't get installed
+gtk_built_sources = @STRIP_BEGIN@              \
+       gtktypebuiltins.c                       \
+       gtkmarshalers.c                         \
+       gtkmarshalers.h                         \
+       gtkmarshal.c                            \
+       ${gtk_built_private_headers}            \
+       ${gtk_built_public_sources}             \
+@STRIP_END@
+stamp_files = @STRIP_BEGIN@            \
+       stamp-gtkmarshalers.h           \
+       stamp-gtkmarshal.h              \
+       stamp-gtktypebuiltins.h         \
 @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          \
        gtkmarshalers.list      \
        gtkmarshal.list         \
 @STRIP_END@
@@ -445,7 +453,7 @@ gtk_extra_sources = @STRIP_BEGIN@ \
 #
 # setup GTK+ sources and their dependancies
 #
-MAINTAINERCLEANFILES = $(gtk_built_sources)
+MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files)
 EXTRA_HEADERS =
 EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
 EXTRA_DIST += $(gtk_built_sources)
@@ -454,44 +462,22 @@ 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 xgen-gmlh xgen-gmlc
+gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
 CLEANFILES = $(gen_sources)
 
-## automake 1.5 supports this without the horrible 'oldest-source-stamp' 
-## hack below
+## automake 1.5 supports this without $(OBJECTS): $(gtk_built_sources) hack
 #BUILT_SOURCES = $(gtk_built_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
+$(libgtk_x11_2_0_la_OBJECTS) $(libgtk_linux_fb_2_0_la_OBJECTS) $(libgtk_win32_2_0_la_OBJECTS): ${gtk_built_public_sources} ${gtk_built_private_headers}
 
-# initial creation of the real stamp-* files
-gtk.defs gtkmarshalers.h gtktypebuiltins.h:          # never add deps here
-       test -f "$(srcdir)/$(@F)" || touch $(srcdir)/$(@F)
-# 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) \
-       && $$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-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list gtkmarshalers.h
+$(srcdir)/gtkmarshalers.h: stamp-gtkmarshalers.h
+       @true
+stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
        case @GLIB_GENMARSHAL@ in                                                               \
           .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                                       \
           *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                              \
@@ -500,8 +486,8 @@ $(srcdir)/stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list gtkmarshalers.h
        && $$glib_genmarshal --prefix=_gtk_marshal gtkmarshalers.list --header >> xgen-gmlh     \
        && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h)                   \
        && rm -f xgen-gmlh                                                                      \
-       && echo timestamp > $(@F)
-$(srcdir)/gtkmarshalers.c: @REBUILD@ $(srcdir)/stamp-gtkmarshalers.h
+       && echo timestamp > $(@F)       
+$(srcdir)/gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
        case @GLIB_GENMARSHAL@ in                                                               \
           .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                                       \
           *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                              \
@@ -509,8 +495,11 @@ $(srcdir)/gtkmarshalers.c: @REBUILD@ $(srcdir)/stamp-gtkmarshalers.h
        cd $(srcdir)                                                                            \
        && $$glib_genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >> xgen-gmlc       \
        && cp xgen-gmlc gtkmarshalers.c                                                         \
-       && rm -f xgen-gmlc 
-$(srcdir)/gtkmarshal.h: @REBUILD@ gtkmarshal.list
+       && rm -f xgen-gmlc
+
+$(srcdir)/gtkmarshal.h: stamp-gtkmarshal.h
+       @true
+stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
        case @GLIB_GENMARSHAL@ in                                                               \
           .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                                       \
           *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                              \
@@ -519,9 +508,10 @@ $(srcdir)/gtkmarshal.h: @REBUILD@ gtkmarshal.list
        && echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh                                     \
         && $$glib_genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh         \
        && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh                               \
-       && cp xgen-gmh gtkmarshal.h                                                             \
-       && rm -f xgen-gmh 
-$(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.h
+       && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h)                           \
+       && rm -f xgen-gmh                                                                       \
+       && echo timestamp > $(@F)
+$(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.list
        case @GLIB_GENMARSHAL@ in                                                               \
           .*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;;                                       \
           *) glib_genmarshal=@GLIB_GENMARSHAL@ ;;                                              \
@@ -531,37 +521,28 @@ $(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.h
        && cp xgen-gmc gtkmarshal.c                                                             \
        && rm -f xgen-gmc 
 
-$(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs gtktypebuiltins.h
-       cd $(srcdir) \
-       && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
-       && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
+$(srcdir)/gtktypebuiltins.h: stamp-gtktypebuiltins.h
+       @true
+stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
+       ( 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);\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+                       --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
+               $(gtk_public_h_sources) ) >> xgen-gtbh \
+       && (cmp -s xgen-gtbh $(srcdir)/gtktypebuiltins.h || cp xgen-gtbh $(srcdir)/gtktypebuiltins.h ) \
        && rm -f xgen-gtbh \
        && echo timestamp > $(@F)
-$(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs
-       cd $(srcdir) \
-       && 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 \
+$(srcdir)/gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
+       ( cd $(srcdir) && glib-mkenums \
+                       --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
                        --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
-
+                       --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" \
+               $(gtk_public_h_sources) ) > xgen-gtbc \
+       && cp xgen-gtbc $(srcdir)/gtktypebuiltins.c  \
+       && rm -f xgen-gtbc
 
 # target platform:
 lib_LTLIBRARIES = $(gtktargetlib)
@@ -569,34 +550,45 @@ lib_LTLIBRARIES = $(gtktargetlib)
 gtkincludedir = $(includedir)/gtk-2.0/gtk
 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkversion.h
 
-libgtk_x11_1_3_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
-libgtk_linux_fb_1_3_la_SOURCES = $(gtk_c_sources)
-libgtk_win32_1_3_la_SOURCES = $(gtk_c_sources)
+libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
+libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
+libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
 
-libgtk_win32_1_3_la_LIBADD = $(gtk_win32res_lo)
-libgtk_win32_1_3_la_DEPENDENCIES = $(gtk_def)
+libgtk_win32_2_0_la_LIBADD = $(gtk_win32res_lo)
+libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
 
 if USE_WIN32
 libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
 endif
-EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-linux-fb-1.3.la libgtk-win32-1.3.la
+EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
+
+install-exec-hook: 
+if DISABLE_EXPLICIT_DEPS
+       $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
+endif
 
-# Install a RC file for the default GTK+ theme
-install-data-local:  install-ms-lib install-libtool-import-lib
+# 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) gtkrc.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+       $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Default/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
+       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
+       rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
 
-DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la $(top_builddir)/gdk/$(gdktargetlib)
+DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).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)             \
+       $(gtktargetlib)                                                 \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+       $(top_builddir)/gdk/$(gdktargetlib)                             \
 @STRIP_END@
 
 #
@@ -617,7 +609,6 @@ files:
        done
 
 EXTRA_DIST += @STRIP_BEGIN@    \
-       oldest-source-stamp     \
        line-arrow.xbm          \
        line-wrap.xbm           \
        tree_plus.xbm           \
@@ -628,6 +619,8 @@ EXTRA_DIST += @STRIP_BEGIN@         \
        gtk-win32.rc            \
        gtk-win32.rc.in         \
        gtkrc.default           \
+       gtkrc.key.default       \
+       gtkrc.key.emacs         \
        makefile.mingw          \
        makefile.mingw.in       \
        makefile.msc            \