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 # Copyright 2014 Gary Mills
23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
25 #
26 # This makefile drives the production of the ARCFOUR KEF provider.
27 #
28 # Intel implementation architecture dependent
29 #
30
31 #
32 # Path to the base of the uts directory tree (usually /usr/src/uts).
33 #
34 UTSBASE = ../..
35 COM_DIR = $(COMMONBASE)/crypto/arcfour
36
37 #
38 # Define the module and object file sets.
39 #
40 MODULE = arcfour
41 LINTS = $(ARCFOURPROV_OBJS:%.o=$(LINTS_DIR)/%.ln)
42 ARCFOURPROV_OBJS_32 =
43 ARCFOURPROV_OBJS_64 = arcfour-x86_64.o
44 ARCFOURPROV_OBJS += $(ARCFOURPROV_OBJS_$(CLASS))
45 OBJECTS = $(ARCFOURPROV_OBJS:%=$(OBJS_DIR)/%)
46 ROOTMODULE = $(ROOT_CRYPTO_DIR)/$(MODULE)
47
48 #
49 # Include common rules.
50 #
51 include $(UTSBASE)/intel/Makefile.intel
52
53 # set signing mode
54 ELFSIGN_MOD = $(ELFSIGN_CRYPTO)
55
56 #
57 # Define targets
58 #
59 ALL_TARGET = $(BINARY)
60 LINT_TARGET = $(MODULE).lint
61 INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
62
63 #
64 # Overrides
65 #
66 COPTFLAG = $(ADJUST_OPT2) -_cc=-xO4 -_gcc=-O2
67 COPTFLAG64 = $(ADJUST_OPT2) -_cc=-xO4 -_gcc=-O2
68 CPPFLAGS += -I$(COM_DIR)
69 CFLAGS += -xcrossfile
70 CLEANFILES += arcfour-x86_64.s
71
72 #
73 # Default build targets.
74 #
75 .KEEP_STATE:
76
77 def: $(DEF_DEPS)
78
79 all: $(ALL_DEPS)
80
81 clean: $(CLEAN_DEPS)
82
83 clobber: $(CLOBBER_DEPS)
84
85 lint: $(LINT_DEPS)
86
87 modlintlib: $(MODLINTLIB_DEPS)
88
89 clean.lint: $(CLEAN_LINT_DEPS)
90
91 install: $(INSTALL_DEPS)
92
93 #
94 # Include common targets.
95 #
96 include $(UTSBASE)/intel/Makefile.targ
97
98 $(OBJS_DIR)/arcfour-x86_64.o: arcfour-x86_64.s
99 $(COMPILE.s) -o $@ ${@F:.o=.s}
100 $(POST_PROCESS_O)
101
102 $(OBJS_DIR)/arcfour-x86_64.ln: arcfour-x86_64.s
103 @($(LHEAD) $(LINT.s) ${@F:.ln=.s} $(LTAIL))
104
105 arcfour-x86_64.s: $(COM_DIR)/amd64/arcfour-x86_64.pl
106 $(PERL) $? $@