xref: /titanic_50/usr/src/lib/pkcs11/libsoftcrypto/Makefile.com (revision 726fad2a65f16c200a03969c29cb5c86c2d427db)
171269a22SAnthony Scarpino#
271269a22SAnthony Scarpino# CDDL HEADER START
371269a22SAnthony Scarpino#
471269a22SAnthony Scarpino# The contents of this file are subject to the terms of the
571269a22SAnthony Scarpino# Common Development and Distribution License (the "License").
671269a22SAnthony Scarpino# You may not use this file except in compliance with the License.
771269a22SAnthony Scarpino#
871269a22SAnthony Scarpino# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
971269a22SAnthony Scarpino# or http://www.opensolaris.org/os/licensing.
1071269a22SAnthony Scarpino# See the License for the specific language governing permissions
1171269a22SAnthony Scarpino# and limitations under the License.
1271269a22SAnthony Scarpino#
1371269a22SAnthony Scarpino# When distributing Covered Code, include this CDDL HEADER in each
1471269a22SAnthony Scarpino# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1571269a22SAnthony Scarpino# If applicable, add the following below this CDDL HEADER, with the
1671269a22SAnthony Scarpino# fields enclosed by brackets "[]" replaced with your own identifying
1771269a22SAnthony Scarpino# information: Portions Copyright [yyyy] [name of copyright owner]
1871269a22SAnthony Scarpino#
1971269a22SAnthony Scarpino# CDDL HEADER END
2071269a22SAnthony Scarpino#
21*726fad2aSDina K Nimeh
2271269a22SAnthony Scarpino#
23*726fad2aSDina K Nimeh# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
24*726fad2aSDina K Nimeh#
25*726fad2aSDina K Nimeh
2671269a22SAnthony Scarpino#
2771269a22SAnthony Scarpino# lib/pkcs11/libsoftcrypto/Makefile.com
2871269a22SAnthony Scarpino#
2971269a22SAnthony Scarpino
3071269a22SAnthony Scarpino# AES
3171269a22SAnthony ScarpinoAES_DIR= $(SRC)/common/crypto/aes
3254034eb2SDan OpenSolaris AndersonAES_COMMON_OBJS= aes_impl.o aes_modes.o
3371269a22SAnthony ScarpinoAES_COMMON_SRC= $(AES_COMMON_OBJS:%.o=$(AES_DIR)/%.c)
3471269a22SAnthony ScarpinoAES_FLAGS= -I$(AES_DIR)
3571269a22SAnthony Scarpino
3671269a22SAnthony Scarpino# Blowfish
3771269a22SAnthony ScarpinoBLOWFISH_DIR= $(SRC)/common/crypto/blowfish
3871269a22SAnthony ScarpinoBLOWFISH_COMMON_OBJS= blowfish_impl.o
3971269a22SAnthony ScarpinoBLOWFISH_COMMON_SRC= $(BLOWFISH_COMMON_OBJS:%.o=$(BLOWFISH_DIR)/%.c)
4071269a22SAnthony ScarpinoBLOWFISH_FLAGS= -I$(BLOWFISH_DIR)
4171269a22SAnthony Scarpino
4271269a22SAnthony Scarpino# ARCFour
4371269a22SAnthony ScarpinoARCFOUR_DIR= $(SRC)/common/crypto/arcfour
4471269a22SAnthony ScarpinoARCFOUR_COMMON_OBJS= arcfour_crypt.o
4571269a22SAnthony ScarpinoARCFOUR_COMMON_SRC= $(ARCFOUR_COMMON_OBJS:%.o=$(ARCFOUR_DIR)/%.c)
4671269a22SAnthony ScarpinoARCFOUR_FLAGS= -I$(ARCFOUR_DIR)
4771269a22SAnthony Scarpino
4871269a22SAnthony Scarpino# DES
4971269a22SAnthony ScarpinoDES_DIR= $(SRC)/common/crypto/des
5071269a22SAnthony ScarpinoDES_COMMON_OBJS= des_impl.o des_ks.o
5171269a22SAnthony ScarpinoDES_COMMON_SRC= $(DES_COMMON_OBJS:%.o=$(DES_DIR)/%.c)
5271269a22SAnthony ScarpinoDES_FLAGS= -I$(DES_DIR)
5371269a22SAnthony Scarpino
54*726fad2aSDina K Nimeh# BIGNUM -- needed by DH, DSA, RSA
5571269a22SAnthony ScarpinoBIGNUM_DIR= $(SRC)/common/bignum
5671269a22SAnthony ScarpinoBIGNUM_COMMON_OBJS= bignumimpl.o
5771269a22SAnthony ScarpinoBIGNUM_COMMON_SRC= $(BIGNUM_COMMON_OBJS:%.o=$(BIGNUM_DIR)/%.c)
5871269a22SAnthony ScarpinoBIGNUM_FLAGS= -I$(BIGNUM_DIR)
5971269a22SAnthony Scarpino
6071269a22SAnthony Scarpino# Modes
6171269a22SAnthony ScarpinoMODES_DIR= $(SRC)/common/crypto/modes
6271269a22SAnthony ScarpinoMODES_COMMON_OBJS= modes.o ecb.o cbc.o ctr.o
6371269a22SAnthony ScarpinoMODES_COMMON_SRC= $(MODES_COMMON_OBJS:%.o=$(MODES_DIR)/%.c)
64*726fad2aSDina K NimehMODES_FLAGS= -I$(MODES_DIR)
6571269a22SAnthony Scarpino
66*726fad2aSDina K Nimeh# DH
67*726fad2aSDina K NimehDH_DIR= $(SRC)/common/crypto/dh
68*726fad2aSDina K NimehDH_COMMON_OBJS= dh_impl.o
69*726fad2aSDina K NimehDH_COMMON_SRC= $(DH_COMMON_OBJS:%.o=$(DH_DIR)/%.c)
70*726fad2aSDina K NimehDH_FLAGS= $(BIGNUM_FLAGS) -I$(DH_DIR)
71*726fad2aSDina K Nimeh
72*726fad2aSDina K Nimeh# DSA
73*726fad2aSDina K NimehDSA_DIR= $(SRC)/common/crypto/dsa
74*726fad2aSDina K NimehDSA_COMMON_OBJS= dsa_impl.o
75*726fad2aSDina K NimehDSA_COMMON_SRC= $(DSA_COMMON_OBJS:%.o=$(DSA_DIR)/%.c)
76*726fad2aSDina K NimehDSA_FLAGS= $(BIGNUM_FLAGS) -I$(DSA_DIR)
77*726fad2aSDina K Nimeh
78*726fad2aSDina K Nimeh# RSA
79*726fad2aSDina K NimehRSA_DIR= $(SRC)/common/crypto/rsa
80*726fad2aSDina K NimehRSA_COMMON_OBJS= rsa_impl.o
81*726fad2aSDina K NimehRSA_COMMON_SRC= $(RSA_COMMON_OBJS:%.o=$(RSA_DIR)/%.c)
82*726fad2aSDina K NimehRSA_FLAGS= $(BIGNUM_FLAGS) -I$(RSA_DIR)
83*726fad2aSDina K Nimeh
84*726fad2aSDina K Nimeh# PADDING -- needed by RSA
85*726fad2aSDina K NimehPAD_DIR= $(SRC)/common/crypto/padding
86*726fad2aSDina K NimehPAD_COMMON_OBJS= pkcs1.o pkcs7.o
87*726fad2aSDina K NimehPAD_COMMON_SRC= $(PAD_COMMON_OBJS:%.o=$(PAD_DIR)/%.c)
88*726fad2aSDina K NimehPAD_FLAGS= -I$(PAD_DIR)
8971269a22SAnthony Scarpino
9071269a22SAnthony Scarpino# Object setup
9171269a22SAnthony ScarpinoAES_OBJS= $(AES_COMMON_OBJS) $(AES_PSM_OBJS)
9271269a22SAnthony ScarpinoARCFOUR_OBJS= $(ARCFOUR_COMMON_OBJS) $(ARCFOUR_PSM_OBJS)
9371269a22SAnthony ScarpinoBLOWFISH_OBJS= $(BLOWFISH_COMMON_OBJS) $(BLOWFISH_PSM_OBJS)
9471269a22SAnthony ScarpinoDES_OBJS= $(DES_COMMON_OBJS) $(DES_PSM_OBJS)
9571269a22SAnthony ScarpinoBIGNUM_OBJS= $(BIGNUM_COMMON_OBJS) $(BIGNUM_PSM_OBJS)
96*726fad2aSDina K NimehMODES_OBJS= $(MODES_COMMON_OBJS) $(MODES_PSM_OBJS)
97*726fad2aSDina K NimehDH_OBJS= $(DH_COMMON_OBJS) $(DH_PSM_OBJS)
98*726fad2aSDina K NimehDSA_OBJS= $(DSA_COMMON_OBJS) $(DSA_PSM_OBJS)
99*726fad2aSDina K NimehRSA_OBJS= $(RSA_COMMON_OBJS) $(RSA_PSM_OBJS)
100*726fad2aSDina K NimehPAD_OBJS= $(PAD_COMMON_OBJS) $(PAD_PSM_OBJS)
10171269a22SAnthony Scarpino
10271269a22SAnthony ScarpinoOBJECTS= $(AES_OBJS) $(ARCFOUR_OBJS) $(BIGNUM_OBJS) $(BLOWFISH_OBJS) \
103*726fad2aSDina K Nimeh	$(DES_OBJS) $(MODES_OBJS) $(DH_OBJS) $(DSA_OBJS) \
104*726fad2aSDina K Nimeh	$(RSA_OBJS) $(PAD_OBJS)
10571269a22SAnthony Scarpino
10671269a22SAnthony Scarpinoinclude $(SRC)/lib/Makefile.lib
10771269a22SAnthony Scarpino
10871269a22SAnthony Scarpino# Source file setup
10971269a22SAnthony ScarpinoAES_SRC= $(AES_COMMON_SRC) $(AES_PSM_SRC)
11071269a22SAnthony ScarpinoARCFOUR_SRC= $(ARCFOUR_COMMON_SRC) $(ARCFOUR_PSM_SRC)
11171269a22SAnthony ScarpinoBLOWFISH_SRC= $(BLOWFISH_COMMON_SRC) $(BLOWFISH_PSM_SRC)
11271269a22SAnthony ScarpinoDES_SRC= $(DES_COMMON_SRC) $(DES_PSM_SRC)
11371269a22SAnthony ScarpinoBIGNUM_SRC= $(BIGNUM_COMMON_SRC) $(BIGNUM_PSM_SRC)
114*726fad2aSDina K NimehMODES_SRC= $(MODES_COMMON_SRC) $(MODES_PSM_SRC)
115*726fad2aSDina K NimehDH_SRC= $(DH_COMMON_SRC) $(DH_PSM_SRC)
116*726fad2aSDina K NimehDSA_SRC= $(DSA_COMMON_SRC) $(DSA_PSM_SRC)
117*726fad2aSDina K NimehRSA_SRC= $(RSA_COMMON_SRC) $(RSA_PSM_SRC)
118*726fad2aSDina K NimehPAD_SRC= $(PAD_COMMON_SRC) $(PAD_PSM_SRC)
11971269a22SAnthony Scarpino
12071269a22SAnthony ScarpinoSRCS=	$(AES_SRC) $(ARCFOUR_SRC) $(BIGNUM_SRC) $(BLOWFISH_SRC) $(DES_SRC) \
121*726fad2aSDina K Nimeh	$(MODES_SRC) $(DH_SRC) $(DSA_SRC) $(RSA_SRC) \
122*726fad2aSDina K Nimeh	$(PAD_SRC)
123*726fad2aSDina K Nimeh
124*726fad2aSDina K Nimeh# Do not lint ECC and MPI
125*726fad2aSDina K NimehLINTABLE= \
126*726fad2aSDina K Nimeh	$(AES_SRC) $(ARCFOUR_SRC) $(BIGNUM_SRC) $(BLOWFISH_SRC) $(DES_SRC) \
127*726fad2aSDina K Nimeh	$(MODES_SRC) $(DH_SRC) $(DSA_SRC) $(RSA_SRC) $(PAD_SRC)
12871269a22SAnthony Scarpino
12971269a22SAnthony Scarpino#
13071269a22SAnthony Scarpino# Compiler settings
13171269a22SAnthony Scarpino#
13271269a22SAnthony Scarpino
13371269a22SAnthony ScarpinoSRCDIR=	$(SRC)/lib/pkcs11/libsoftcrypto/common/
13471269a22SAnthony ScarpinoCRYPTODIR= $(SRC)/common/crypto/
135*726fad2aSDina K NimehUTSDIR= $(SRC)/uts/common/
13671269a22SAnthony ScarpinoROOTLIBDIR= $(ROOT)/usr/lib
13771269a22SAnthony ScarpinoROOTLIBDIR64= $(ROOT)/usr/lib/$(MACH64)
13871269a22SAnthony ScarpinoROOTHWCAPDIR= $(ROOTLIBDIR)/libsoftcrypto
13971269a22SAnthony Scarpino
140*726fad2aSDina K Nimeh# $(LINTLIB) is not included here;  i386_hwcap1/Makefile does not make
141*726fad2aSDina K Nimeh# a lint library, so each of the other platform-specific Makefiles adds
142*726fad2aSDina K Nimeh# the lint library target individually
14371269a22SAnthony ScarpinoLIBS = $(DYNLIB)
144*726fad2aSDina K NimehLDLIBS += -lc
14571269a22SAnthony Scarpino
14671269a22SAnthony ScarpinoCFLAGS += $(CCVERBOSE) $(C_BIGPICFLAGS)
147*726fad2aSDina K NimehCPPFLAGS += -I$(SRCDIR) -I$(CRYPTODIR) -I$(UTSDIR) \
148*726fad2aSDina K Nimeh	$(BIGNUM_FLAGS) \
149*726fad2aSDina K Nimeh	-D_POSIX_PTHREAD_SEMANTICS
15071269a22SAnthony ScarpinoASFLAGS = $(AS_PICFLAGS) -P -D__STDC__ -D_ASM
151*726fad2aSDina K NimehEXTRA_LINT_FLAGS = \
152*726fad2aSDina K Nimeh	$(AES_FLAGS) $(BLOWFISH_FLAGS) $(ARCFOUR_FLAGS) $(DES_FLAGS) \
153*726fad2aSDina K Nimeh	$(BIGNUM_FLAGS) $(MODES_FLAGS) $(DH_FLAGS) $(DSA_FLAGS) \
154*726fad2aSDina K Nimeh	$(RSA_FLAGS) $(PAD_FLAGS)
155*726fad2aSDina K NimehLINTFLAGS += $(EXTRA_LINT_FLAGS)
156*726fad2aSDina K NimehLINTFLAGS64 += $(EXTRA_LINT_FLAGS) -errchk=longptr64
157*726fad2aSDina K Nimeh
158*726fad2aSDina K NimehLINTLIB=	llib-l$(LIBNAME).ln
159*726fad2aSDina K Nimeh$(LINTLIB)	:= 	SRCS = $(LINTABLE)
160*726fad2aSDina K Nimehlintcheck	:=	SRCS = $(LINTABLE)
16171269a22SAnthony Scarpino
16271269a22SAnthony Scarpinoall:	$(LIBS)
16371269a22SAnthony Scarpino
164*726fad2aSDina K Nimehlint:	lintcheck
16571269a22SAnthony Scarpino
16671269a22SAnthony Scarpinopics/%.o:	$(AES_DIR)/%.c
16771269a22SAnthony Scarpino	$(COMPILE.c) $(AES_FLAGS) -o $@ $<
16871269a22SAnthony Scarpino	$(POST_PROCESS_O)
16971269a22SAnthony Scarpino
17071269a22SAnthony Scarpinopics/%.o:	$(ARCFOUR_DIR)/%.c
17171269a22SAnthony Scarpino	$(COMPILE.c) $(ARCFOUR_FLAGS) -o $@ $<
17271269a22SAnthony Scarpino	$(POST_PROCESS_O)
17371269a22SAnthony Scarpino
17471269a22SAnthony Scarpinopics/%.o:	$(BIGNUM_DIR)/%.c
17571269a22SAnthony Scarpino	$(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $<
17671269a22SAnthony Scarpino	$(POST_PROCESS_O)
17771269a22SAnthony Scarpino
17871269a22SAnthony Scarpinopics/%.o:	$(BLOWFISH_DIR)/%.c
17971269a22SAnthony Scarpino	$(COMPILE.c) $(BLOWFISH_FLAGS) -o $@ $<
18071269a22SAnthony Scarpino	$(POST_PROCESS_O)
18171269a22SAnthony Scarpino
18271269a22SAnthony Scarpinopics/%.o:	$(DES_DIR)/%.c
18371269a22SAnthony Scarpino	$(COMPILE.c) $(DES_FLAGS) -o $@ $<
18471269a22SAnthony Scarpino	$(POST_PROCESS_O)
18571269a22SAnthony Scarpino
18671269a22SAnthony Scarpinopics/%.o:	$(MODES_DIR)/%.c
187*726fad2aSDina K Nimeh	$(COMPILE.c) $(MODES_FLAGS) -o $@ $<
18871269a22SAnthony Scarpino	$(POST_PROCESS_O)
18971269a22SAnthony Scarpino
190*726fad2aSDina K Nimehpics/%.o:	$(DH_DIR)/%.c
191*726fad2aSDina K Nimeh	$(COMPILE.c) $(DH_FLAGS) -o $@ $<
192*726fad2aSDina K Nimeh	$(POST_PROCESS_O)
193*726fad2aSDina K Nimeh
194*726fad2aSDina K Nimehpics/%.o:	$(DSA_DIR)/%.c
195*726fad2aSDina K Nimeh	$(COMPILE.c) $(DSA_FLAGS) -o $@ $<
196*726fad2aSDina K Nimeh	$(POST_PROCESS_O)
197*726fad2aSDina K Nimeh
198*726fad2aSDina K Nimehpics/%.o:	$(RSA_DIR)/%.c
199*726fad2aSDina K Nimeh	$(COMPILE.c) $(RSA_FLAGS) -o $@ $<
200*726fad2aSDina K Nimeh	$(POST_PROCESS_O)
201*726fad2aSDina K Nimeh
202*726fad2aSDina K Nimehpics/%.o:	$(PAD_DIR)/%.c
203*726fad2aSDina K Nimeh	$(COMPILE.c) $(PAD_FLAGS) -o $@ $<
204*726fad2aSDina K Nimeh	$(POST_PROCESS_O)
20571269a22SAnthony Scarpino
20671269a22SAnthony Scarpino#
20771269a22SAnthony Scarpino# Platform-specific targets
20871269a22SAnthony Scarpino#
20971269a22SAnthony Scarpino
21071269a22SAnthony Scarpino
21171269a22SAnthony ScarpinoSOFT_PSR_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib)
21271269a22SAnthony ScarpinoSOFT_PSR_LINKS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MODULE))
21371269a22SAnthony Scarpino
21471269a22SAnthony ScarpinoSOFT_PSR64_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MACH64))
21571269a22SAnthony ScarpinoSOFT_PSR64_LINKS = \
21671269a22SAnthony Scarpino	$(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MACH64)/$(MODULE))
21771269a22SAnthony Scarpino
21871269a22SAnthony ScarpinoINS.slink6 = $(RM) -r $@; \
21924fe0b3bSjmcp	$(SYMLINK) ../../$(PLATFORM)/lib/$(MODULE) $@
22071269a22SAnthony ScarpinoINS.slink64 = $(RM) -r $@; \
22124fe0b3bSjmcp	$(SYMLINK) ../../../$(PLATFORM)/lib/$(MACH64)/$(MODULE) $@
22271269a22SAnthony Scarpino
22371269a22SAnthony Scarpino$(SOFT_PSR_DIRS) \
22471269a22SAnthony Scarpino$(SOFT_PSR64_DIRS):
22548bc00d6Sjmcp	-$(INS.dir)
22671269a22SAnthony Scarpino
22771269a22SAnthony Scarpino$(SOFT_PSR_LINKS): $(SOFT_PSR_DIRS)
22871269a22SAnthony Scarpino	-$(INS.slink6)
22971269a22SAnthony Scarpino
23071269a22SAnthony Scarpino$(SOFT_PSR64_LINKS): $(SOFT_PSR64_DIRS)
23171269a22SAnthony Scarpino	-$(INS.slink64)
23271269a22SAnthony Scarpino
23371269a22SAnthony Scarpino
23471269a22SAnthony Scarpinoinclude $(SRC)/lib/Makefile.targ
235