xref: /illumos-gate/usr/src/lib/pkcs11/libsoftcrypto/amd64/Makefile (revision a9478106a12424322498e53cf7cd75bd8a4d6004)
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#
25
26LIBRARY =	libsoftcrypto.a
27VERS =		.1
28
29include		../Makefile.com
30
31AES_PSM_OBJS = 	aes_amd64.o aes_intel.o aeskey.o
32ARCFOUR_PSM_OBJS = arcfour-x86_64.o
33BIGNUM_PSM_OBJS = bignum_amd64.o bignum_amd64_asm.o
34
35include		$(SRC)/lib/Makefile.lib
36include		$(SRC)/lib/Makefile.lib.64
37
38CERRWARN +=	-_gcc=-Wno-type-limits
39CERRWARN +=	-_gcc=-Wno-parentheses
40CERRWARN +=	-_gcc=-Wno-uninitialized
41
42AES_PSM_SRC =	$(AES_DIR)/$(MACH64)/aes_amd64.s \
43		$(AES_DIR)/$(MACH64)/aes_intel.s \
44		$(AES_DIR)/$(MACH64)/aeskey.c
45ARCFOUR_PSM_SRC = arcfour-x86_64.s
46BIGNUM_PSM_SRC = $(BIGNUM_DIR)/$(MACH64)/bignum_amd64.c \
47		$(BIGNUM_DIR)/$(MACH64)/bignum_amd64_asm.s
48
49# Sources need to be redefined after Makefile.lib inclusion.
50SRCS =		$(AES_SRC) $(ARCFOUR_SRC) $(BIGNUM_SRC) $(BLOWFISH_SRC) \
51		$(DES_SRC) $(MODES_SRC) $(DH_SRC) $(DSA_SRC) $(RSA_SRC) \
52		$(PAD_SRC)
53
54SRCDIR =	$(SRC)/lib/pkcs11/libsoftcrypto/common
55
56LIBS =		$(DYNLIB) $(LINTLIB)
57MAPFILEDIR =	../common
58
59CFLAGS +=	-xO4 -xcrossfile
60CPPFLAGS +=	-I$(CRYPTODIR) -I$(UTSDIR) -D_POSIX_PTHREAD_SEMANTICS
61ASFLAGS +=	$(AS_PICFLAGS) -P -D__STDC__ -D_ASM
62BIGNUM_FLAGS +=	-DPSR_MUL
63CLEANFILES +=	arcfour-x86_64.s
64LDLIBS +=	-lcryptoutil -lc
65LINTFLAGS64 +=	$(EXTRA_LINT_FLAGS)
66
67.KEEP_STATE:
68
69all:		$(LIBS)
70
71lint:		$(SRCS)
72
73install:	all $(ROOTLIBS64) $(ROOTLINKS64) $(ROOTLINT64)
74
75pics/%.o: $(AES_DIR)/$(MACH64)/%.c
76		$(COMPILE.c) $(AES_FLAGS) -o $@ $<
77		$(POST_PROCESS_O)
78
79pics/%.o: $(AES_DIR)/$(MACH64)/%.s
80		$(COMPILE.s) $(AES_FLAGS) -o $@ $<
81		$(POST_PROCESS_O)
82
83pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.c
84		$(COMPILE.c) $(BIGNUM_FLAGS) -o $@ $<
85		$(POST_PROCESS_O)
86
87pics/%.o: $(BIGNUM_DIR)/$(MACH64)/%.s
88		$(COMPILE64.s) $(BIGNUM_FLAGS) -o $@ $<
89		$(POST_PROCESS_O)
90
91include		../Makefile.targ
92
93arcfour-x86_64.s: $(ARCFOUR_DIR)/amd64/arcfour-x86_64.pl
94		$(PERL) $? $@
95
96pics/%.o: arcfour-x86_64.s
97		$(COMPILE64.s) $(ARCFOUR_FLAGS) -o $@ $<
98		$(POST_PROCESS_O)
99