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