Makefile revision 4941
308N/A#
308N/A# CDDL HEADER START
308N/A#
308N/A# The contents of this file are subject to the terms of the
308N/A# Common Development and Distribution License (the "License").
308N/A# You may not use this file except in compliance with the License.
308N/A#
308N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
308N/A# or http://www.opensolaris.org/os/licensing.
308N/A# See the License for the specific language governing permissions
308N/A# and limitations under the License.
308N/A#
308N/A# When distributing Covered Code, include this CDDL HEADER in each
308N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
308N/A# If applicable, add the following below this CDDL HEADER, with the
308N/A# fields enclosed by brackets "[]" replaced with your own identifying
308N/A# information: Portions Copyright [yyyy] [name of copyright owner]
308N/A#
308N/A# CDDL HEADER END
308N/A
308N/A#
308N/A# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
3817N/A#
308N/A
308N/Ainclude ../../make-rules/shared-macros.mk
308N/A
308N/ACOMPONENT_NAME= sudo
308N/ASRC_VERSION= 1.8.9
815N/ASRC_PATCH_VERSION= 5
618N/ACOMPONENT_VERSION= $(SRC_VERSION).$(SRC_PATCH_VERSION)
308N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(SRC_VERSION)p$(SRC_PATCH_VERSION)
308N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
844N/ACOMPONENT_ARCHIVE_HASH= \
844N/A sha256:bc9d5c96de5f8b4d2b014f87a37870aef60d2891c869202454069150a21a5c21
618N/ACOMPONENT_ARCHIVE_URL= http://www.sudo.ws/sudo/dist/$(COMPONENT_ARCHIVE)
1258N/ACOMPONENT_PROJECT_URL= http://www.sudo.ws/
308N/ACOMPONENT_BUGDB= utility/sudo
2899N/A
2899N/ATPNO= 16733
3817N/A
3817N/Ainclude $(WS_MAKE_RULES)/prep.mk
3817N/Ainclude $(WS_MAKE_RULES)/configure.mk
308N/Ainclude $(WS_MAKE_RULES)/ips.mk
308N/A
308N/ACOMPONENT_PREP_ACTION = ( cd $(@D) ; $(AUTORECONF) -f -I m4 )
308N/A
308N/ACONFIGURE_ENV += "CC=$(CC)"
1938N/ACONFIGURE_ENV += "CFLAGS=$(CFLAGS)"
1938N/ACONFIGURE_ENV += "CXX=$(CXX)"
308N/ACONFIGURE_ENV += "MAKE=$(GMAKE)"
2023N/ACONFIGURE_ENV += "CPPFLAGS=$(CPPFLAGS) -I/usr/include/openldap"
308N/ACONFIGURE_ENV += "LDFLAGS=$(LDFLAGS) -m64 -lldap_r-2.4"
2023N/A
308N/ACONFIGURE_OPTIONS += --with-ldap
2023N/ACONFIGURE_OPTIONS += --with-project
308N/ACONFIGURE_OPTIONS += --with-timedir=/system/volatile/sudo
4337N/ACONFIGURE_OPTIONS += --with-pam
4337N/ACONFIGURE_OPTIONS += --with-pam-login
308N/ACONFIGURE_OPTIONS += --disable-pam-session
3817N/ACONFIGURE_OPTIONS += --with-tty-tickets
3817N/ACONFIGURE_OPTIONS += --without-insults
CONFIGURE_OPTIONS += --without-lecture
CONFIGURE_OPTIONS += --with-ignore-dot
CONFIGURE_OPTIONS += --with-solaris-audit
CONFIGURE_OPTIONS += --libexecdir=/usr/lib/sudo
CONFIGURE_OPTIONS += "sudo_cv_var_nroff_opt_Tascii=no"
COMPONENT_BUILD_ENV += CC=$(CC) CXX=$(CXX)
COMPONENT_BUILD_ENV += "CFLAGS=$(CFLAGS)"
COMPONENT_INSTALL_TARGETS = install
COMPONENT_INSTALL_ARGS += bindir=$(USRBINDIR)
COMPONENT_INSTALL_ARGS += sbindir=$(USRSBINDIR)
# Make sure that sudo is NOT built with its internal sha2 implementation
# http://www.sudo.ws/bugs/show_bug.cgi?id=641
COMPONENT_TEST_ENV_CMD =
COMPONENT_TEST_CMD = \
if [[ -n $$( elfdump -s "$(VISUDO)" | grep SHA256Init | grep -v UNDEF ) ]]; then \
echo "SHA256Init is not an undefined symbol in $(VISUDO)"; \
exit 1; \
fi; \
$(GMAKE)
# Tests may output some compilation lines, so just pull out the relevant test
# output lines for the test results comparison
COMPONENT_TEST_TRANSFORMS += '-e "/^sudo_conf\|^sudo_parseln\|^check_addr\|^check_base64\|^check_fill\|^iolog_path\|^check_symbols\|^sudoers\|^testsudoers\|^visudo\|^check_ttyname/!d"'
COMPONENT_TEST_TRANSFORMS += '-e "s/\(\/dev\/pts\/\)[0-9][0-9]*/\1\#/"'
# Enable aslr for this component
ASLR_MODE = $(ASLR_ENABLE)
# common targets
configure: $(CONFIGURE_64)
build: $(BUILD_64)
install: $(INSTALL_64)
VISUDO=$(BUILD_DIR_64)/plugins/sudoers/visudo
test: $(TEST_64)
system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
REQUIRED_PACKAGES += library/openldap
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/security/crypto
REQUIRED_PACKAGES += text/groff/groff-core