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