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.
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.
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]
23 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2017 Jason King
25 # Copyright (c) 2018, Joyent, Inc.
27 # Copyright (c) 2018, Joyent, Inc.
29 LIBRARY
= libsoftcrypto.a
32 include ..
/Makefile.com
34 AES_PSM_OBJS
= aes_amd64.o aes_intel.o aeskey.o
35 ARCFOUR_PSM_OBJS
= arcfour-x86_64.o
36 BIGNUM_PSM_OBJS
= bignum_amd64.o bignum_amd64_asm.o
37 MODES_PSM_OBJS
= gcm_intel.o
39 include $(SRC
)/lib
/Makefile.lib
40 include $(SRC
)/lib
/Makefile.lib
.64
42 CERRWARN
+= -Wno-type-limits
43 CERRWARN
+= -Wno-parentheses
44 CERRWARN
+= -Wno-uninitialized
49 AES_PSM_SRC
= $(AES_DIR
)/$(MACH64
)/aes_amd64.s \
50 $(AES_DIR
)/$(MACH64
)/aes_intel.s \
51 $(AES_DIR
)/$(MACH64
)/aeskey.c
52 ARCFOUR_PSM_SRC
= arcfour-x86_64.s
53 BIGNUM_PSM_SRC
= $(BIGNUM_DIR
)/$(MACH64
)/bignum_amd64.c \
54 $(BIGNUM_DIR
)/$(MACH64
)/bignum_amd64_asm.s
56 MODES_PSM_SRC
= $(MODES_DIR
)/$(MACH64
)/gcm_intel.s
58 # Sources need to be redefined after Makefile.lib inclusion.
59 SRCS
= $(AES_SRC
) $(ARCFOUR_SRC
) $(BIGNUM_SRC
) $(BLOWFISH_SRC
) \
60 $(DES_SRC
) $(MODES_SRC
) $(DH_SRC
) $(DSA_SRC
) $(RSA_SRC
) \
63 SRCDIR
= $(SRC
)/lib
/pkcs11
/libsoftcrypto
/common
66 MAPFILEDIR
= ..
/common
68 CFLAGS
+= -fno-strict-aliasing \
70 -fno-optimize-sibling-calls \
72 CPPFLAGS
+= -I
$(CRYPTODIR
) -I
$(UTSDIR
) -D_POSIX_PTHREAD_SEMANTICS
73 CPPFLAGS
+= -I
$(SRCTOP
)/include
74 ASFLAGS
+= $(AS_PICFLAGS
) -D_ASM
75 BIGNUM_FLAGS
+= -DPSR_MUL
76 CLEANFILES
+= arcfour-x86_64.s
77 LDLIBS
+= -lcryptoutil
-lc
84 install: all $(ROOTLIBS64
) $(ROOTLINKS64
)
86 pics
/%.o
: $(AES_DIR
)/$(MACH64
)/%.c
87 $(COMPILE.c
) $(AES_FLAGS
) -o
$@
$<
90 pics
/%.o
: $(AES_DIR
)/$(MACH64
)/%.s
91 $(COMPILE.s
) $(AES_FLAGS
) -o
$@
$<
94 pics
/%.o
: $(BIGNUM_DIR
)/$(MACH64
)/%.c
95 $(COMPILE.c
) $(BIGNUM_FLAGS
) -o
$@
$<
98 pics
/%.o
: $(BIGNUM_DIR
)/$(MACH64
)/%.s
99 $(COMPILE64.s
) $(BIGNUM_FLAGS
) -o
$@
$<
102 pics
/%.o
: $(MODES_DIR
)/$(MACH64
)/%.s
103 $(COMPILE64.s
) $(MODES_FLAGS
) -o
$@
$<
106 include ..
/Makefile.targ
108 arcfour-x86_64.s
: $(ARCFOUR_DIR
)/amd64
/arcfour-x86_64.pl
111 pics
/%.o
: arcfour-x86_64.s
112 $(COMPILE64.s
) $(ARCFOUR_FLAGS
) -o
$@
$<