Merge illumos-gate
[unleashed/lotheac.git] / usr / src / lib / pkcs11 / libsoftcrypto / amd64 / Makefile
blobe86a869f9b0b02a3b62a7a93c8618e12181bac06
2 # CDDL HEADER START
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]
19 # CDDL HEADER END
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
30 VERS = .1
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
46 # not linted
47 SMATCH=off
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) \
61 $(PAD_SRC)
63 SRCDIR = $(SRC)/lib/pkcs11/libsoftcrypto/common
65 LIBS = $(DYNLIB)
66 MAPFILEDIR = ../common
68 CFLAGS += -fno-strict-aliasing \
69 -fno-unit-at-a-time \
70 -fno-optimize-sibling-calls \
71 -O2
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
79 .KEEP_STATE:
81 all: $(LIBS)
84 install: all $(ROOTLIBS64) $(ROOTLINKS64)
86 pics/%.o: $(AES_DIR)/$(MACH64)/%.c
87 $(COMPILE.c) $(AES_FLAGS) -o $@ $<
88 $(POST_PROCESS_O)
90 pics/%.o: $(AES_DIR)/$(MACH64)/%.s
91 $(COMPILE.s) $(AES_FLAGS) -o $@ $<
92 $(POST_PROCESS_O)
94 pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.c
95 $(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $<
96 $(POST_PROCESS_O)
98 pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.s
99 $(COMPILE64.s) $(BIGNUM_FLAGS) -o $@ $<
100 $(POST_PROCESS_O)
102 pics/%.o: $(MODES_DIR)/$(MACH64)/%.s
103 $(COMPILE64.s) $(MODES_FLAGS) -o $@ $<
104 $(POST_PROCESS_O)
106 include ../Makefile.targ
108 arcfour-x86_64.s: $(ARCFOUR_DIR)/amd64/arcfour-x86_64.pl
109 $(PERL) $? $@
111 pics/%.o: arcfour-x86_64.s
112 $(COMPILE64.s) $(ARCFOUR_FLAGS) -o $@ $<
113 $(POST_PROCESS_O)