]> Pileus Git - ~andy/gtk/blobdiff - perf/Makefile.am
Use templates for glib-mkenums calls instead of complicated commandlines
[~andy/gtk] / perf / Makefile.am
index d466f6ddf89c59d0589b40119708b77017254dbd..f3cee2cfb0e972b57563cbb9aa49921383ee381a 100644 (file)
@@ -1,4 +1,5 @@
 ## Makefile.am for gtk+/perf
+include $(top_srcdir)/Makefile.decl
 
 INCLUDES =                                     \
        -I$(top_srcdir)                         \
@@ -70,32 +71,24 @@ marshalers.c: @REBUILD@ marshalers.list
 
 typebuiltins.h: stamp-typebuiltins.h
        @true
-stamp-typebuiltins.h: @REBUILD@ $(headers_with_enums) Makefile
-       ( cd $(srcdir) && $(GLIB_MKENUMS) \
-                       --fhead "#ifndef __TYPE_BUILTINS_H__\n#define __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 /* __TYPE_BUILTINS_H__ */" \
+stamp-typebuiltins.h: @REBUILD@ $(headers_with_enums) typebuiltins.h.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template typebuiltins.h.template \
                $(headers_with_enums) ) >> xgen-gtbh \
        && (cmp -s xgen-gtbh typebuiltins.h || cp xgen-gtbh typebuiltins.h ) \
        && rm -f xgen-gtbh \
        && echo timestamp > $(@F)
-typebuiltins.c: @REBUILD@ $(headers_with_enums) Makefile
-       ( cd $(srcdir) && $(GLIB_MKENUMS) \
-                       --fhead "#include \"gtkwidgetprofiler.h\"" \
-                       --ftail "#define __TYPE_BUILTINS_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" \
+typebuiltins.c: @REBUILD@ $(headers_with_enums) typebuiltins.c.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template typebuiltins.c.template \
                $(headers_with_enums) ) > xgen-gtbc \
        && cp xgen-gtbc typebuiltins.c  \
        && rm -f xgen-gtbc
 
 
-EXTRA_DIST           \
+EXTRA_DIST +=          \
        README          \
        marshalers.list \
+       typebuiltins.c.template \
+       typebuiltins.h.template \
        $(BUILT_SOURCES)
 
 # if srcdir!=builddir, clean out maintainer-clean files from builddir