Makefile revision 7049
230N/A#
230N/A# CDDL HEADER START
230N/A#
230N/A# The contents of this file are subject to the terms of the
230N/A# Common Development and Distribution License (the "License").
230N/A# You may not use this file except in compliance with the License.
230N/A#
230N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
230N/A# or http://www.opensolaris.org/os/licensing.
230N/A# See the License for the specific language governing permissions
230N/A# and limitations under the License.
230N/A#
230N/A# When distributing Covered Code, include this CDDL HEADER in each
230N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
230N/A# If applicable, add the following below this CDDL HEADER, with the
230N/A# fields enclosed by brackets "[]" replaced with your own identifying
230N/A# information: Portions Copyright [yyyy] [name of copyright owner]
230N/A#
230N/A# CDDL HEADER END
230N/A#
230N/A# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
3996N/A#
230N/A
230N/Ainclude ../../make-rules/shared-macros.mk
230N/A
230N/ACOMPONENT_NAME= rsyslog
230N/ACOMPONENT_VERSION= 8.4.2
758N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
230N/ACOMPONENT_PROJECT_URL= http://www.rsyslog.com/
230N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
844N/ACOMPONENT_ARCHIVE_HASH= sha256:71c3c6dac74fba2692f9fefb092cd3d22e2bd71eb702e0da06648de51b8b7b9a
844N/ACOMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)files/download/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
230N/ACOMPONENT_BUGDB= service/rsyslog
618N/A
1273N/ATPNO= 22636
230N/A
3661N/A# The documentation is in a separate download
3661N/ACOMPONENT_SRC_DOC= $(COMPONENT_NAME)-doc-$(COMPONENT_VERSION)
3996N/ACOMPONENT_ARCHIVE_1= $(COMPONENT_SRC_DOC).tar.gz
3996N/ACOMPONENT_ARCHIVE_DOC= $(COMPONENT_SRC_DOC).tar.gz
3996N/ACOMPONENT_ARCHIVE_HASH_1= sha256:21862b046b3504f136f9b8961466f2b248ac315c67de8742bd4a35c599f3dd48
3996N/ACOMPONENT_ARCHIVE_URL_1= $(COMPONENT_PROJECT_URL)files/download/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE_DOC)
230N/A
230N/AUNPACK_ARGS_DOC= -r $(COMPONENT_SRC_DOC)
230N/A
230N/Ainclude ../../make-rules/prep.mk
230N/Ainclude ../../make-rules/configure.mk
230N/Ainclude ../../make-rules/ips.mk
230N/A
230N/A# Note: the following document unpacking directory may not be the same as those
230N/A# in other branches due to differences in build tools.
230N/A# In case the docs ever need patching, they are extracted before patching takes
230N/A# place.The doc tarball does not unpack cleanly into its own directory.
230N/A# Also, we only want the "build" directory inside of it.
230N/ACLEAN_PATHS += $(COMPONENT_SRC_DOC)
230N/ACOMPONENT_POST_UNPACK_ACTION= $(MKDIR) $(COMPONENT_SRC_DOC) ; \
230N/A cd $(COMPONENT_SRC_DOC) ; \
230N/A tar xf ../$(COMPONENT_ARCHIVE_DOC) build
230N/A
230N/A# Automake fix, regenerates configure file to get rid of the
230N/A# automake 'probably too old' error. This fixes gmake test
230N/A# needing more than one try to run. This does not fix the
230N/A# fact that gmake test runs no tests.
230N/ACOMPONENT_PRE_CONFIGURE_ACTION= cd $(SOURCE_DIR); \
230N/A aclocal; \
230N/A autoconf; \
230N/A automake -a;
230N/A
230N/A# gmake test will generate different outputs if run multiple
230N/A# times. This gets rid of all the unimportant output
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(CC\).*/d" '
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(make\).*/d" '
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(source\).*/d" '
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(check\).*/d" '
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(usr\).*/d" '
230N/ACOMPONENT_TEST_TRANSFORMS += '-e "/\(SOURCE_DIR\).*/d" '
230N/A
230N/ACOMPILER = gcc
230N/A
230N/A# This is needed for things to be built correctly.
230N/ACONFIGURE_ENV += CFLAGS="$(CFLAGS) -std=c99"
230N/A
230N/A# A normal 64-bit build would result in /usr/lib/$(MACH64)/rsyslog but since we
230N/A# have a self-contained eco-system, simplify things for customers and just use
230N/A# /usr/lib/rsyslog .
230N/ACONFIGURE_LIBDIR.64 = $(CONFIGURE_LIBDIR.32)
230N/A
230N/A# Rsyslog sources contain __FILE__ macros which contain full path to the workspace
230N/A# This may appear in debug output which is not nice. By specifying the source
230N/A# path relative we force the macro to be relative path too.
230N/ACONFIGURE_OPTIONS += --srcdir=../../$(COMPONENT_NAME)-$(COMPONENT_VERSION)
230N/ACONFIGURE_OPTIONS += --enable-imsolaris
230N/ACONFIGURE_OPTIONS += --enable-mail
230N/ACONFIGURE_OPTIONS += --enable-gssapi_krb5
230N/ACONFIGURE_OPTIONS += --enable-gnutls
230N/ACONFIGURE_OPTIONS += --disable-klog
230N/ACONFIGURE_OPTIONS += --sbindir=/usr/lib/rsyslog
230N/A
230N/A# libgcrypt is not approved.
230N/ACONFIGURE_OPTIONS += --disable-libgcrypt
230N/ACONFIGURE_OPTIONS += --enable-extended-tests
230N/A
230N/A# There are man pages in the tarball, which will require modification for
230N/A# content. Also, building them from here requires python-docutils.
230N/ACONFIGURE_OPTIONS += --disable-generate-man-pages
230N/A
230N/AASLR_MODE = $(ASLR_ENABLE)
230N/A
230N/A# common targets
230N/Aconfigure: $(CONFIGURE_64)
230N/A
230N/Abuild: $(BUILD_64)
230N/A
230N/APROTODOCDIR= $(PROTOUSRSHAREDIR)/doc/$(COMPONENT_NAME)
230N/A# Docs to install are the tree under docs/build with some exceptions.
230N/Ainstall: $(INSTALL_64)
230N/A $(MKDIR) $(PROTODOCDIR)
230N/A cd $(COMPONENT_SRC_DOC)/build ; \
230N/A find . \( -name '_sources' \
230N/A -o -name '.doctrees' \
230N/A -o -name '.buildinfo' \
230N/A -o -name 'objects.inv' \) \
3996N/A -prune -o -print0 \
3996N/A | cpio -pd0u $(PROTODOCDIR)
3996N/A
3996N/A# There are tests, but gmake test is currently broken.
3996N/A# It was working in the previous version, but not sure why
# it breaks now. Leaving it at no tests for now.
test: $(NO_TESTS)
PKG_PROTO_DIRS += $(COMPONENT_DIR)/files
PKG_PROTO_DIRS += $(COMPONENT_SRC)
REQUIRED_PACKAGES += library/gnutls
REQUIRED_PACKAGES += library/json-c
REQUIRED_PACKAGES += library/libestr
REQUIRED_PACKAGES += library/liblogging
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library