1*71269a22SAnthony Scarpino#
2*71269a22SAnthony Scarpino# CDDL HEADER START
3*71269a22SAnthony Scarpino#
4*71269a22SAnthony Scarpino# The contents of this file are subject to the terms of the
5*71269a22SAnthony Scarpino# Common Development and Distribution License (the "License").
6*71269a22SAnthony Scarpino# You may not use this file except in compliance with the License.
7*71269a22SAnthony Scarpino#
8*71269a22SAnthony Scarpino# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*71269a22SAnthony Scarpino# or http://www.opensolaris.org/os/licensing.
10*71269a22SAnthony Scarpino# See the License for the specific language governing permissions
11*71269a22SAnthony Scarpino# and limitations under the License.
12*71269a22SAnthony Scarpino#
13*71269a22SAnthony Scarpino# When distributing Covered Code, include this CDDL HEADER in each
14*71269a22SAnthony Scarpino# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*71269a22SAnthony Scarpino# If applicable, add the following below this CDDL HEADER, with the
16*71269a22SAnthony Scarpino# fields enclosed by brackets "[]" replaced with your own identifying
17*71269a22SAnthony Scarpino# information: Portions Copyright [yyyy] [name of copyright owner]
18*71269a22SAnthony Scarpino#
19*71269a22SAnthony Scarpino# CDDL HEADER END
20*71269a22SAnthony Scarpino#
21*71269a22SAnthony Scarpino#
22*71269a22SAnthony Scarpino# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23*71269a22SAnthony Scarpino# Use is subject to license terms.
24*71269a22SAnthony Scarpino#
25*71269a22SAnthony Scarpino# lib/pkcs11/libsoftcrypto/Makefile.com
26*71269a22SAnthony Scarpino#
27*71269a22SAnthony Scarpino
28*71269a22SAnthony Scarpino# AES
29*71269a22SAnthony ScarpinoAES_DIR= $(SRC)/common/crypto/aes
30*71269a22SAnthony ScarpinoAES_COMMON_OBJS= aes_impl.o
31*71269a22SAnthony ScarpinoAES_COMMON_SRC= $(AES_COMMON_OBJS:%.o=$(AES_DIR)/%.c)
32*71269a22SAnthony ScarpinoAES_FLAGS= -I$(AES_DIR)
33*71269a22SAnthony Scarpino
34*71269a22SAnthony Scarpino# Blowfish
35*71269a22SAnthony ScarpinoBLOWFISH_DIR= $(SRC)/common/crypto/blowfish
36*71269a22SAnthony ScarpinoBLOWFISH_COMMON_OBJS= blowfish_impl.o
37*71269a22SAnthony ScarpinoBLOWFISH_COMMON_SRC= $(BLOWFISH_COMMON_OBJS:%.o=$(BLOWFISH_DIR)/%.c)
38*71269a22SAnthony ScarpinoBLOWFISH_FLAGS= -I$(BLOWFISH_DIR)
39*71269a22SAnthony Scarpino
40*71269a22SAnthony Scarpino# ARCFour
41*71269a22SAnthony ScarpinoARCFOUR_DIR= $(SRC)/common/crypto/arcfour
42*71269a22SAnthony ScarpinoARCFOUR_COMMON_OBJS= arcfour_crypt.o
43*71269a22SAnthony ScarpinoARCFOUR_COMMON_SRC= $(ARCFOUR_COMMON_OBJS:%.o=$(ARCFOUR_DIR)/%.c)
44*71269a22SAnthony ScarpinoARCFOUR_FLAGS= -I$(ARCFOUR_DIR)
45*71269a22SAnthony Scarpino
46*71269a22SAnthony Scarpino# DES
47*71269a22SAnthony ScarpinoDES_DIR= $(SRC)/common/crypto/des
48*71269a22SAnthony ScarpinoDES_COMMON_OBJS= des_impl.o des_ks.o
49*71269a22SAnthony ScarpinoDES_COMMON_SRC= $(DES_COMMON_OBJS:%.o=$(DES_DIR)/%.c)
50*71269a22SAnthony ScarpinoDES_FLAGS= -I$(DES_DIR)
51*71269a22SAnthony Scarpino
52*71269a22SAnthony Scarpino# BIGNUM
53*71269a22SAnthony ScarpinoBIGNUM_DIR= $(SRC)/common/bignum
54*71269a22SAnthony ScarpinoBIGNUM_COMMON_OBJS= bignumimpl.o
55*71269a22SAnthony ScarpinoBIGNUM_COMMON_SRC= $(BIGNUM_COMMON_OBJS:%.o=$(BIGNUM_DIR)/%.c)
56*71269a22SAnthony ScarpinoBIGNUM_FLAGS= -I$(BIGNUM_DIR)
57*71269a22SAnthony Scarpino
58*71269a22SAnthony Scarpino# Modes
59*71269a22SAnthony ScarpinoMODES_DIR= $(SRC)/common/crypto/modes
60*71269a22SAnthony ScarpinoMODES_COMMON_OBJS= modes.o ecb.o cbc.o ctr.o
61*71269a22SAnthony ScarpinoMODES_COMMON_SRC= $(MODES_COMMON_OBJS:%.o=$(MODES_DIR)/%.c)
62*71269a22SAnthony Scarpino
63*71269a22SAnthony Scarpino
64*71269a22SAnthony Scarpino# Object setup
65*71269a22SAnthony ScarpinoAES_OBJS= $(AES_COMMON_OBJS) $(AES_PSM_OBJS)
66*71269a22SAnthony ScarpinoARCFOUR_OBJS= $(ARCFOUR_COMMON_OBJS) $(ARCFOUR_PSM_OBJS)
67*71269a22SAnthony ScarpinoBLOWFISH_OBJS= $(BLOWFISH_COMMON_OBJS) $(BLOWFISH_PSM_OBJS)
68*71269a22SAnthony ScarpinoDES_OBJS= $(DES_COMMON_OBJS) $(DES_PSM_OBJS)
69*71269a22SAnthony ScarpinoBIGNUM_OBJS= $(BIGNUM_COMMON_OBJS) $(BIGNUM_PSM_OBJS)
70*71269a22SAnthony ScarpinoMODES_OBJS= $(MODES_COMMON_OBJS)
71*71269a22SAnthony Scarpino
72*71269a22SAnthony ScarpinoOBJECTS= $(AES_OBJS) $(ARCFOUR_OBJS) $(BIGNUM_OBJS) $(BLOWFISH_OBJS) \
73*71269a22SAnthony Scarpino	$(DES_OBJS) $(MODES_OBJS)
74*71269a22SAnthony Scarpino
75*71269a22SAnthony Scarpinoinclude $(SRC)/lib/Makefile.lib
76*71269a22SAnthony Scarpino
77*71269a22SAnthony Scarpino# Source file setup
78*71269a22SAnthony ScarpinoAES_SRC= $(AES_COMMON_SRC) $(AES_PSM_SRC)
79*71269a22SAnthony ScarpinoARCFOUR_SRC= $(ARCFOUR_COMMON_SRC) $(ARCFOUR_PSM_SRC)
80*71269a22SAnthony ScarpinoBLOWFISH_SRC= $(BLOWFISH_COMMON_SRC) $(BLOWFISH_PSM_SRC)
81*71269a22SAnthony ScarpinoDES_SRC= $(DES_COMMON_SRC) $(DES_PSM_SRC)
82*71269a22SAnthony ScarpinoBIGNUM_SRC= $(BIGNUM_COMMON_SRC) $(BIGNUM_PSM_SRC)
83*71269a22SAnthony ScarpinoMODES_SRC= $(MODES_COMMON_SRC)
84*71269a22SAnthony Scarpino
85*71269a22SAnthony ScarpinoSRCS=	$(AES_SRC) $(ARCFOUR_SRC) $(BIGNUM_SRC) $(BLOWFISH_SRC) $(DES_SRC) \
86*71269a22SAnthony Scarpino	$(MODES_SRC)
87*71269a22SAnthony Scarpino
88*71269a22SAnthony Scarpino#
89*71269a22SAnthony Scarpino# Compiler settings
90*71269a22SAnthony Scarpino#
91*71269a22SAnthony Scarpino
92*71269a22SAnthony ScarpinoSRCDIR=	$(SRC)/lib/pkcs11/libsoftcrypto/common/
93*71269a22SAnthony ScarpinoCRYPTODIR= $(SRC)/common/crypto/
94*71269a22SAnthony ScarpinoMODESDIR= $(SRC)/uts/common/
95*71269a22SAnthony ScarpinoROOTLIBDIR= $(ROOT)/usr/lib
96*71269a22SAnthony ScarpinoROOTLIBDIR64= $(ROOT)/usr/lib/$(MACH64)
97*71269a22SAnthony ScarpinoROOTHWCAPDIR= $(ROOTLIBDIR)/libsoftcrypto
98*71269a22SAnthony Scarpino
99*71269a22SAnthony ScarpinoLIBS = $(DYNLIB)
100*71269a22SAnthony Scarpino
101*71269a22SAnthony ScarpinoCFLAGS += $(CCVERBOSE) $(C_BIGPICFLAGS)
102*71269a22SAnthony ScarpinoCPPFLAGS += -I$(SRCDIR) -I$(CRYPTODIR) -I$(MODESDIR) -D_POSIX_PTHREAD_SEMANTICS
103*71269a22SAnthony ScarpinoASFLAGS = $(AS_PICFLAGS) -P -D__STDC__ -D_ASM
104*71269a22SAnthony ScarpinoLINTFLAGS64 += -errchk=longptr64
105*71269a22SAnthony Scarpino
106*71269a22SAnthony Scarpinoall:	$(LIBS)
107*71269a22SAnthony Scarpino
108*71269a22SAnthony Scarpinolint:	$(SRCS)
109*71269a22SAnthony Scarpino	$(LINT.c) $(LINTCHECKFLAGS) $(SRCS) $(LDLIBS)
110*71269a22SAnthony Scarpino
111*71269a22SAnthony Scarpinopics/%.o:	$(AES_DIR)/%.c
112*71269a22SAnthony Scarpino	$(COMPILE.c) $(AES_FLAGS) -o $@ $<
113*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
114*71269a22SAnthony Scarpino
115*71269a22SAnthony Scarpinopics/%.o:	$(ARCFOUR_DIR)/%.c
116*71269a22SAnthony Scarpino	$(COMPILE.c) $(ARCFOUR_FLAGS) -o $@ $<
117*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
118*71269a22SAnthony Scarpino
119*71269a22SAnthony Scarpinopics/%.o:	$(BIGNUM_DIR)/%.c
120*71269a22SAnthony Scarpino	$(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $<
121*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
122*71269a22SAnthony Scarpino
123*71269a22SAnthony Scarpinopics/%.o:	$(BLOWFISH_DIR)/%.c
124*71269a22SAnthony Scarpino	$(COMPILE.c) $(BLOWFISH_FLAGS) -o $@ $<
125*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
126*71269a22SAnthony Scarpino
127*71269a22SAnthony Scarpinopics/%.o:	$(DES_DIR)/%.c
128*71269a22SAnthony Scarpino	$(COMPILE.c) $(DES_FLAGS) -o $@ $<
129*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
130*71269a22SAnthony Scarpino
131*71269a22SAnthony Scarpinopics/%.o:	$(MODES_DIR)/%.c
132*71269a22SAnthony Scarpino	$(COMPILE.c) -o $@ $<
133*71269a22SAnthony Scarpino	$(POST_PROCESS_O)
134*71269a22SAnthony Scarpino
135*71269a22SAnthony Scarpino
136*71269a22SAnthony Scarpino#
137*71269a22SAnthony Scarpino# Platform-specific targets
138*71269a22SAnthony Scarpino#
139*71269a22SAnthony Scarpino
140*71269a22SAnthony Scarpino
141*71269a22SAnthony ScarpinoSOFT_PSR_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib)
142*71269a22SAnthony ScarpinoSOFT_PSR_LINKS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MODULE))
143*71269a22SAnthony Scarpino
144*71269a22SAnthony ScarpinoSOFT_PSR64_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MACH64))
145*71269a22SAnthony ScarpinoSOFT_PSR64_LINKS = \
146*71269a22SAnthony Scarpino	$(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib/$(MACH64)/$(MODULE))
147*71269a22SAnthony Scarpino
148*71269a22SAnthony ScarpinoINS.slink6 = $(RM) -r $@; \
149*71269a22SAnthony Scarpino	$(SYMLINK) ../../$(PLATFORM)/lib/$(MODULE) $@ $(CHOWNLINK) $(CHGRPLINK)
150*71269a22SAnthony ScarpinoINS.slink64 = $(RM) -r $@; \
151*71269a22SAnthony Scarpino	$(SYMLINK) ../../../$(PLATFORM)/lib/$(MACH64)/$(MODULE) \
152*71269a22SAnthony Scarpino	$@ $(CHOWNLINK) $(CHGRPLINK)
153*71269a22SAnthony Scarpino
154*71269a22SAnthony Scarpino$(SOFT_PSR_DIRS) \
155*71269a22SAnthony Scarpino$(SOFT_PSR64_DIRS):
156*71269a22SAnthony Scarpino	-$(INS.dir.root.bin)
157*71269a22SAnthony Scarpino
158*71269a22SAnthony Scarpino$(SOFT_PSR_LINKS): $(SOFT_PSR_DIRS)
159*71269a22SAnthony Scarpino	-$(INS.slink6)
160*71269a22SAnthony Scarpino
161*71269a22SAnthony Scarpino$(SOFT_PSR64_LINKS): $(SOFT_PSR64_DIRS)
162*71269a22SAnthony Scarpino	-$(INS.slink64)
163*71269a22SAnthony Scarpino
164*71269a22SAnthony Scarpino
165*71269a22SAnthony Scarpinoinclude $(SRC)/lib/Makefile.targ
166