Makefile revision 3996
303N/A# The contents of this file are subject to the terms of the 303N/A# Common Development and Distribution License (the "License"). 303N/A# You may not use this file except in compliance with the License. 303N/A# See the License for the specific language governing permissions 303N/A# and limitations under the License. 303N/A# When distributing Covered Code, include this CDDL HEADER in each 303N/A# If applicable, add the following below this CDDL HEADER, with the 303N/A# fields enclosed by brackets "[]" replaced with your own identifying 303N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2490N/A# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. 303N/A# This component is not to be installed. It is used to build FIPS-140 303N/A# certified OpenSSL libraries. 303N/A# In order to build a 32bit version on a 64bit system the isalist(1) command 303N/A# must be substituted for the 32bit build so that amd64|sparcv9 is not part of 303N/A# its output. isalist is used internally when configuring the canister before 303N/A# building it. In order to allow make install to be run as a no-op we have to 303N/A# fake "make install" since we do not want to install the files anywhere. The 303N/A# command sets U1 and U2 are defined in the FIPS 2.0.5 security policy and must be 303N/A# run as shown there. Nothing from the tarball can be modified. We use the U2 303N/A# command set, see below. 303N/A# Do not use $(PWD), it would not work if run from a different directory with 303N/A# "gmake -C" as we do from openssl-1.0.1 303N/A# we'll also pick up gcc if we find it in the path, so force it to 303N/A# find one that doesn't work like it wants 303N/A# HMAC-SHA-1 digest of the OpenSSL FIPS tar file is used for the 303N/A# integrity test requirement for the FIPS-140 validation. 303N/A# Note: COMPONENT_ARCHIVE_HASH is a SHA256 digest used by the Userland 303N/A# Consolidation to check the file integrity. 303N/A# There is a broken link in the tarball which causes cp(1) to fail which would 303N/A# fail the whole configure process. It's safer to get rid of the link than 303N/A# adding "true" at the end of COMPONENT_PRE_CONFIGURE_ACTION since that could 850N/A# There is a specific way that must be followed to build the FIPS-140 canister. 303N/A# It is "./config fipscanisterbuild; make; make install" and is called a command 2490N/A# set "U2" in the OpenSSL FIPS-140 User Guide. 303N/A# For 64-bit, use './Configure fipscanisterbuild solaris64-sparcv9-cc'. # Add COMPONENT_DIR to PATH so cc wrapper can be found. # You should not use this target with this component unless testing or # debugging. The OpenSSL FIPS-140 policy is strict and full U2 command set # should be run. See above for more information. # We must make the "install" target a no-op (but must run it to be compliant). # See above for more information. # This is a recommended set of commands to verify that the FIPS-140 mode can be # used and that we used the correct tarball. $(NAWK) '{ if ($$2 != "$(OPENSSL_FIPS_HMAC)") exit 1 }'