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 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
22 # Use is subject to license terms.
23 #
24 # Copyright (c) 2019, Joyent, Inc.
25 #
26
27 #
28 # Path to the base of the uts directory tree (usually /usr/src/uts).
29 #
30 UTSBASE = ../..
31 COMDIR = $(COMMONBASE)/crypto
32
33 #
34 # Define the module and object file sets.
35 #
36 MODULE = sha1
37 SHA1_OBJS_32 =
38 SHA1_OBJS_64 = sha1-x86_64.o
39 SHA1_OBJS += $(SHA1_OBJS_$(CLASS))
40 OBJECTS = $(SHA1_OBJS:%=$(OBJS_DIR)/%)
41 LINTS = $(SHA1_OBJS:%.o=$(LINTS_DIR)/%.ln)
42 ROOTMODULE = $(ROOT_CRYPTO_DIR)/$(MODULE)
43 ROOTLINK = $(ROOT_MISC_DIR)/$(MODULE)
44
45 #
46 # Include common rules.
47 #
48 include $(UTSBASE)/intel/Makefile.intel
49
50 #
51 # Override defaults
52 #
53 CLEANFILES += sha1-x86_64.s
54
55 #
56 # Linkage dependencies
57 #
58 LDFLAGS += -dy -Nmisc/kcf
59
60 CFLAGS += -I$(COMDIR)
61 LINTFLAGS += -I$(COMDIR)
62
63
64 #
65 # Define targets
66 #
67 ALL_TARGET = $(BINARY)
68 LINT_TARGET = $(MODULE).lint
69 INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOTLINK)
70
71 #
72 # Default build targets.
73 #
74 .KEEP_STATE:
75
76 def: $(DEF_DEPS)
77
78 all: $(ALL_DEPS)
79
80 clean: $(CLEAN_DEPS)
81
82 clobber: $(CLOBBER_DEPS)
83
84 lint: $(LINT_DEPS)
85
86 modlintlib: $(MODLINTLIB_DEPS)
87
88 clean.lint: $(CLEAN_LINT_DEPS)
89
90 install: $(INSTALL_DEPS)
91
92 $(ROOTLINK): $(ROOT_MISC_DIR) $(ROOTMODULE)
93 -$(RM) $@; ln $(ROOTMODULE) $@
94
95 #
96 # Include common targets.
97 #
98 include $(UTSBASE)/intel/Makefile.targ
99
100 $(OBJS_DIR)/sha1-x86_64.o: sha1-x86_64.s
101 $(COMPILE.s) -o $@ ${@F:.o=.s}
102
103 $(OBJS_DIR)/sha1-x86_64.ln: sha1-x86_64.s
104 @($(LHEAD) $(LINT.c) ${@F:.ln=.s} $(LTAIL))
105
106 sha1-x86_64.s: $(COMDIR)/sha1/amd64/sha1-x86_64.pl
107 $(PERL) $? $@