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