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 # Copyright (c) 2018, Joyent, Inc. 26 27 LIBRARY= pkcs11_kernel.a 28 VERS= .1 29 30 CORE_OBJECTS= \ 31 kernelGeneral.o \ 32 kernelSlottable.o \ 33 kernelSlotToken.o \ 34 kernelObject.o \ 35 kernelDigest.o \ 36 kernelSign.o \ 37 kernelVerify.o \ 38 kernelDualCrypt.o \ 39 kernelKeys.o \ 40 kernelRand.o \ 41 kernelSession.o \ 42 kernelSessionUtil.o \ 43 kernelUtil.o \ 44 kernelEncrypt.o \ 45 kernelDecrypt.o \ 46 kernelObjectUtil.o \ 47 kernelAttributeUtil.o \ 48 kernelEmulate.o 49 50 OTHER_OBJECTS = kernelSoftCommon.o 51 ST_OBJECTS = softDigestUtil.o softMAC.o 52 53 OBJECTS= \ 54 $(CORE_OBJECTS) \ 55 $(OTHER_OBJECTS) \ 56 $(ST_OBJECTS) 57 58 AESDIR= $(SRC)/common/crypto/aes 59 ARCFOURDIR= $(SRC)/common/crypto/arcfour 60 BLOWFISHDIR= $(SRC)/common/crypto/blowfish 61 DESDIR= $(SRC)/common/crypto/des 62 ECCDIR= $(SRC)/common/crypto/ecc 63 CRYPTDIR= $(SRC)/common/crypto 64 ST_DIR= $(SRC)/lib/pkcs11/pkcs11_softtoken/common 65 66 lint \ 67 pics/kernelAttributeUtil.o := \ 68 CPPFLAGS += -I$(AESDIR) -I$(BLOWFISHDIR) -I$(ARCFOURDIR) -I$(DESDIR) \ 69 -I$(ECCDIR) -I$(CRYPTDIR) 70 pics/kernelKeys.o := \ 71 CPPFLAGS += -I$(ECCDIR) 72 pics/kernelSoftCommon.o := \ 73 CPPFLAGS = -I$(ST_DIR) $(CPPFLAGS.master) 74 75 include $(SRC)/lib/Makefile.lib 76 77 # set signing mode 78 POST_PROCESS_SO += ; $(ELFSIGN_CRYPTO) 79 80 SRCDIR= ../common 81 CORESRCS = \ 82 $(CORE_OBJECTS:%.o=$(SRCDIR)/%.c) 83 84 LIBS = $(DYNLIB) 85 LDLIBS += -lc -lcryptoutil -lmd 86 87 CFLAGS += $(CCVERBOSE) 88 89 CERRWARN += -_gcc=-Wno-uninitialized 90 CERRWARN += -_gcc=-Wno-unused-label 91 92 # not linted 93 SMATCH=off 94 95 ROOTLIBDIR= $(ROOT)/usr/lib/security 96 ROOTLIBDIR64= $(ROOT)/usr/lib/security/$(MACH64) 97 98 .KEEP_STATE: 99 100 all: $(LIBS) 101 102 # we don't need to lint ST_OBJECTS since they are linted elsewhere. 103 lintcheck := SRCS = $(CORESRCS) 104 lintother := OSRCS = ../common/kernelSoftCommon.c 105 lintother := CPPFLAGS = -I$(ST_DIR) $(CPPFLAGS.master) 106 107 lintother: $$(OSRCS) 108 $(LINT.c) $(LINTCHECKFLAGS) $(OSRCS) $(LDLIBS) 109 110 lint: lintcheck lintother 111 112 pics/%.o: $(ST_DIR)/%.c 113 $(COMPILE.c) -o $@ $< -I$(ST_DIR) 114 $(POST_PROCESS_O) 115 116 include $(SRC)/lib/Makefile.targ