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.
28 LIBRARY
= libsoftcrypto.a
31 include ..
/Makefile.com
33 AES_PSM_OBJS
= aes_amd64.o aes_intel.o aeskey.o
34 ARCFOUR_PSM_OBJS
= arcfour-x86_64.o
35 BIGNUM_PSM_OBJS
= bignum_amd64.o bignum_amd64_asm.o
36 MODES_PSM_OBJS
= gcm_intel.o
38 include $(SRC
)/lib
/Makefile.lib
39 include $(SRC
)/lib
/Makefile.lib
.64
41 CERRWARN
+= -Wno-type-limits
42 CERRWARN
+= -Wno-parentheses
43 CERRWARN
+= -Wno-uninitialized
45 AES_PSM_SRC
= $(AES_DIR
)/$(MACH64
)/aes_amd64.s \
46 $(AES_DIR
)/$(MACH64
)/aes_intel.s \
47 $(AES_DIR
)/$(MACH64
)/aeskey.c
48 ARCFOUR_PSM_SRC
= arcfour-x86_64.s
49 BIGNUM_PSM_SRC
= $(BIGNUM_DIR
)/$(MACH64
)/bignum_amd64.c \
50 $(BIGNUM_DIR
)/$(MACH64
)/bignum_amd64_asm.s
52 MODES_PSM_SRC
= $(MODES_DIR
)/$(MACH64
)/gcm_intel.s
54 # Sources need to be redefined after Makefile.lib inclusion.
55 SRCS
= $(AES_SRC
) $(ARCFOUR_SRC
) $(BIGNUM_SRC
) $(BLOWFISH_SRC
) \
56 $(DES_SRC
) $(MODES_SRC
) $(DH_SRC
) $(DSA_SRC
) $(RSA_SRC
) \
59 SRCDIR
= $(SRC
)/lib
/pkcs11
/libsoftcrypto
/common
62 MAPFILEDIR
= ..
/common
64 CFLAGS
+= -fno-strict-aliasing \
66 -fno-optimize-sibling-calls \
68 CPPFLAGS
+= -I
$(CRYPTODIR
) -I
$(UTSDIR
) -D_POSIX_PTHREAD_SEMANTICS
69 CPPFLAGS
+= -I
$(SRCTOP
)/include
70 ASFLAGS
+= $(AS_PICFLAGS
) -D_ASM
71 BIGNUM_FLAGS
+= -DPSR_MUL
72 CLEANFILES
+= arcfour-x86_64.s
73 LDLIBS
+= -lcryptoutil
-lc
80 install: all $(ROOTLIBS64
) $(ROOTLINKS64
)
82 pics
/%.o
: $(AES_DIR
)/$(MACH64
)/%.c
83 $(COMPILE.c
) $(AES_FLAGS
) -o
$@
$<
86 pics
/%.o
: $(AES_DIR
)/$(MACH64
)/%.s
87 $(COMPILE.s
) $(AES_FLAGS
) -o
$@
$<
90 pics
/%.o
: $(BIGNUM_DIR
)/$(MACH64
)/%.c
91 $(COMPILE.c
) $(BIGNUM_FLAGS
) -o
$@
$<
94 pics
/%.o
: $(BIGNUM_DIR
)/$(MACH64
)/%.s
95 $(COMPILE64.s
) $(BIGNUM_FLAGS
) -o
$@
$<
98 pics
/%.o
: $(MODES_DIR
)/$(MACH64
)/%.s
99 $(COMPILE64.s
) $(MODES_FLAGS
) -o
$@
$<
102 include ..
/Makefile.targ
104 arcfour-x86_64.s
: $(ARCFOUR_DIR
)/amd64
/arcfour-x86_64.pl
107 pics
/%.o
: arcfour-x86_64.s
108 $(COMPILE64.s
) $(ARCFOUR_FLAGS
) -o
$@
$<