Merge illumos-gate
[unleashed/lotheac.git] / usr / src / lib / pkcs11 / libsoftcrypto / amd64 / Makefile
blob542b2a7e7c90b80bae50e1e5d4585a196fbb42d6
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.
28 LIBRARY = libsoftcrypto.a
29 VERS = .1
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) \
57 $(PAD_SRC)
59 SRCDIR = $(SRC)/lib/pkcs11/libsoftcrypto/common
61 LIBS = $(DYNLIB)
62 MAPFILEDIR = ../common
64 CFLAGS += -fno-strict-aliasing \
65 -fno-unit-at-a-time \
66 -fno-optimize-sibling-calls \
67 -O2
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
75 .KEEP_STATE:
77 all: $(LIBS)
80 install: all $(ROOTLIBS64) $(ROOTLINKS64)
82 pics/%.o: $(AES_DIR)/$(MACH64)/%.c
83 $(COMPILE.c) $(AES_FLAGS) -o $@ $<
84 $(POST_PROCESS_O)
86 pics/%.o: $(AES_DIR)/$(MACH64)/%.s
87 $(COMPILE.s) $(AES_FLAGS) -o $@ $<
88 $(POST_PROCESS_O)
90 pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.c
91 $(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $<
92 $(POST_PROCESS_O)
94 pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.s
95 $(COMPILE64.s) $(BIGNUM_FLAGS) -o $@ $<
96 $(POST_PROCESS_O)
98 pics/%.o: $(MODES_DIR)/$(MACH64)/%.s
99 $(COMPILE64.s) $(MODES_FLAGS) -o $@ $<
100 $(POST_PROCESS_O)
102 include ../Makefile.targ
104 arcfour-x86_64.s: $(ARCFOUR_DIR)/amd64/arcfour-x86_64.pl
105 $(PERL) $? $@
107 pics/%.o: arcfour-x86_64.s
108 $(COMPILE64.s) $(ARCFOUR_FLAGS) -o $@ $<
109 $(POST_PROCESS_O)