summaryrefslogtreecommitdiff
path: root/usr/src/lib/libkmsagent/Makefile.com
diff options
context:
space:
mode:
authorWyllys Ingersoll <Wyllys.Ingersoll@Sun.COM>2010-06-28 16:04:11 -0700
committerWyllys Ingersoll <Wyllys.Ingersoll@Sun.COM>2010-06-28 16:04:11 -0700
commit4f14b0f29aa144cc03efdde5508ae126ae197acf (patch)
tree5292d99c7ec8374d412d58116e7bbc7279e72067 /usr/src/lib/libkmsagent/Makefile.com
parent1e49577a7fcde812700ded04431b49d67cc57d6d (diff)
downloadillumos-gate-4f14b0f29aa144cc03efdde5508ae126ae197acf.tar.gz
PSARC 2010/195 PKCS11 KMS Provider
6944296 Solaris needs a PKCS#11 provider to allow access to KMS keystore functionality
Diffstat (limited to 'usr/src/lib/libkmsagent/Makefile.com')
-rw-r--r--usr/src/lib/libkmsagent/Makefile.com158
1 files changed, 158 insertions, 0 deletions
diff --git a/usr/src/lib/libkmsagent/Makefile.com b/usr/src/lib/libkmsagent/Makefile.com
new file mode 100644
index 0000000000..10113e89e1
--- /dev/null
+++ b/usr/src/lib/libkmsagent/Makefile.com
@@ -0,0 +1,158 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+#
+
+LIBRARY= libkmsagent.a
+VERS= .1
+
+LIB_C_OBJECTS= \
+ SYSCommon.o \
+ ieee80211_crypto.o \
+ k_setupssl.o
+
+LIB_CPP_OBJECTS= \
+ KMSAgent.o \
+ KMSAgentChallenge.o \
+ KMSAgentCryptoUtilities.o \
+ KMSAgentDataUnitCache.o \
+ KMSAgentFatalState.o \
+ KMSAgentKeyCallout.o \
+ KMSAgentKnownAnswerTests.o \
+ KMSAgentLoadBalancer.o \
+ KMSAgentPKICert.o \
+ KMSAgentPKICertOpenSSL.o \
+ KMSAgentPKICommon.o \
+ KMSAgentPKIKey.o \
+ KMSAgentPKIKeyOpenSSL.o \
+ KMSAgentSoapUtilities.o \
+ KMSAgentStorage.o \
+ KMSAgentStringUtilities.o \
+ KMSAuditLogger.o \
+ KMSClientProfile.o
+
+SOAP_OBJECTS =\
+ AgentServiceNamespace.o \
+ CAServiceNamespace.o \
+ CertificateServiceNamespace.o \
+ DiscoveryServiceNamespace.o \
+ KMS_AgentC.o \
+ KMS_AgentClient.o \
+ KMS_CAC.o \
+ KMS_CAClient.o \
+ KMS_CertificateC.o \
+ KMS_CertificateClient.o \
+ KMS_DiscoveryC.o \
+ KMS_DiscoveryClient.o \
+ envC.o \
+ stdsoap2.o
+
+OBJECTS= \
+ $(LIB_C_OBJECTS) \
+ $(LIB_CPP_OBJECTS) \
+ $(SOAP_OBJECTS)
+
+LIBSRCDIR= ../common
+SOAPSRCDIR= ../common/SOAP
+
+include $(SRC)/lib/Makefile.lib
+
+SRCDIR=../common
+CSRCS = $(LIB_C_OBJECTS:%.o=$(LIBSRCDIR)/%.c)
+LIBSRCS = $(LIB_CPP_OBJECTS:%.o=$(LIBSRCDIR)/%.cpp) $(CSRCS)
+SOAPSRCS= $(SOAP_OBJECTS:%.o=$(SOAPSRCDIR)/%.cpp)
+
+CCOBJS = $(LIB_CPP_OBJECTS:%.o=pics/%.o) \
+ $(SOAP_OBJECTS:%.o=pics/%.o)
+
+LIBS = $(DYNLIB)
+
+LDLIBS += -lCstd -lCrun -lpam -lc -lsoftcrypto -lcrypto -lssl -lsocket
+LDLIBS64 += -lCstd -lCrun -lpam -lc -lsoftcrypto -lcrypto -lssl -lsocket
+
+DEFINES = -DKMSUSERPKCS12 -D_REENTRANT -DNOWCSICMP -DUNIX \
+ -DWITH_OPENSSL -DHAVE_OPENSSL_SSL_H \
+ -DWITH_IPV6 -D_POSIX_THREADS -DXML_STATIC \
+ -DHAVE_EXPAT_CONFIG_H -DK_SOLARIS_PLATFORM \
+ -DOPENSSL_NO_DEPRECATED \
+ -DKMS_AGENT_VERSION_STRING=\"KMSAgentLibraryVersion:Build1016\"
+
+CFLAGS += $(CCVERBOSE)
+
+#
+# When building C++ objects, redefine CCFLAGS for 32-bit builds to
+# use "compat=5" instead of "compat=4".
+# The 64-bit CCFLAGS already use compat=5 option (see $SRC/Makefile.master)
+#
+$(CCOBJS) := i386_CCFLAGS = \
+ -compat=5 \
+ -Qoption ccfe -messages=no%anachronism \
+ -Qoption ccfe -features=no%conststrings \
+ $(CCERRWARN)
+
+$(CCOBJS) := sparc_CCFLAGS = \
+ -cg92 -compat=5 \
+ -Qoption ccfe -messages=no%anachronism \
+ -Qoption ccfe -features=no%conststrings \
+ $(CCERRWARN)
+
+CPPFLAGS += -I../common -I../common/SOAP -I$(SRC)/common/crypto/aes $(DEFINES)
+
+COPTFLAG += -xCC
+COPTFLAG64 += -xCC
+
+pics/stdsoap2.o:= CPPFLAGS += -DWITH_NONAMESPACES
+
+ROOTLIBDIR= $(ROOT)/usr/lib
+ROOTLIBDIR64= $(ROOT)/usr/lib/$(MACH64)
+
+.KEEP_STATE:
+
+all: $(LIBS)
+
+#
+# Don't lint C++ code
+#
+lint:
+
+#
+# Need special rules here because the files are named ".cpp" instead
+# of ".cc". The source comes from KMS, and we need to keep them in sync
+# so we won't change the naming convention.
+#
+pics/%.o: $(LIBSRCDIR)/%.cpp
+ $(COMPILE.cc) -o $@ $<
+ $(POST_PROCESS_O)
+
+pics/%.o: $(SOAPSRCDIR)/%.cpp
+ $(COMPILE.cc) -o $@ $<
+ $(POST_PROCESS_O)
+
+.cpp:
+ $(LINK.cc) -o $@ $< $(LDLIBS)
+ $(POST_PROCESS)
+
+.cpp.o:
+ $(COMPILE.cc) $(OUTPUT_OPTION) $<
+ $(POST_PROCESS_O)
+
+include $(SRC)/lib/Makefile.targ
+