1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26LIBRARY= pkcs11_kernel.a
27VERS= .1
28
29CORE_OBJECTS= \
30	kernelGeneral.o 	\
31	kernelSlottable.o 	\
32	kernelSlotToken.o 	\
33	kernelObject.o 		\
34	kernelDigest.o	 	\
35	kernelSign.o 		\
36	kernelVerify.o 		\
37	kernelDualCrypt.o 	\
38	kernelKeys.o 		\
39	kernelRand.o		\
40	kernelSession.o		\
41	kernelSessionUtil.o	\
42	kernelUtil.o		\
43	kernelEncrypt.o		\
44	kernelDecrypt.o		\
45	kernelObjectUtil.o	\
46	kernelAttributeUtil.o	\
47	kernelEmulate.o
48
49OTHER_OBJECTS = kernelSoftCommon.o
50ST_OBJECTS = softDigestUtil.o softMAC.o
51
52OBJECTS= \
53	$(CORE_OBJECTS)		\
54	$(OTHER_OBJECTS)	\
55	$(ST_OBJECTS)
56
57AESDIR=		$(SRC)/common/crypto/aes
58ARCFOURDIR=	$(SRC)/common/crypto/arcfour
59BLOWFISHDIR=	$(SRC)/common/crypto/blowfish
60DESDIR=		$(SRC)/common/crypto/des
61ECCDIR=		$(SRC)/common/crypto/ecc
62CRYPTDIR=	$(SRC)/common/crypto
63ST_DIR=		$(SRC)/lib/pkcs11/pkcs11_softtoken/common
64
65lint \
66pics/kernelAttributeUtil.o := \
67	CPPFLAGS += -I$(AESDIR) -I$(BLOWFISHDIR) -I$(ARCFOURDIR) -I$(DESDIR) \
68	-I$(ECCDIR) -I$(CRYPTDIR)
69pics/kernelKeys.o := \
70	CPPFLAGS += -I$(ECCDIR)
71pics/kernelSoftCommon.o := \
72	CPPFLAGS = -I$(ST_DIR) $(CPPFLAGS.master)
73
74include $(SRC)/lib/Makefile.lib
75
76#	set signing mode
77POST_PROCESS_SO	+=	; $(ELFSIGN_CRYPTO)
78
79SRCDIR=		../common
80CORESRCS =  \
81	$(CORE_OBJECTS:%.o=$(SRCDIR)/%.c)
82
83LIBS	=	$(DYNLIB)
84LDLIBS  +=      -lc -lcryptoutil -lmd
85
86CFLAGS  +=      $(CCVERBOSE)
87
88CERRWARN +=	-_gcc=-Wno-uninitialized
89CERRWARN +=	-_gcc=-Wno-unused-label
90
91ROOTLIBDIR=     $(ROOT)/usr/lib/security
92ROOTLIBDIR64=   $(ROOT)/usr/lib/security/$(MACH64)
93
94.KEEP_STATE:
95
96all:    $(LIBS)
97
98# we don't need to lint ST_OBJECTS since they are linted elsewhere.
99lintcheck := SRCS = $(CORESRCS)
100lintother := OSRCS = ../common/kernelSoftCommon.c
101lintother := CPPFLAGS = -I$(ST_DIR) $(CPPFLAGS.master)
102
103lintother: $$(OSRCS)
104	$(LINT.c) $(LINTCHECKFLAGS) $(OSRCS) $(LDLIBS)
105
106lint: lintcheck lintother
107
108pics/%.o:	$(ST_DIR)/%.c
109	$(COMPILE.c) -o $@ $< -I$(ST_DIR)
110	$(POST_PROCESS_O)
111
112include $(SRC)/lib/Makefile.targ
113