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 2008 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright 2017 RackTop Systems. 26 # 27 # Makefile for KMF Plugins 28 # 29 30 LIBRARY= kmf_nss.a 31 VERS= .1 32 33 OBJECTS= nss_spi.o 34 35 include $(SRC)/lib/Makefile.lib 36 37 MPSDIR= /usr/lib/mps 38 MPSDIR64= $(MPSDIR)/64 39 KMFINC= -I../../../include -I../../../ber_der/inc 40 NSSINC= -I$(ADJUNCT_PROTO)/usr/include/mps 41 BERLIB= -lkmf -lkmfberder 42 BERLIB64= $(BERLIB) 43 44 NSSLIBS= $(BERLIB) -R$(MPSDIR) -lnss3 -lnspr4 -lsmime3 -lc 45 NSSLIBS64= $(BERLIB64) -R$(MPSDIR64) -lnss3 -lnspr4 -lsmime3 -lc 46 47 # Allow NSS libraries to be taken from outside the proto area. 48 $(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libnss3.so 49 $(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libnspr4.so 50 $(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libsmime3.so 51 52 # Override the default linker path so that libraries found in the host 53 # directories will trigger -zassert-deflib logic. 54 LDLIBS32 += -YP,$(DEFLDPATH):$(MPSDIR) 55 LDLIBS64 += -YP,$(DEFLDPATH64):$(MPSDIR64) 56 57 # Only add -L options for the NSS directories if ADJUNCT_PROTO is being 58 # used because it disables the -zassert-deflib logic. 59 $(ADJUNCT_PROTO_SET)LDLIBS32 += -L$(ADJUNCT_PROTO)$(MPSDIR) 60 $(ADJUNCT_PROTO_SET)LDLIBS64 += -L$(ADJUNCT_PROTO)$(MPSDIR64) 61 62 SRCDIR= ../common 63 INCDIR= ../../include 64 65 CFLAGS += $(CCVERBOSE) 66 CPPFLAGS += -D_REENTRANT $(KMFINC) $(NSSINC) \ 67 -I$(INCDIR) -I$(ADJUNCT_PROTO)/usr/include/libxml2 68 69 PICS= $(OBJECTS:%=pics/%) 70 71 LINTFLAGS += -erroff=E_STATIC_UNUSED 72 LINTFLAGS64 += -erroff=E_STATIC_UNUSED 73 74 CERRWARN += -_gcc=-Wno-unused-label 75 CERRWARN += -_gcc=-Wno-unused-value 76 CERRWARN += -_gcc=-Wno-uninitialized 77 78 lint:= NSSLIBS = $(BERLIB) 79 lint:= NSSLIBS64 = $(BERLIB64) 80 81 LDLIBS32 += $(NSSLIBS) 82 83 LIBS = $(DYNLIB) 84 85 ROOTLIBDIR= $(ROOTFS_LIBDIR)/crypto 86 ROOTLIBDIR64= $(ROOTFS_LIBDIR)/crypto/$(MACH64) 87 88 .KEEP_STATE: 89 90 all: $(LIBS) $(LINTLIB) 91 92 lint: lintcheck 93 94 FRC: 95 96 include $(SRC)/lib/Makefile.targ