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# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24# Copyright 2018 Jason King 25# 26# Copyright (c) 2018, Joyent, Inc. 27 28LIBRARY = pkcs11_tpm.a 29VERS = .1 30 31RSA_DIR = $(SRC)/common/crypto/rsa 32RSA_FLAGS = -I$(RSA_DIR) 33 34BIGNUM_DIR = $(SRC)/common/bignum 35BIGNUM_FLAGS = -I$(BIGNUM_DIR) 36 37PADDING_DIR = $(SRC)/common/crypto/padding 38PADDING_FLAGS = -I$(PADDING_DIR) 39 40SOFTCRYPTOFLAGS = $(RSA_FLAGS) $(PADDING_FLAGS) $(BIGNUM_FLAGS) 41 42OBJECTS= api_interface.o \ 43 apiutil.o \ 44 asn1.o \ 45 cert.o \ 46 data_obj.o \ 47 decr_mgr.o \ 48 dig_mgr.o \ 49 encr_mgr.o \ 50 globals.o \ 51 hwf_obj.o \ 52 key.o \ 53 key_mgr.o \ 54 loadsave.o \ 55 log.o \ 56 mech_md5.o \ 57 mech_rsa.o \ 58 mech_sha.o \ 59 new_host.o \ 60 obj_mgr.o \ 61 object.o \ 62 sess_mgr.o \ 63 sign_mgr.o \ 64 template.o \ 65 tpm_specific.o \ 66 utility.o \ 67 verify_mgr.o 68 69 70include $(SRC)/lib/Makefile.lib 71 72SRCDIR= ../common 73 74SRCS= $(OBJECTS:%.o=$(SRCDIR)/%.c) 75 76# set signing mode 77POST_PROCESS_SO += ; $(ELFSIGN_CRYPTO) 78 79ROOTLIBDIR=$(ROOT)/usr/lib/security 80ROOTLIBDIR64=$(ROOT)/usr/lib/security/$(MACH64) 81 82LIBS=$(DYNLIB) $(DYNLIB64) 83 84TSSROOT=$(ADJUNCT_PROTO) 85TSPILIBDIR=$(TSSROOT)/usr/lib 86TSPIINCDIR=$(TSSROOT)/usr/include 87TSSLIB=-L$(TSPILIBDIR) 88TSSLIB64=-L$(TSPILIBDIR)/$(MACH64) 89TSSINC=-I$(TSPIINCDIR) 90 91LDLIBS += $(TSSLIB) -L$(ADJUNCT_PROTO)/lib -lc -luuid -lmd -ltspi -lsoftcrypto 92CPPFLAGS += -xCC -D_POSIX_PTHREAD_SEMANTICS $(TSSINC) $(SOFTCRYPTOFLAGS) 93CPPFLAGS64 += $(CPPFLAGS) 94CSTD= $(CSTD_GNU99) 95 96CERRWARN += -_gcc=-Wno-parentheses 97CERRWARN += -_gcc=-Wno-unused-label 98CERRWARN += -_gcc=-Wno-uninitialized 99 100# not linted 101SMATCH=off 102 103LINTSRC= $(OBJECTS:%.o=$(SRCDIR)/%.c) 104 105$(LINTLIB):= SRCS = $(SRCDIR)/$(LINTSRC) 106LINTSRC= $(SRCS) 107 108CLOBBERFILES += C.ln 109 110.KEEP_STATE: 111 112all: $(LIBS) 113 114lint: $$(LINTSRC) 115 $(LINT.c) $(LINTCHECKFLAGS) $(LINTSRC) $(LDLIBS) 116 117pics/%.o: $(SRCDIR)/%.c 118 $(COMPILE.c) -o $@ $< 119 $(POST_PROCESS_O) 120 121include $(SRC)/lib/Makefile.targ 122