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