Makefile revision 5052
a180a41bba1d50822df23fff0099e90b86638b89vboxsync#
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# CDDL HEADER START
a180a41bba1d50822df23fff0099e90b86638b89vboxsync#
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# The contents of this file are subject to the terms of the
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# Common Development and Distribution License (the "License").
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# You may not use this file except in compliance with the License.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync#
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# or http://www.opensolaris.org/os/licensing.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# See the License for the specific language governing permissions
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# and limitations under the License.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync#
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# When distributing Covered Code, include this CDDL HEADER in each
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# If applicable, add the following below this CDDL HEADER, with the
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
a180a41bba1d50822df23fff0099e90b86638b89vboxsync#
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# CDDL HEADER END
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsync#
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsync# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsync#
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsync
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsyncinclude ../../make-rules/shared-macros.mk
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsync
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsyncCOMPONENT_NAME= libmemcached
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsyncCOMPONENT_VERSION= 0.16
6e9aa255e3376b2da5824c09c4c62bc233463bfevboxsyncCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_ARCHIVE_HASH= \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync sha256:d4fb3a64dc592c104caa4e98bc11f209fcb97eecdeb7f506797320dea75b9459
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_ARCHIVE_URL= http://launchpadlibrarian.net/33299595/${COMPONENT_ARCHIVE}
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_PROJECT_URL= http://libmemcached.org/libMemcached.html
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_BUGDB= database/memcached
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncTPNO= 5582
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncinclude $(WS_MAKE_RULES)/prep.mk
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncinclude $(WS_MAKE_RULES)/configure.mk
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncinclude $(WS_MAKE_RULES)/ips.mk
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCFLAGS += -xstrconst
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncLDFLAGS += -lsocket -lnsl
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_ENV += MAKE=$(GMAKE)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_OPTIONS += CXXFLAGS="$(CXXFLAGS)"
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_OPTIONS += --bindir=$(USRBINDIR)
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCONFIGURE_OPTIONS += --includedir=$(CONFIGURE_INCLUDEDIR)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# need some files in $(SOURCE_DIR)/docs during build
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_PRE_CONFIGURE_ACTION = \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync ($(CLONEY) $(SOURCE_DIR) $(@D))
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# need /usr/perl5/bin on path to access pod2man perl script, used by
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# the build to create docs
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_BUILD_ENV += PATH=/usr/perl5/bin:$(PATH)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_BUILD_ENV += MAKE="$(GMAKE)"
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# Libmemcached's configure script sets an incorrect CFLAGS in the Makefiles
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# it generates. Make sure we use the correct one by passing CFLAGS in
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# as a build argument (CFLAGS in the environment won't take precedence
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# over the Makefile one).
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# Similarly, set pkglibdir in the arguments to gmake; otherwise
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# the Makefile sets runpath to a non-existent /usr/lib/libmemcached directory.
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_BUILD_ARGS += pkglibdir=/usr/lib
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncASLR_MODE = $(ASLR_ENABLE)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_INSTALL_ENV += DESTDIR=$(PROTO_DIR)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_TEST_ARGS += -k -i
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_TEST_DIR = $(@D)/tests
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_TEST_TARGETS = test
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCOMPONENT_TEST_TRANSFORMS += \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync '-e "s|\(bash: line 1:\).*|\1|" ' \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync '-e "s|\(Testing \)\(.*\)\([0-9].[0-9][0-9][0-9]\)\(.*$$\)|\1\2\4|" ' \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync '-e "s|^make.*: Leaving directory.*$$|XXX_REMOVE_XXX|g" ' \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync '-e "s|^make.*: Entering directory.*$$|XXX_REMOVE_XXX|g" ' \
a180a41bba1d50822df23fff0099e90b86638b89vboxsync '-e "/^XXX_REMOVE_XXX$$/d" '
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncconfigure: $(CONFIGURE_32_and_64)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncbuild: $(BUILD_32_and_64)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncinstall: $(INSTALL_32_and_64)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync# Tests fail, probably because memcached is not running.
a180a41bba1d50822df23fff0099e90b86638b89vboxsynctest: $(TEST_32_and_64)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncsystem-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncREQUIRED_PACKAGES += system/library
a180a41bba1d50822df23fff0099e90b86638b89vboxsync