1providerdir=$(libdir)/libgda-$(GDA_ABI_MAJOR_VERSION).$(GDA_ABI_MINOR_VERSION)/providers
2provider_LTLIBRARIES = libgda-jdbc.la
3noinst_PROGRAMS = gda-jdbc-test
4bin_PROGRAMS = gda-list-jdbc-providers-5.0
5
6#Rem: JDBC_CFLAGS and JDBC_LIBS are the compile and link flags necessary to use the
7# C API. It is specific to the API and should be computed in the configure.in script.
8
9AM_CPPFLAGS = \
10	-I$(top_srcdir) \
11	-I$(top_srcdir)/libgda \
12	-I$(top_builddir) \
13	$(COREDEPS_CFLAGS) $(COREDEPS_WFLAGS) $(JAVA_CFLAGS) \
14	-DJVM_PATH=\""$(JAVA_LD_PATH)"\" \
15	-DTOP_BUILD_DIR=\""$(top_builddir)"\"
16
17jni_sources = \
18	GdaJConnection.c \
19	GdaJMeta.c \
20	GdaJProvider.c \
21	GdaJPStmt.c \
22	GdaJResultSet.c \
23	GdaJResultSetInfos.c \
24	GdaJColumnInfos.c \
25	GdaJBlobOp.c \
26	GdaJValue.c \
27	GdaInputStream.c
28
29jni_headers = $(jni_sources:.c=.h)
30jni_classes = $(jni_sources:.c=.class)
31
32resources = jdbc-resources.h jdbc-resources.c
33
34$(libgda_jdbc_la_OBJECTS): $(jni_headers) $(resources)
35
36libgda_jdbc_la_SOURCES = \
37	gda-jdbc-blob-op.c \
38	gda-jdbc-blob-op.h \
39	gda-jdbc-ddl.c \
40	gda-jdbc-ddl.h \
41	gda-jdbc-provider.c \
42	gda-jdbc-provider.h \
43	gda-jdbc-pstmt.h \
44	gda-jdbc-pstmt.c \
45	gda-jdbc-meta.c \
46	gda-jdbc-meta.h \
47	gda-jdbc-recordset.c \
48	gda-jdbc-recordset.h \
49	gda-jdbc-util.c \
50	gda-jdbc-util.h \
51	gda-jdbc.h \
52	libmain.c \
53	jni-globals.h \
54	jni-wrapper.h \
55	jni-wrapper.c \
56	$(jni_sources) \
57	$(jni_headers) \
58	$(resources)
59
60libgda_jdbc_la_LDFLAGS = -export-dynamic -module -avoid-version $(NO_UNDEFINED) $(LIBTOOL_PROV_EXPORT_OPTIONS)
61libgda_jdbc_la_LIBADD = \
62	$(top_builddir)/libgda/libgda-5.0.la \
63	$(COREDEPS_LIBS)
64# rem: don't link with JAVA_LIBS because we don't want the dependency on it
65# (JVM runtime will be loaded when running)
66
67# rem: if on Windows, then we need to add these flags because we don't want the exported symbols's names
68# to be mangled with @8 for example
69if PLATFORM_WIN32
70libgda_jdbc_la_LDFLAGS += -Wl,--kill-at
71endif
72
73jdbc-resources.h jdbc-resources.c: $(srcdir)/jdbc.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/jdbc.gresource.xml)
74	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate --c-name _jdbc --manual-register $<
75
76CLEANFILES = $(resources)
77
78$(jni_headers): $(jdbcprov_sources)
79	$(JAVAC) -classpath . -h $(builddir) $^
80
81jdbcprov_jar = gdaprovider-5.0.jar
82jdbcprov_sources = \
83	provider.java \
84	meta.java \
85	derby.java \
86	h2.java \
87	sqlserver.java
88jdbcprov_classes = GdaJConnection.class
89
90jdbcprovdir = $(providerdir)
91jdbcprov_DATA = $(jdbcprov_jar)
92
93GdaJConnection.class: $(jdbcprov_sources)
94	$(JAVAC) -cp . $(JFLAGS) -d $(top_builddir)/providers/jdbc -classpath $(builddir) -h $(builddir) $^
95
96$(jdbcprov_jar): $(jdbcprov_classes)
97	$(JAR) cfm $(jdbcprov_jar) $(top_srcdir)/providers/jdbc/MANIFEST.MF *.class
98
99clean-local:
100	rm -rf $(jdbcprov_jar)
101	rm -f $(jni_headers)
102	rm -f *.class
103
104xmldir   = $(datadir)/libgda-5.0
105xml_in_files = \
106	jdbc_specs_dsn.xml.in \
107	jdbc_specs_create_table.xml.in \
108	jdbc_specs_com.microsoft.sqlserver.jdbc.SQLServerDriver_dsn.xml.in
109
110@INTLTOOL_XML_RULE@
111
112xml_DATA = $(xml_in_files:.xml.in=.xml)
113
114pkgconfigdir = $(libdir)/pkgconfig
115pkgconfig_DATA = libgda-jdbc-5.0.pc
116
117doc_files = \
118	doc/structure.dia
119
120EXTRA_DIST = $(xml_in_files) \
121	libgda-jdbc-5.0.pc.in \
122	jdbc-mappings.xml \
123	jdbc.gresource.xml \
124	$(jdbcprov_sources) \
125	$(doc_files) \
126	MANIFEST.MF
127
128DISTCLEANFILES = $(xml_DATA)
129
130
131
132gda_jdbc_test_SOURCES = gda-jdbc-test.c
133gda_jdbc_test_LDADD = \
134        $(COREDEPS_LIBS) \
135        $(top_builddir)/libgda/libgda-5.0.la
136
137
138gda_list_jdbc_providers_5_0_SOURCES = gda-list-jdbc-providers.c
139gda_list_jdbc_providers_5_0_LDADD = \
140        $(COREDEPS_LIBS) \
141        $(top_builddir)/libgda/libgda-5.0.la
142
143