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# 23# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. 24# Copyright 2017 Jason King 25# Copyright (c) 2019, Joyent, Inc. 26# 27 28LIBRARY = libsoftcrypto.a 29VERS = .1 30 31include ../Makefile.com 32 33AES_PSM_OBJS = aes_amd64.o aes_intel.o aeskey.o 34ARCFOUR_PSM_OBJS = arcfour-x86_64.o 35BIGNUM_PSM_OBJS = bignum_amd64.o bignum_amd64_asm.o 36MODES_PSM_OBJS = gcm_intel.o 37 38include $(SRC)/lib/Makefile.lib 39include $(SRC)/lib/Makefile.lib.64 40 41CERRWARN += -_gcc=-Wno-type-limits 42CERRWARN += -_gcc=-Wno-parentheses 43CERRWARN += $(CNOWARN_UNINIT) 44 45# not linted 46SMATCH=off 47 48AES_PSM_SRC = $(AES_DIR)/$(MACH64)/aes_amd64.S \ 49 $(AES_DIR)/$(MACH64)/aes_intel.S \ 50 $(AES_DIR)/$(MACH64)/aeskey.c 51ARCFOUR_PSM_SRC = arcfour-x86_64.S 52BIGNUM_PSM_SRC = $(BIGNUM_DIR)/$(MACH64)/bignum_amd64.c \ 53 $(BIGNUM_DIR)/$(MACH64)/bignum_amd64_asm.S 54 55MODES_PSM_SRC = $(MODES_DIR)/$(MACH64)/gcm_intel.S 56 57# Sources need to be redefined after Makefile.lib inclusion. 58SRCS = $(AES_SRC) $(ARCFOUR_SRC) $(BIGNUM_SRC) $(BLOWFISH_SRC) \ 59 $(DES_SRC) $(MODES_SRC) $(DH_SRC) $(DSA_SRC) $(RSA_SRC) \ 60 $(PAD_SRC) 61 62SRCDIR = $(SRC)/lib/pkcs11/libsoftcrypto/common 63 64LIBS = $(DYNLIB) 65MAPFILEDIR = ../common 66 67CSTD = $(CSTD_GNU99) 68 69CFLAGS += -xO4 70CPPFLAGS += -I$(CRYPTODIR) -I$(UTSDIR) -D_POSIX_PTHREAD_SEMANTICS 71ASFLAGS64 += $(AS_PICFLAGS) -D_ASM 72BIGNUM_FLAGS += -DPSR_MUL 73CLEANFILES += arcfour-x86_64.S arcfour-x86_64.s 74LDLIBS += -lcryptoutil -lc 75 76.KEEP_STATE: 77 78all: $(LIBS) 79 80install: all $(ROOTLIBS64) $(ROOTLINKS64) 81 82pics/%.o: $(AES_DIR)/$(MACH64)/%.c 83 $(COMPILE.c) $(AES_FLAGS) -o $@ $< 84 $(POST_PROCESS_O) 85 86pics/%.o: $(AES_DIR)/$(MACH64)/%.S 87 $(COMPILE.s) $(AES_FLAGS) -o $@ $< 88 $(POST_PROCESS_S_O) 89 90pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.c 91 $(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $< 92 $(POST_PROCESS_O) 93 94pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.S 95 $(COMPILE64.s) $(BIGNUM_FLAGS) -o $@ $< 96 $(POST_PROCESS_S_O) 97 98pics/%.o: $(MODES_DIR)/$(MACH64)/%.S 99 $(COMPILE64.s) $(MODES_FLAGS) -o $@ $< 100 $(POST_PROCESS_S_O) 101 102include ../Makefile.targ 103 104arcfour-x86_64.S: $(ARCFOUR_DIR)/amd64/arcfour-x86_64.pl 105 $(PERL) $? $@ 106 107pics/%.o: arcfour-x86_64.S 108 $(COMPILE64.s) $(ARCFOUR_FLAGS) -o $@ $< 109 $(POST_PROCESS_S_O) 110