]> Pileus Git - ~andy/gtk/blobdiff - gtk/Makefile.am
Use templates for glib-mkenums calls instead of complicated commandlines
[~andy/gtk] / gtk / Makefile.am
index a1acb56cdc53c8949c4306f56ad50f43e6df7902..33b7695bbe1f1b5f1a07cb8bb803ca7e6065b2e9 100644 (file)
@@ -1,10 +1,11 @@
 # Makefile.am for gtk+/gtk
+include $(top_srcdir)/Makefile.decl
 
-SUBDIRS=theme-bits
+SUBDIRS = theme-bits . tests
 
 if OS_UNIX
 SUBDIRS += xdgmime
-GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview %f"
+GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
 endif
 
 DIST_SUBDIRS=theme-bits xdgmime
@@ -143,6 +144,8 @@ gtk_public_h_sources =          \
        gtkbin.h                \
        gtkbindings.h           \
        gtkbox.h                \
+       gtkbuilder.h            \
+       gtkbuildable.h          \
        gtkbutton.h             \
        gtkcalendar.h           \
        gtkcelleditable.h       \
@@ -277,6 +280,7 @@ gtk_public_h_sources =          \
        gtkstyle.h              \
        gtktable.h              \
        gtktearoffmenuitem.h    \
+       gtktestutils.h          \
        gtktext.h               \
        gtktextbuffer.h         \
        gtktextbufferrichtext.h \
@@ -344,6 +348,7 @@ gtk_private_h_sources =             \
        gtksearchenginesimple.h \
        gtkdndcursors.h         \
        gtkentryprivate.h       \
+       gtkbuilderprivate.h     \
        gtkfilechooserdefault.h \
        gtkfilechooserembed.h   \
        gtkfilechooserentry.h   \
@@ -405,6 +410,9 @@ gtk_base_c_sources =            \
        gtkbin.c                \
        gtkbindings.c           \
        gtkbox.c                \
+       gtkbuildable.c          \
+       gtkbuilder.c            \
+       gtkbuilderparser.c      \
        gtkbutton.c             \
        gtkcalendar.c           \
        gtkcelleditable.c       \
@@ -553,6 +561,7 @@ gtk_base_c_sources =            \
        gtkstyle.c              \
        gtktable.c              \
        gtktearoffmenuitem.c    \
+       gtktestutils.c          \
        gtktext.c               \
        gtktextbtree.c          \
        gtktextbuffer.c         \
@@ -654,10 +663,14 @@ gtk_use_win32_c_sources = \
        gtksocket-win32.c \
        gtkwin32embed.c   \
        gtkwin32embedwidget.c
+gtk_use_quartz_c_sources =     \
+       gtksearchenginequartz.c \
+       gtkplug-stub.c          \
+       gtksocket-stub.c
 gtk_use_stub_c_sources = \
        gtkplug-stub.c   \
        gtksocket-stub.c
-gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_stub_c_sources)
+gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
 if USE_X11
 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
 gtk_c_sources += $(gtk_use_x11_c_sources)
@@ -666,9 +679,15 @@ if USE_WIN32
 gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
 gtk_c_sources += $(gtk_use_win32_c_sources)
 else
+if USE_QUARTZ
+gtk_private_h_sources += gtksearchenginequartz.h
+gtk_c_sources += $(gtk_use_quartz_c_sources)
+gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c"
+else
 gtk_c_sources += $(gtk_use_stub_c_sources)
 endif
 endif
+endif
 
 if USE_QUARTZ
 gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c gtkquartz.h
@@ -698,6 +717,7 @@ gtk_built_private_headers =                 \
 gtk_built_sources =                            \
        gtkaliasdef.c                           \
        gtktypebuiltins.c                       \
+       gtktypefuncs.c                          \
        gtkmarshalers.c                         \
        gtkmarshal.c                            \
        ${gtk_built_private_headers}            \
@@ -727,7 +747,7 @@ gtk_extra_sources =                         \
 #
 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS)
 EXTRA_HEADERS =
-EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
+EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
 EXTRA_DIST += $(gtk_built_sources)
 EXTRA_DIST += $(STOCK_ICONS)
 
@@ -735,7 +755,7 @@ EXTRA_DIST += $(STOCK_ICONS)
 # rules to generate built sources
 #
 # setup autogeneration dependencies
-gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
+gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
 CLEANFILES = $(gen_sources)
 
 BUILT_SOURCES = $(gtk_built_sources)
@@ -775,32 +795,30 @@ gtkmarshal.c: @REBUILD@ gtkmarshal.list
         echo "#define __gtk_marshal_MARSHAL_C__"; \
         echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
        && cp xgen-gmc gtkmarshal.c \
-       && rm -f xgen-gmc 
+       && rm -f xgen-gmc
 
 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) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
-                       --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
+stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
                $(gtk_public_h_sources) ) >> xgen-gtbh \
        && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
        && 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 \"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 (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
+gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
                $(gtk_public_h_sources) ) > xgen-gtbc \
        && cp xgen-gtbc gtktypebuiltins.c  \
        && rm -f xgen-gtbc
 
+gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
+       echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
+         ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
+         egrep -o '\<g[td]k_[a-zA-Z0-9_]+_get_type\>' | sort | uniq | \
+         sed '{ s/^/vgt=/; s/$$/();/; }' > xgen-gtf \
+       && cp xgen-gtf $@ && rm -f xgen-gtf
+gtktestutils.c: gtktypefuncs.c
+
 # target platform:
 lib_LTLIBRARIES = $(gtktargetlib)
 
@@ -818,13 +836,13 @@ libgtk_directfb_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_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
 libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
 libgtk_directfb_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) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -luuid
+libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res)
 libgtk_quartz_2_0_la_LIBADD = $(libadd)
 libgtk_directfb_2_0_la_LIBADD = $(libadd)
@@ -872,7 +890,10 @@ LDADDS =                                                           \
 #
 # Installed tools
 #
-bin_PROGRAMS = gtk-query-immodules-2.0 gtk-update-icon-cache
+bin_PROGRAMS = \
+       gtk-query-immodules-2.0 \
+       gtk-update-icon-cache
+bin_SCRIPTS = gtk-builder-convert
 
 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
 gtk_query_immodules_2_0_LDADD = $(LDADDS)
@@ -892,6 +913,7 @@ files:
        done
 
 STOCK_ICONS = \
+       stock-icons/16/document-open-recent.png         \
        stock-icons/16/gtk-about.png                    \
        stock-icons/16/gtk-add.png                      \
        stock-icons/16/gtk-cdrom.png                    \
@@ -986,6 +1008,7 @@ STOCK_ICONS = \
        stock-icons/20/gtk-no.png                       \
        stock-icons/20/gtk-ok.png                       \
        stock-icons/20/gtk-yes.png                      \
+       stock-icons/24/document-open-recent.png         \
        stock-icons/24/gtk-about.png                    \
        stock-icons/24/gtk-add.png                      \
        stock-icons/24/gtk-bold.png                     \
@@ -1167,6 +1190,7 @@ EXTRA_DIST +=                   \
        tree_minus.xpm          \
        tree_plus.xpm           \
        gtk.def                 \
+       gtk-builder-convert     \
        gtk-win32.rc            \
        gtk-win32.rc.in         \
        gtkwin32embed.h         \
@@ -1176,6 +1200,7 @@ EXTRA_DIST +=                   \
        gtkfilesystemwin32.c    \
        gtkprint-win32.h        \
        gtkprint-win32.c        \
+       gtksearchenginequartz.h \
        gtkrc.default           \
        gtkrc.key.default       \
        gtkrc.key.emacs         \
@@ -1184,6 +1209,9 @@ EXTRA_DIST +=                   \
        makegtkalias.pl         \
        aliasfilescheck.sh      \
        abicheck.sh             \
-       pltcheck.sh
+       pltcheck.sh             \
+       gtktypebuiltins.c.template      \
+       gtktypebuiltins.h.template
+
 
 install-data-local: