Makefile revision 346
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# CDDL HEADER START
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# The contents of this file are subject to the terms of the
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# Common Development and Distribution License (the "License").
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# You may not use this file except in compliance with the License.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# or http://www.opensolaris.org/os/licensing.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# See the License for the specific language governing permissions
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# and limitations under the License.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# When distributing Covered Code, include this CDDL HEADER in each
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# If applicable, add the following below this CDDL HEADER, with the
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# fields enclosed by brackets "[]" replaced with your own identifying
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# information: Portions Copyright [yyyy] [name of copyright owner]
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# CDDL HEADER END
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg#
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginclude ../../make-rules/shared-macros.mk
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_NAME= otp_src
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_VERSION_MAJOR= 12
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_VERSION_MINOR= B
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_VERSION_MICRO= 5
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# IPS_COMPONENT_VERSION needs update whenever this is changed
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_VERSION= R$(COMPONENT_VERSION_MAJOR)$(COMPONENT_VERSION_MINOR)-$(COMPONENT_VERSION_MICRO)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_SRC= $(COMPONENT_NAME)_$(COMPONENT_VERSION)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_HASH= sha1:6c45509acf70d35d5def2cbefd86ada093c1ac3a
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_URL= http://www.erlang.org/download/$(COMPONENT_ARCHIVE)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# manpages
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_NAME_1= otp_doc_man
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_SRC_1= $(COMPONENT_NAME_1)_$(COMPONENT_VERSION)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_1= $(COMPONENT_SRC_1).tar.gz
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_HASH_1= sha1:ae7036bd2afc9d1fca97f0de2eca84f56656def8
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_URL_1= http://www.erlang.org/download/$(COMPONENT_ARCHIVE_1)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# HTML documentation
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_NAME_2= otp_doc_html
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_SRC_2= $(COMPONENT_NAME_2)_$(COMPONENT_VERSION)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_2= $(COMPONENT_SRC_2).tar.gz
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_HASH_2= sha1:0bd369d02051e01bac58c9b8665bd3538e116f51
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_ARCHIVE_URL_2= http://www.erlang.org/download/$(COMPONENT_ARCHIVE_2)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginclude ../../make-rules/prep.mk
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginclude ../../make-rules/configure.mk
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginclude ../../make-rules/ips.mk
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but it is not
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# enough for us. We need to include the $(COMPONENT_SUBVERSION) somehow.
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# Because the IPS_COMPONENT_VERSION cannot contain letters we use mapping:
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# R(major)(minor)-(micro) - (major).(minor as number).(micro)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergIPS_COMPONENT_VERSION= $(COMPONENT_VERSION_MAJOR).2.$(COMPONENT_VERSION_MICRO)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# Built in SFW with gcc and builds cleanly now only with gcc
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPILER = gcc
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS) -I/usr/include/gd2"
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += INSTALL="/usr/ucb/install -c"
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += --enable-smp-support
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += --enable-threads
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += --enable-hipe
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += --with-ssl
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS += --enable-dynamic-ssl-lib
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS.64 += LDFLAGS="$(LDFLAGS) -m64"
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_OPTIONS.64 += LIBS="-m64"
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_PRE_CONFIGURE_ACTION = \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg ($(CLONEY) $(SOURCE_DIR) $(@D))
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCONFIGURE_SCRIPT = $(@D)/configure
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergCOMPONENT_INSTALL_ARGS += INSTALL_PREFIX=$(PROTO_DIR)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg# common targets
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Bergbuild: $(BUILD_32_and_64)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginstall: $(INSTALL_32_and_64)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg # Undelivered useless files:
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg # erlang/lib/crypto-*/priv/obj
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg # erlang/lib/ssl-*/priv/obj
a5792f1861099b7843d80bcb3614a9ddaabc32daKnut Anders Hatlen # erlang/Install
a5792f1861099b7843d80bcb3614a9ddaabc32daKnut Anders Hatlen # erlang/misc
a5792f1861099b7843d80bcb3614a9ddaabc32daKnut Anders Hatlen # erlang/*/*.bat
a5792f1861099b7843d80bcb3614a9ddaabc32daKnut Anders Hatlen # manpages: start.1 werl.1
a5792f1861099b7843d80bcb3614a9ddaabc32daKnut Anders Hatlen $(RM) -r documentation
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(MKDIR) documentation && cd documentation && \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(UNPACK) $(UNPACK_ARGS) ../$(COMPONENT_ARCHIVE_1) && \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(UNPACK) $(UNPACK_ARGS) ../$(COMPONENT_ARCHIVE_2)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg # remove INSTALL_PREFIX from path
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(PERL) -pi -e "s|$(PROTO_DIR)||g" $(PROTO_DIR)/usr/lib/erlang/bin/erl \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(PROTO_DIR)/usr/lib/$(MACH64)/erlang/bin/erl \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(PROTO_DIR)/usr/lib/erlang/releases/RELEASES \
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(PROTO_DIR)/usr/lib/$(MACH64)/erlang/releases/RELEASES
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Bergclean::
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg $(RM) -r documentation
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Bergtest: $(NO_TESTS)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S BergBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berginclude ../../make-rules/depend.mk
ca37bb3c4127b35d333203398bd983ee730d9da5Jan S Berg