Merge illumos-gate
[unleashed.git] / usr / src / lib / pkcs11 / pkcs11_softtoken / Makefile.com
bloba3c5c33cfe08b5e731313a954a2361db6b6ad17f
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
25 # Copyright 2018, Joyent, Inc.
27 # Copyright (c) 2018, Joyent, Inc.
29 LIBRARY = pkcs11_softtoken.a
30 VERS= .1
32 LCL_OBJECTS = \
33         softGeneral.o           \
34         softSlotToken.o \
35         softSession.o           \
36         softObject.o            \
37         softDigest.o            \
38         softSign.o              \
39         softVerify.o            \
40         softDualCrypt.o         \
41         softKeys.o              \
42         softRand.o              \
43         softSessionUtil.o       \
44         softDigestUtil.o        \
45         softAttributeUtil.o     \
46         softObjectUtil.o        \
47         softDESCrypt.o          \
48         softEncrypt.o           \
49         softDecrypt.o           \
50         softEncryptUtil.o       \
51         softDecryptUtil.o       \
52         softSignUtil.o          \
53         softVerifyUtil.o        \
54         softMAC.o               \
55         softRSA.o               \
56         softKeysUtil.o          \
57         softARCFourCrypt.o      \
58         softDSA.o               \
59         softDH.o                \
60         softAESCrypt.o          \
61         softKeystore.o          \
62         softKeystoreUtil.o      \
63         softSSL.o               \
64         softASN1.o              \
65         softBlowfishCrypt.o     \
66         softEC.o
68 ASFLAGS = $(AS_PICFLAGS) -D_ASM $(CPPFLAGS)
70 ECC_COBJECTS = \
71         ec.o ec2_163.o ec2_mont.o ecdecode.o ecl_mult.o ecp_384.o \
72         ecp_jac.o ec2_193.o ecl.o ecp_192.o ecp_521.o \
73         ecp_jm.o ec2_233.o ecl_curve.o ecp_224.o ecp_aff.o ecp_mont.o \
74         ec2_aff.o ec_naf.o ecl_gf.o ecp_256.o oid.o secitem.o \
75         ec2_test.o ecp_test.o
77 MPI_COBJECTS = mp_gf2m.o mpi.o mplogic.o mpmontg.o mpprime.o
78 RNG_COBJECTS = fips_random.o
80 ECC_OBJECTS = $(ECC_COBJECTS) $(ECC_PSR_OBJECTS)
81 MPI_OBJECTS = $(MPI_COBJECTS) $(MPI_PSR_OBJECTS)
82 RNG_OBJECTS = $(RNG_COBJECTS)
83 BER_OBJECTS = bprint.o decode.o encode.o io.o
85 OBJECTS = \
86         $(LCL_OBJECTS)          \
87         $(MPI_OBJECTS)          \
88         $(RNG_OBJECTS)          \
89         $(BIGNUM_OBJECTS)       \
90         $(BER_OBJECTS)          \
91         $(ECC_OBJECTS)
93 AESDIR=         $(SRC)/common/crypto/aes
94 BLOWFISHDIR=    $(SRC)/common/crypto/blowfish
95 ARCFOURDIR=     $(SRC)/common/crypto/arcfour
96 DESDIR=         $(SRC)/common/crypto/des
97 DHDIR=          $(SRC)/common/crypto/dh
98 DSADIR=         $(SRC)/common/crypto/dsa
99 ECCDIR=         $(SRC)/common/crypto/ecc
100 MPIDIR=         $(SRC)/common/mpi
101 RSADIR=         $(SRC)/common/crypto/rsa
102 RNGDIR=         $(SRC)/common/crypto/rng
103 SHA1DIR=        $(SRC)/common/crypto/sha1
104 SHA2DIR=        $(SRC)/common/crypto/sha2
105 BIGNUMDIR=      $(SRC)/common/bignum
106 PADDIR=         $(SRC)/common/crypto/padding
107 BERDIR=         ../../../libldap5/sources/ldap/ber
109 include $(SRC)/lib/Makefile.lib
111 #       set signing mode
112 POST_PROCESS_SO +=      ; $(ELFSIGN_CRYPTO)
114 SRCDIR= ../common
116 SRCS =  \
117         $(LCL_OBJECTS:%.o=$(SRCDIR)/%.c) \
118         $(MPI_COBJECTS:%.o=$(MPIDIR)/%.c) \
119         $(ECC_COBJECTS:%.o=$(ECCDIR)/%.c) \
120         $(RNG_COBJECTS:%.o=$(RNGDIR)/%.c)
122 # libelfsign needs a static pkcs11_softtoken
123 LIBS    =       $(DYNLIB)
124 LDLIBS  +=      -lc -lmd -lcryptoutil -lsoftcrypto -lgen
126 CSTD =  $(CSTD_GNU99)
128 CERRWARN +=     -Wno-unused-label
129 CERRWARN +=     -Wno-parentheses
130 CERRWARN +=     -Wno-uninitialized
131 CERRWARN +=     -Wno-type-limits
132 CERRWARN +=     -Wno-unused-variable
133 CERRWARN +=     -Wno-empty-body
135 # not linted
136 SMATCH=off
138 CPPFLAGS += -I$(AESDIR) -I$(BLOWFISHDIR) -I$(ARCFOURDIR) -I$(DESDIR) \
139             -I$(DHDIR) -I$(DSADIR) -I$(ECCDIR) -I$(SRC)/common/crypto \
140             -I$(MPIDIR) -I$(RSADIR) -I$(RNGDIR) \
141             -I$(SHA1DIR) -I$(SHA2DIR) -I$(SRCDIR) \
142             -I$(BIGNUMDIR) -I$(PADDIR) -D_POSIX_PTHREAD_SEMANTICS \
143             -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B
144 CPPFLAGS += -I$(SRCTOP)/include
147 ROOTLIBDIR=     $(ROOT)/usr/lib/security
148 ROOTLIBDIR64=   $(ROOT)/usr/lib/security/$(MACH64)
150 .KEEP_STATE:
152 all:    $(LIBS)
154 pics/%.o:       $(BERDIR)/%.c
155         $(COMPILE.c) -o $@ $< -D_SOLARIS_SDK -I$(BERDIR) \
156                 -I../../../libldap5/include/ldap
157         $(POST_PROCESS_O)
159 pics/%.o:       $(ECCDIR)/%.c
160         $(COMPILE.c) -o $@ $<
161         $(POST_PROCESS_O)
163 pics/%.o:       $(MPIDIR)/%.c
164         $(COMPILE.c) -o $@ $<
165         $(POST_PROCESS_O)
167 pics/%.o:       $(RNGDIR)/%.c
168         $(COMPILE.c) -o $@ $<
169         $(POST_PROCESS_O)
171 include $(SRC)/lib/Makefile.targ