1QUIET_GEN = $(Q:@=@echo ' GEN '$@;) 2 3lib_LTLIBRARIES = libgda-5.0.la 4 5SUBDIRS = sqlite handlers binreloc sql-parser providers-support thread-wrapper 6 7DEF_FLAGS= 8if BDB 9GDA_BDB_H=gda-data-model-bdb.h 10GDA_BDB_S=gda-data-model-bdb.c 11DEF_FLAGS+=-DHAVE_BDB 12endif 13 14if LDAP 15GDA_LDAP_H=gda-data-model-ldap.h gda-tree-mgr-ldap.h 16GDA_LDAP_S=gda-data-model-ldap.c gda-tree-mgr-ldap.c 17DEF_FLAGS+=-DHAVE_LDAP 18endif 19 20GLOBAL_CFLAGS = \ 21 -I$(top_srcdir) \ 22 -I$(top_builddir) \ 23 -I$(top_srcdir)/libgda/sqlite \ 24 -I$(top_srcdir)/libgda \ 25 -I$(top_builddir)/libgda/sqlite \ 26 -DABI_VERSION=\""$(GDA_ABI_VERSION)"\" \ 27 $(COREDEPS_CFLAGS) \ 28 $(BDB_CFLAGS) \ 29 -DBDB_LIB=\""$(BDB_LIB)"\" \ 30 $(GIO_CFLAGS) $(LIBSECRET_CFLAGS) $(GNOME_KEYRING_CFLAGS) 31 32AM_CPPFLAGS = \ 33 $(GLOBAL_CFLAGS) \ 34 $(COREDEPS_WFLAGS) 35 36_gda_marshal_built_files = gda-marshal.h gda-marshal.c 37 38gda-marshal.h: gda-marshal.list $(GLIB_GENMARSHAL) 39 $(GLIB_GENMARSHAL) $< --header --prefix=_gda_marshal > $@ 40gda-marshal.c: gda-marshal.list $(GLIB_GENMARSHAL) 41 $(GLIB_GENMARSHAL) $< --body --prefix=_gda_marshal > $@ 42 43mkkeywordhash$(EXEEXT_FOR_BUILD): $(top_srcdir)/libgda/sqlite/mkkeywordhash.c 44 $(CC_FOR_BUILD) -g -o mkkeywordhash$(EXEEXT_FOR_BUILD) $(GDA_DEBUG_FLAGS) $< 45 46keywords_hash.c: mkkeywordhash$(EXEEXT_FOR_BUILD) $(top_srcdir)/libgda/keywords.list 47 ./mkkeywordhash$(EXEEXT_FOR_BUILD) $(top_srcdir)/libgda/keywords.list > keywords_hash.c 48 49gda_headers = \ 50 gda-attributes-manager.h \ 51 gda-batch.h \ 52 gda-blob-op.h \ 53 gda-column.h \ 54 gda-config.h \ 55 gda-connection-event.h \ 56 gda-connection.h \ 57 gda-connection-private.h \ 58 gda-data-comparator.h \ 59 gda-data-handler.h \ 60 gda-data-model-array.h \ 61 gda-data-model.h \ 62 $(GDA_BDB_H) \ 63 $(GDA_LDAP_H) \ 64 gda-data-model-dir.h \ 65 gda-data-model-extra.h \ 66 gda-data-model-import.h \ 67 gda-data-model-iter.h \ 68 gda-data-model-iter-extra.h \ 69 gda-data-model-private.h \ 70 gda-data-access-wrapper.h \ 71 gda-data-proxy.h \ 72 gda-data-select.h \ 73 gda-decl.h \ 74 gda-enums.h \ 75 gda-holder.h \ 76 gda-lockable.h \ 77 gda-log.h \ 78 gda-meta-store.h \ 79 gda-meta-struct.h \ 80 gda-mutex.h \ 81 gda-quark-list.h \ 82 gda-repetitive-statement.h \ 83 gda-row.h \ 84 gda-set.h \ 85 gda-server-operation.h \ 86 gda-server-provider.h \ 87 gda-server-provider-extra.h \ 88 gda-server-provider-private.h \ 89 gda-statement.h \ 90 gda-statement-extra.h \ 91 gda-sql-builder.h \ 92 gda-transaction-status.h \ 93 gda-transaction-status-private.h \ 94 gda-tree.h \ 95 gda-tree-mgr-columns.h \ 96 gda-tree-mgr-schemas.h \ 97 gda-tree-mgr-tables.h \ 98 gda-tree-node.h \ 99 gda-tree-manager.h \ 100 gda-tree-mgr-label.h \ 101 gda-tree-mgr-select.h \ 102 gda-util.h \ 103 gda-value.h \ 104 gda-xa-transaction.h \ 105 libgda-global-variables.h \ 106 gda-data-pivot.h 107 108gda_built_sources= \ 109 $(builddir)/libgda.h 110 111gda_sources= \ 112 gda-batch.c \ 113 gda-blob-op.c \ 114 gda-column.c \ 115 gda-config.c \ 116 gda-connection.c \ 117 gda-connection-event.c \ 118 gda-data-comparator.c \ 119 gda-data-handler.c \ 120 gda-data-model-array.c \ 121 $(GDA_BDB_S) \ 122 $(GDA_LDAP_S) \ 123 gda-data-model.c \ 124 gda-data-model-dir.c \ 125 gda-data-model-import.c \ 126 gda-data-model-iter.c \ 127 gda-data-access-wrapper.c \ 128 gda-data-proxy.c \ 129 gda-data-select.c \ 130 gda-holder.c \ 131 gda-init.c \ 132 gda-lockable.c \ 133 gda-log.c \ 134 gda-meta-store.c \ 135 gda-meta-struct.c \ 136 gda-meta-struct-io.c \ 137 gda-quark-list.c \ 138 gda-repetitive-statement.c \ 139 gda-row.c \ 140 gda-set.c \ 141 gda-server-operation.c \ 142 gda-server-provider.c \ 143 gda-server-provider-extra.c \ 144 gda-statement.c \ 145 gda-sql-builder.c \ 146 gda-transaction-status.c \ 147 gda-tree.c \ 148 gda-tree-mgr-columns.c \ 149 gda-tree-mgr-schemas.c \ 150 gda-tree-mgr-tables.c \ 151 gda-tree-node.c \ 152 gda-tree-manager.c \ 153 gda-tree-mgr-label.c \ 154 gda-tree-mgr-select.c \ 155 gda-util.c \ 156 gda-value.c \ 157 gda-xa-transaction.c \ 158 gda-data-pivot.c 159 160libgda_sources = \ 161 csv.h \ 162 libcsv.c \ 163 dir-blob-op.h \ 164 dir-blob-op.c \ 165 gda-attributes-manager.c \ 166 $(gda_headers) \ 167 gda-debug-macros.h \ 168 gda-connection-internal.h \ 169 gda-connection-sqlite.h \ 170 gda-custom-marshal.c \ 171 gda-custom-marshal.h \ 172 gda-data-meta-wrapper.c \ 173 gda-data-meta-wrapper.h \ 174 gda-data-model-dsn-list.c \ 175 gda-data-model-dsn-list.h \ 176 gda-data-select-extra.h \ 177 gda-meta-store-extra.h \ 178 gda-meta-struct-private.h \ 179 gda-marshal.c \ 180 gda-mutex.c \ 181 gda-server-operation-private.h \ 182 gda-types.c \ 183 gda-types.h \ 184 gda-statement-priv.h \ 185 global.h \ 186 md5.h \ 187 md5c.c \ 188 $(gda_built_sources) \ 189 $(gda_sources) 190 191gda-enum-types.h: s-enum-types-h 192 @true 193 194s-enum-types-h: @REBUILD@ $(gda_headers) Makefile 195 ( cd $(srcdir) && glib-mkenums \ 196 --fhead "#ifndef __LIBGDA_ENUM_TYPES_H__\n#define __LIBGDA_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ 197 --vhead "GType @enum_name@_get_type (void);\n#define GDA_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ 198 --ftail "G_END_DECLS\n\n#endif /* __LIBGDA_ENUM_TYPES_H__ */" \ 199 $(gda_headers)) > tmp-gda-enum-types.h \ 200 && (cmp -s tmp-gda-enum-types.h gda-enum-types.h || cp tmp-gda-enum-types.h gda-enum-types.h ) \ 201 && rm -f tmp-gda-enum-types.h \ 202 && echo timestamp > $(@F) 203 204gda-enum-types.c: s-enum-types-c 205 @true 206 207s-enum-types-c: @REBUILD@ $(gda_headers) Makefile 208 ( cd $(srcdir) && glib-mkenums \ 209 --fhead "#include <libgda/libgda.h>\n" \ 210 --fhead "#include <glib-object.h>" \ 211 --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[] = {" \ 212 --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ 213 --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ 214 $(gda_headers)) > tmp-gda-enum-types.c \ 215 && (cmp -s tmp-gda-enum-types.c gda-enum-types.c || cp tmp-gda-enum-types.c gda-enum-types.c ) \ 216 && rm -f tmp-gda-enum-types.c \ 217 && echo timestamp > $(@F) 218 219 220# Generate the enums source code, with glib-mkenums: 221# This is based on the same Makefile.am stuff in pango: 222libgda_built_headers = gda-marshal.h gda-enum-types.h 223libgda_built_cfiles = gda-enum-types.c 224 225# Don't build the library until we have built the headers that it needs: 226$(OBJECTS) $(libgda_5_0_la_OBJECTS): gda-marshal.c $(libgda_built_headers) $(libgda_built_cfiles) keywords_hash.c 227 228libgda_5_0_la_SOURCES = \ 229 $(libgda_built_cfiles) \ 230 $(libgda_sources) 231 232libgda_5_0_la_LDFLAGS = \ 233 -version-info $(GDA_CURRENT):$(GDA_REVISION):$(GDA_AGE) \ 234 -export-dynamic $(NO_UNDEFINED) $(LIBTOOL_EXPORT_OPTIONS) \ 235 $(GDA_DEBUG_LDFLAGS) 236 237libgda_5_0_la_LIBADD = \ 238 sql-parser/libgda_sql_parser-5.0.la \ 239 providers-support/libgda-psupport.la \ 240 handlers/libgda_handlers-5.0.la \ 241 binreloc/libgda_binreloc-5.0.la \ 242 sqlite/libgda-sqlite.la \ 243 thread-wrapper/libgda_threadwrapper-5.0.la \ 244 $(COREDEPS_LIBS) \ 245 $(GIO_LIBS) $(LIBSECRET_LIBS) $(GNOME_KEYRING_LIBS) 246 247if PLATFORM_WIN32 248libgda_5_0_la_LDFLAGS += -export-symbols $(builddir)/libgda.def 249libgda_5_0_la_DEPENDENCIES = libgda.def 250 251libgda.def: libgda.symbols 252 (echo -e EXPORTS; $(CPP) -P $(DEF_FLAGS) - <$(srcdir)/libgda.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > libgda.def.tmp && mv libgda.def.tmp libgda.def 253 254libgda-$(GDA_ABI_VERSION).lib: libgda.def 255 $(DLLTOOL) --dllname libgda-$(GDA_ABI_VERSION)-$(GDA_ABI_MAJOR_VERSION).dll --def libgda.def --output-lib libgda-$(GDA_ABI_VERSION).lib 256 257install-data-local: install-def-files 258uninstall-local: uninstall-def-files 259 260install-def-files: libgda.def libgda-$(GDA_ABI_VERSION).lib 261 $(INSTALL) $(builddir)/libgda.def $(DESTDIR)$(libdir)/libgda-$(GDA_ABI_VERSION).def 262 $(INSTALL) $(builddir)/libgda-$(GDA_ABI_VERSION).lib $(DESTDIR)$(libdir)/ 263 264uninstall-def-files: 265 -rm $(DESTDIR)$(libdir)/libgda-$(GDA_ABI_VERSION).def 266 -rm $(DESTDIR)$(libdir)/libgda-$(GDA_ABI_VERSION).lib 267endif 268 269gdaincludedir=$(includedir)/libgda-$(GDA_ABI_MAJOR_VERSION).$(GDA_ABI_MINOR_VERSION)/libgda 270gdainclude_HEADERS=$(libgda_built_headers) $(gda_headers) libgda.h 271 272CLEANFILES = $(libgda_built_headers) $(libgda_built_cfiles) \ 273 gda-marshal.c \ 274 gda-enum-types.h \ 275 s-enum-types-h \ 276 gda-enum-types.c \ 277 s-enum-types-c \ 278 libgda.def \ 279 libgda-$(GDA_ABI_VERSION).lib \ 280 mkkeywordhash$(EXEEXT_FOR_BUILD) keywords_hash.c 281 282dist-hook: 283 cd $(distdir); rm -f $(libgda_built_headers) $(libgda_built_cfiles) 284 285xmldir = $(datadir)/libgda-5.0 286xml_DATA = information_schema.xml 287 288DTD_FILES = libgda-array.dtd libgda-paramlist.dtd libgda-server-operation.dtd 289dtddir=$(LIBGDA_DTDDIR) 290dtd_DATA=$(DTD_FILES) 291EXTRA_DIST = \ 292 $(DTD_FILES) \ 293 $(xml_DATA) \ 294 gda-marshal.list \ 295 libgda.symbols \ 296 keywords.list 297 298DISTCLEANFILES = .deps/*.P 299if ENABLE_GDA_GI 300-include $(INTROSPECTION_MAKEFILE) 301INTROSPECTION_GIRS = 302INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) \ 303 --namespace Gda \ 304 --warn-all \ 305 --c-include=libgda/libgda.h 306INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) 307 308psupport = \ 309 providers-support/gda-pstmt.h \ 310 providers-support/gda-pstmt.c 311 312threadwrapper = \ 313 thread-wrapper/gda-thread-wrapper.h \ 314 thread-wrapper/gda-thread-wrapper.c 315 316sqlparser = \ 317 sql-parser/gda-sql-parser.h \ 318 sql-parser/gda-sql-parser.c \ 319 sql-parser/gda-statement-struct-decl.h \ 320 sql-parser/gda-statement-struct-parts.h \ 321 sql-parser/gda-statement-struct-compound.h 322 323handlers = \ 324 handlers/gda-handler-bin.h \ 325 handlers/gda-handler-boolean.h \ 326 handlers/gda-handler-numerical.h \ 327 handlers/gda-handler-string.h \ 328 handlers/gda-handler-time.h \ 329 handlers/gda-handler-type.h \ 330 handlers/gda-handler-bin.c \ 331 handlers/gda-handler-boolean.c \ 332 handlers/gda-handler-numerical.c \ 333 handlers/gda-handler-string.c \ 334 handlers/gda-handler-time.c \ 335 handlers/gda-handler-type.c 336 337introspection_sources = $(gda_sources) \ 338 $(gda_headers) \ 339 $(psupport) \ 340 $(threadwrapper) \ 341 $(sqlparser) \ 342 $(handlers) 343Gda-5.0.gir: $(lib_LTLIBRARIES) 344Gda_5_0_gir_INCLUDES = GObject-2.0 libxml2-2.0 345Gda_5_0_gir_CFLAGS = $(GLOBAL_CFLAGS) 346 347Gda_5_0_gir_LIBS = $(lib_LTLIBRARIES) 348Gda_5_0_gir_FILES = $(addprefix $(srcdir)/,$(introspection_sources)) 349Gda_5_0_gir_FILES += $(gda_built_sources) 350INTROSPECTION_GIRS += Gda-5.0.gir 351 352girdir = $(datadir)/gir-1.0 353typelibsdir = $(libdir)/girepository-1.0 354 355gir_DATA = $(INTROSPECTION_GIRS) 356typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) 357 358CLEANFILES += $(typelibs_DATA) $(INTROSPECTION_GIRS) 359endif 360 361if ENABLE_VAPIGEN 362 363vapi: libgda-5.0.vapi 364 365libgda-5.0.vapi: Gda-5.0.gir 366 $(VAPIGEN) --metadatadir=$(top_srcdir)/libgda \ 367 --library libgda-5.0 \ 368 --pkg libxml-2.0 \ 369 Gda-5.0.gir \ 370 $(top_srcdir)/libgda/Gda-5.0-custom.vala 371 372vapidir = $(datadir)/vala/vapi 373vapi_DATA=libgda-5.0.vapi 374 375CLEANFILES += $(vapi_DATA) 376 377endif 378 379EXTRA_DIST += \ 380 Gda-5.0.metadata \ 381 Gda-5.0-custom.vala 382