diff options
author | Xan Lopez <xan@igalia.com> | 2012-03-14 01:57:36 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-03-14 01:57:36 +0800 |
commit | c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9 (patch) | |
tree | 881a70cd74594603325e45d2fee6b3f20add8a42 | |
parent | 7180bb84f41ee56eef859245d2d5a987c9d7c20e (diff) | |
download | gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar.gz gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar.bz2 gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar.lz gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar.xz gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.tar.zst gsoc2013-epiphany-c07e7d034b4cfdaad4fc35ef5e82bee9718a1bd9.zip |
history: generate gtypes for the history types
-rw-r--r-- | lib/history/Makefile.am | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/history/Makefile.am b/lib/history/Makefile.am index fcffe7eb5..06654fac2 100644 --- a/lib/history/Makefile.am +++ b/lib/history/Makefile.am @@ -10,7 +10,11 @@ libephyhistory_la_SOURCES = \ ephy-history-types.c \ ephy-history-types.h +nodist_libephyhistory_la_SOURCES = \ + $(BUILT_SOURCES) + libephyhistory_la_CPPFLAGS = \ + -I$(top_builddir)/lib/history \ -I$(top_builddir)/lib \ -I$(top_srcdir)/lib \ -DSHARE_DIR=\"$(pkgdatadir)\" \ @@ -19,3 +23,61 @@ libephyhistory_la_CPPFLAGS = \ libephyhistory_la_CFLAGS = \ $(DEPENDENCIES_CFLAGS) \ $(AM_CFLAGS) + +TYPES_H_FILES = ephy-history-types.h + +BUILT_SOURCES = \ + ephy-history-type-builtins.c \ + ephy-history-type-builtins.h + +CLEANFILES = $(stamp_files) $(BUILT_SOURCES) +DISTCLEANFILES = $(stamp_files) $(BUILT_SOURCES) +MAINTAINERCLEANFILES = $(stamp_files) $(BUILT_SOURCES) + +stamp_files = \ + stamp-ephy-history-type-builtins.c \ + stamp-ephy-history-type-builtins.h + +ephy-history-type-builtins.c: stamp-ephy-history-type-builtins.c Makefile + @true + +stamp-ephy-history-type-builtins.c: Makefile $(TYPES_H_FILES) + $(AM_V_GEN) $(GLIB_MKENUMS) \ + --fhead "#include <config.h>\n\n" \ + --fhead "#include \"ephy-history-type-builtins.h\"\n\n" \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --fprod "\n#include \"@filename@\"" \ + --vhead "GType\n@enum_name@_get_type (void)\n{\n" \ + --vhead " static GType type = 0;\n\n" \ + --vhead " if (G_UNLIKELY (type == 0))\n {\n" \ + --vhead " static const G@Type@Value _@enum_name@_values[] = {" \ + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ + --vtail " { 0, NULL, NULL }\n };\n\n" \ + --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n }\n\n" \ + --vtail " return type;\n}\n\n" \ + $(filter-out $<,$^) > xgen-$(@F) \ + && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \ + && rm -f xgen-$(@F) \ + && echo timestamp > $(@F) + +ephy-history-type-builtins.h: stamp-ephy-history-type-builtins.h Makefile + @true + +stamp-ephy-history-type-builtins.h: Makefile $(TYPES_H_FILES) + $(AM_V_GEN) $(GLIB_MKENUMS) \ + --fhead "#if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION)\n" \ + --fhead "#error Only <epiphany/epiphany.h> can be included directly.\n" \ + --fhead "#endif\n\n" \ + --fhead "#ifndef EPHY_HISTORY_TYPE_BUILTINS_H\n" \ + --fhead "#define EPHY_HISTORY_TYPE_BUILTINS_H 1\n\n" \ + --fhead "#include <glib-object.h>\n\n" \ + --fhead "G_BEGIN_DECLS\n\n" \ + --ftail "G_END_DECLS\n\n" \ + --ftail "#endif /* EPHY_HISTORY_TYPE_BUILTINS_H */\n" \ + --fprod "\n/* --- @filename@ --- */" \ + --eprod "#define EPHY_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ + --eprod "GType @enum_name@_get_type (void);\n" \ + $(filter-out $<,$^) > xgen-$(@F) \ + && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \ + && rm -f xgen-$(@F) \ + && echo timestamp > $(@F) |