1noinst_LTLIBRARIES = libgda_sql_parser-5.0.la 2noinst_PROGRAMS = 3 4AM_CPPFLAGS = \ 5 -I$(top_srcdir) -I$(srcdir)/.. \ 6 -I$(top_builddir) \ 7 $(COREDEPS_CFLAGS) \ 8 $(LIBGDA_WFLAGDS) 9 10lemon$(EXEEXT_FOR_BUILD): lemon.c 11 $(CC_FOR_BUILD) -o lemon$(EXEEXT_FOR_BUILD) $(srcdir)/lemon.c 12 13gen_def$(EXEEXT_FOR_BUILD): gen_def.c 14 $(CC_FOR_BUILD) -o gen_def$(EXEEXT_FOR_BUILD) -DSRCDIR=\"$(srcdir)\" $(srcdir)/gen_def.c 15 16parser.c parser.h: parser.y lemon$(EXEEXT_FOR_BUILD) 17 - ./lemon$(EXEEXT_FOR_BUILD) -d -T$(srcdir)/lempar.c $(srcdir)/parser.y 18 19delimiter.c delimiter.h: delimiter.y lemon$(EXEEXT_FOR_BUILD) 20 ./lemon$(EXEEXT_FOR_BUILD) -q -d -T$(srcdir)/lempar.c $(srcdir)/delimiter.y 21 22token_types.h: gen_def$(EXEEXT_FOR_BUILD) delimiter.h parser.h 23 ./gen_def$(EXEEXT_FOR_BUILD) > token_types.h 24 25libgda_sql_parser_headers = \ 26 gda-sql-parser.h \ 27 gda-sql-statement.h \ 28 gda-statement-struct-decl.h \ 29 gda-statement-struct.h \ 30 gda-statement-struct-compound.h \ 31 gda-statement-struct-delete.h \ 32 gda-statement-struct-update.h \ 33 gda-statement-struct-insert.h \ 34 gda-statement-struct-parts.h \ 35 gda-statement-struct-pspec.h \ 36 gda-statement-struct-select.h \ 37 gda-statement-struct-trans.h \ 38 gda-statement-struct-unknown.h \ 39 gda-statement-struct-util.h 40 41gda-sql-parser-enum-types.h: s-enum-types-h 42 @true 43 44s-enum-types-h: @REBUILD@ $(libgda_sql_parser_headers) Makefile 45 ( cd $(srcdir) && glib-mkenums \ 46 --fhead "#ifndef __LIBGDA_SQL_PARSER_ENUM_TYPES_H__\n#define __LIBGDA_SQL_PARSER_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ 47 --vhead "GType @enum_name@_get_type (void);\n#define GDA_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ 48 --ftail "G_END_DECLS\n\n#endif /* __LIBGDA_ENUM_TYPES_H__ */" \ 49 $(libgda_sql_parser_headers)) > tmp-gda-enum-types.h \ 50 && (cmp -s tmp-gda-enum-types.h gda-sql-parser-enum-types.h || cp tmp-gda-enum-types.h gda-sql-parser-enum-types.h ) \ 51 && rm -f tmp-gda-enum-types.h \ 52 && echo timestamp > $(@F) 53 54gda-sql-parser-enum-types.c: s-enum-types-c 55 @true 56 57s-enum-types-c: @REBUILD@ $(libgda_sql_parser_headers) Makefile 58 ( cd $(srcdir) && glib-mkenums \ 59 --fhead "#include <sql-parser/gda-sql-parser.h>\n" \ 60 --fhead "#include <sql-parser/gda-sql-statement.h>\n" \ 61 --fhead "#include <glib-object.h>" \ 62 --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[] = {" \ 63 --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ 64 --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ 65 $(libgda_sql_parser_headers)) > tmp-gda-enum-types.c \ 66 && (cmp -s tmp-gda-enum-types.c gda-sql-parser-enum-types.c || cp tmp-gda-enum-types.c gda-sql-parser-enum-types.c ) \ 67 && rm -f tmp-gda-enum-types.c \ 68 && echo timestamp > $(@F) 69 70# Generate the enums source code, with glib-mkenums: 71# This is based on the same Makefile.am stuff in pango: 72libgda_sql_parser_built_headers = gda-sql-parser-enum-types.h 73libgda_sql_parser_built_cfiles = gda-sql-parser-enum-types.c 74 75$(OBJECTS) $(libgda_sql_parser_5_0_la_OBJECTS): token_types.h 76libgda_sql_parserincludedir=$(includedir)/libgda-$(GDA_ABI_MAJOR_VERSION).$(GDA_ABI_MINOR_VERSION)/libgda/sql-parser 77libgda_sql_parserinclude_HEADERS=$(libgda_sql_parser_headers) $(libgda_sql_parser_built_headers) 78 79libgda_sql_parser_5_0_la_SOURCES = \ 80 $(libgda_sql_parser_headers) \ 81 $(libgda_sql_parser_built_headers) \ 82 $(libgda_sql_parser_built_cfiles) \ 83 gda-sql-parser-private.h \ 84 parser.c \ 85 parser.h \ 86 delimiter.c \ 87 delimiter.h \ 88 token_types.h \ 89 gda-sql-parser.c \ 90 gda-statement-struct.c \ 91 gda-statement-struct-compound.c \ 92 gda-statement-struct-delete.c \ 93 gda-statement-struct-update.c \ 94 gda-statement-struct-insert.c \ 95 gda-statement-struct-parts.c \ 96 gda-statement-struct-pspec.c \ 97 gda-statement-struct-select.c \ 98 gda-statement-struct-trans.c \ 99 gda-statement-struct-unknown.c \ 100 gda-statement-struct-util.c 101 102EXTRA_DIST= parser.y delimiter.y lemon.c lempar.c gen_def.c parser_tokens.h 103 104CLEANFILES = parser.h parser.c parser.out delimiter.h delimiter.c delimiter.out token_types.h \ 105 lemon$(EXEEXT_FOR_BUILD) gen_def$(EXEEXT_FOR_BUILD) \ 106 $(libgda_sql_parser_built_headers) $(libgda_sql_parser_built_cfiles) \ 107 gda-enum-types.h \ 108 s-enum-types-h \ 109 gda-enum-types.c \ 110 s-enum-types-c 111