0N/A#
3909N/A# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A#
0N/A# This code is free software; you can redistribute it and/or modify it
0N/A# under the terms of the GNU General Public License version 2 only, as
2362N/A# published by the Free Software Foundation. Oracle designates this
0N/A# particular file as subject to the "Classpath" exception as provided
2362N/A# by Oracle in the LICENSE file that accompanied this code.
0N/A#
0N/A# This code is distributed in the hope that it will be useful, but WITHOUT
0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A# version 2 for more details (a copy is included in the LICENSE file that
0N/A# accompanied this code).
0N/A#
0N/A# You should have received a copy of the GNU General Public License version
0N/A# 2 along with this work; if not, write to the Free Software Foundation,
0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A#
2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A# or visit www.oracle.com if you need additional information or have any
2362N/A# questions.
0N/A#
0N/A
0N/A#
0N/A# Makefile for JDBC-ODBC Bridge Driver
0N/A#
0N/A# Note - the native library for the bridge may be linked with the
0N/A# shared library for the ODBC driver manager. Or dummy libraries
0N/A# may be used to just create libJdbcOdbc.so with a dependency on
0N/A# libodbc.so and libodbcinst.so.
0N/A#
0N/A
0N/ABUILDDIR = ../..
0N/APACKAGE = sun.jdbc.odbc
0N/ALIBRARY = JdbcOdbc
0N/APRODUCT = sun
0N/Ainclude $(BUILDDIR)/common/Defs.gmk
0N/A
0N/A#
0N/A# Files
0N/A#
0N/A
0N/AAUTO_FILES_JAVA_DIRS = sun/jdbc/odbc
0N/A
0N/AFILES_c = \
0N/A JdbcOdbc.c
0N/A
0N/AFILES_export = \
0N/A sun/jdbc/odbc/JdbcOdbc.java
0N/A
0N/A# Use fake libraries on Solaris and Linux just so the library we create has
0N/A# a dependency on these two library names. (which are not part of the jdk)
0N/Aifneq ($(PLATFORM), windows)
0N/A # In jdk5 and jdk6, and on Solaris 32bit, we would have required that
0N/A # these two libraries exist at: $(ALT_ODBCDIR)/ISLIodbc/2.11/lib
0N/A # In jdk7, we just fake them out like we did on Linux in jdk5 and jdk6.
0N/A #
0N/A # If you wanted to use the real odbc libraries, change the value of
0N/A # ODBC_LIBRARY_LOCATION, and delete the variable assignments below.
0N/A #
0N/A # Tell linker to ignore missing externals when building this shared library.
3767N/A LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker nodefs
0N/A # Define a place to create the fake libraries and their names.
0N/A ODBC_LIBRARY_LOCATION = $(TEMPDIR)
0N/A ODBC_FAKE_LIBRARIES = $(ODBC_LIBRARY_LOCATION)/libodbcinst.so $(ODBC_LIBRARY_LOCATION)/libodbc.so
0N/A # Make sure they get created early.
0N/A INIT += $(ODBC_FAKE_LIBRARIES)
0N/Aendif
0N/A
0N/A#
0N/A# Rules
0N/A#
0N/Ainclude $(BUILDDIR)/common/Library.gmk
0N/A
0N/A#
0N/A# The UNIX define specifies conditional compilation for UNIX
0N/A#
0N/Aifeq ($(PLATFORM), windows)
0N/A LDLIBS += odbc32.lib odbccp32.lib
0N/Aelse
0N/A CFLAGS += -DUNIX
0N/A LDFLAGS += -L$(ODBC_LIBRARY_LOCATION) -lodbcinst -lodbc
0N/Aendif
0N/A
0N/A#
0N/A# The native code for the bridge uses conditional compilation to
0N/A# support Solaris, Win95 and Mac PPC. This is the path to the shared C files
0N/A# (which unfortunately are in the same directory as shared Java files).
0N/A#
0N/Avpath %.c $(CLOSED_SHARE_SRC)/classes/sun/jdbc/odbc
0N/A
0N/A#
0N/A# Rules to generate fake libraries
0N/A#
0N/A
0N/Aifdef ODBC_FAKE_LIBRARIES
0N/A$(TEMPDIR)/dummyodbc.c:
0N/A @$(prep-target)
0N/A $(ECHO) "void dummyOdbc(void){}" >> $@
0N/A$(TEMPDIR)/dummyodbc.o: $(TEMPDIR)/dummyodbc.c
0N/A @$(prep-target)
0N/A $(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
0N/A$(ODBC_FAKE_LIBRARIES): $(TEMPDIR)/dummyodbc.o
0N/A @$(prep-target)
0N/A $(CC) $(SHARED_LIBRARY_FLAG) $(LDFLAGS_COMMON) -o $@ $< $(EXTRA_LIBS)
0N/Aclean::
0N/A $(RM) -f $(ODBC_FAKE_LIBRARIES)
0N/A $(RM) -f $(TEMPDIR)/dummyodbc.c
0N/A $(RM) -f $(TEMPDIR)/dummyodbc.o
0N/Aendif
0N/A
0N/A#
0N/A# Files that need to be copied
0N/A#
0N/ASERVICEDIR = $(CLASSBINDIR)/META-INF/services
0N/A
0N/AFILES_copy = \
0N/A $(SERVICEDIR)/java.sql.Driver
0N/A
0N/A
0N/AFILES_mkdirs = \
0N/A $(CLASSBINDIR)/META-INF \
0N/A $(CLASSBINDIR)/META-INF/services
0N/A
0N/AFILES_copydirs = \
0N/A $(CLASSBINDIR) \
0N/A $(FILES_mkdirs)
0N/A
0N/Abuild: copy-files
0N/A
0N/Acopy-files: $(FILES_copy)
0N/A
0N/A$(SERVICEDIR)/%: $(CLOSED_SHARE_SRC)/classes/sun/jdbc/odbc/META-INF/services/%
0N/A $(install-file)
0N/A
0N/Aclean clobber::
0N/A $(RM) $(FILES_copy)
0N/A
0N/A.PHONY: copy-files
0N/A