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