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