Makefile revision 844
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# CDDL HEADER START
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# The contents of this file are subject to the terms of the
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# Common Development and Distribution License (the "License").
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# You may not use this file except in compliance with the License.
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# or http://www.opensolaris.org/os/licensing.
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# See the License for the specific language governing permissions
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# and limitations under the License.
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# When distributing Covered Code, include this CDDL HEADER in each
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# If applicable, add the following below this CDDL HEADER, with the
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# fields enclosed by brackets "[]" replaced with your own identifying
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# information: Portions Copyright [yyyy] [name of copyright owner]
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# CDDL HEADER END
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith#
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinclude ../../make-rules/shared-macros.mk
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithPATH=$(SPRO_VROOT)/bin:$(JAVA_HOME)/bin:/usr/bin
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_NAME= db
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_VERSION= 5.1.25
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_PROJECT_URL= http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCOMPONENT_ARCHIVE_HASH= \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith sha256:72eac5fcae4b51b0f1edc727c0368407f29b42e3f2f50ebc31a282d0d6c0a617
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCOMPONENT_ARCHIVE_URL= http://download.oracle.com/berkeley-db/$(COMPONENT_ARCHIVE)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinclude ../../make-rules/prep.mk
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinclude ../../make-rules/configure.mk
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinclude ../../make-rules/ips.mk
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_PRE_CONFIGURE_ACTION = \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith ($(CLONEY) $(SOURCE_DIR) $(@D))
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_POST_TEST_ACTION = \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith (cd $(@D); \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith echo "source test/tcl/test.tcl" > $(@D)/run_bdb.tcl; \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith echo "$(RUN)" >> $(@D)/run_bdb.tcl; \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith cd $(@D); \
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith ulimit -n 1024; $(ENV) /usr/bin/tclsh run_bdb.tcl)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_SCRIPT = dist/configure
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# adding to the C++ compiler because libtool appears to strip it from CXXFLAGS
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCXX += $(studio_NORUNPATH)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# we need to enable large file support and build PIC for our shared libraries
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCFLAGS += $(CPP_LARGEFILES) $(CC_PIC)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCXXFLAGS += $(CPP_LARGEFILES)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCONFIGURE_ENV += JAVA_HOME="$(JAVA_HOME)"
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --includedir=/usr/include
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCONFIGURE_OPTIONS += --enable-shared
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt SweeneyCONFIGURE_OPTIONS += --disable-static
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-cxx
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-java
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-sql
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-sql_codegen
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-jdbc
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-tcl
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --with-tcl=/usr/lib
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += --enable-dbm
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCONFIGURE_OPTIONS += $(configure_test)
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeney
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithCOMPONENT_TEST_TARGETS = test
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeney
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeney$(BUILD_DIR)/%/.tested: configure_test= --enable-test
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# common targets
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeneybuild: $(BUILD_32_and_64)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinstall: $(INSTALL_32_and_64)
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeney $(CP) berkeleydb.license $(PROTOUSRDIR)/docs/LICENSE
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeneytest: $(TEST_32_and_64)
fb1ecdf65fd4106deb62da339763f2e7670ca0f6Matt Sweeney
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# By default "gmake test" runs standard tests, takes ~6 hrs (default).
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithRUN=run_std
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# Run all tests, takes ~3 days from command line using
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith# "gmake test RUN=run_all"
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke SmithBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smithinclude ../../make-rules/depend.mk
61d056e25c884bc5635cfe38d3c4a1099977644eLuke Smith