xref: /titanic_50/usr/src/lib/gss_mechs/mech_krb5/Makefile.com (revision 9512fe850e98fdd448c638ca63fdd92a8a510255)
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 2006 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28#
29# This make file will build mech_krb5.so.1. This shared object
30# contains all the functionality needed to support the Kereros V5 GSS-API
31# mechanism. No other Kerberos libraries are needed.
32#
33
34
35LIBRARY= mech_krb5.a
36VERS = .1
37
38GROUP=	sys
39FILEMODE=	755
40
41# objects are listed by source directory
42REL_PATH= ../
43
44to_all:	all
45
46# crypto
47CRYPTO = cksumtype_to_string.o \
48	coll_proof_cksum.o enctype_compare.o enctype_to_string.o \
49	keyed_checksum_types.o keyed_cksum.o \
50	make_random_key.o string_to_cksumtype.o \
51	string_to_enctype.o string_to_key.o valid_cksumtype.o \
52	valid_enctype.o pkcs11slot.o state.o pbkdf2.o old_api_glue.o
53
54CRYPTO_UTS= cksumtypes.o decrypt.o encrypt.o encrypt_length.o \
55	etypes.o nfold.o verify_checksum.o default_state.o \
56	prng.o block_size.o make_checksum.o checksum_length.o hmac.o \
57	mandatory_sumtype.o combine_keys.o
58
59# crypto/raw
60CRYPTO_RAW= raw_decrypt.o raw_encrypt.o
61
62# crypto/des user space only
63CRYPTO_DES= afsstring2key.o string2key.o
64
65# crypto/des common to user and kernel space
66CRYPTO_DES_UTS= f_cbc.o f_cksum.o f_parity.o weak_key.o d3_cbc.o
67
68# crypto/arcfour user space only
69CRYPTO_ARCFOUR= arcfour_str2key.o
70
71# crypto/aes user space only
72CRYPTO_AES=	aes_s2k.o
73
74# crypto/arcfour common to user and kernel space
75CRYPTO_ARCFOUR_UTS = k5_arcfour.o
76
77#crypto/dk
78CRYPTO_DK= stringtokey.o
79
80CRYPTO_DK_UTS= checksum.o derive.o dk_decrypt.o dk_encrypt.o
81
82# crypto/crc32
83CRYPTO_CRC32= crc.o
84
85# crypto/crc32
86CRYPTO_CRC32_UTS= crc32.o
87
88# crypto/md4
89CRYPTO_MD4= md4.o
90
91# crypto/enc_provider
92CRYPTO_ENC= des.o des3.o arcfour_provider.o aes_provider.o
93
94# crypto/hash_provider
95CRYPTO_HASH= hash_md5.o hash_sha1.o hash_ef_generic.o
96CRYPTO_HASH_UTS= hash_crc32.o
97
98# crypto/keyhash_provider
99CRYPTO_KEYHASH= k5_md5des.o hmac_md5.o
100CRYPTO_KEYHASH_UTS= descbc.o
101
102# crypto/old
103CRYPTO_OLD=  des_stringtokey.o
104
105# crypto/old
106CRYPTO_OLD_UTS=  old_encrypt.o old_decrypt.o
107
108# et error_tables
109ET=	adb_err.o adm_err.o asn1_err.o chpass_util_strings.o error_message.o \
110	com_err.o gssapi_err_generic.o import_err.o \
111	gssapi_err_krb5.o kadm_err.o kdb5_err.o kpasswd_strings.o kdc5_err.o \
112	krb5_err.o kv5m_err.o prof_err.o pty_err.o ss_err.o
113
114# krb5/asn.1
115K5_ASN1= asn1_decode.o asn1_k_decode.o asn1_encode.o \
116	asn1_get.o asn1_make.o \
117	asn1buf.o krb5_decode.o krb5_encode.o \
118	asn1_k_encode.o asn1_misc.o
119
120# krb5/ccache
121K5_CC= cc_file.o cc_memory.o ccbase.o ccfns.o ccdefault.o ccdefops.o ser_cc.o cc_retr.o cccopy.o
122
123# krb5/keytab
124K5_KT=	ktadd.o ktbase.o ktdefault.o ktfr_entry.o \
125	ktremove.o read_servi.o kt_file.o kt_srvtab.o ktfns.o
126
127K5_KRB= addr_comp.o  addr_order.o  addr_srch.o \
128	auth_con.o  bld_pr_ext.o  bld_princ.o  chk_trans.o \
129	conv_princ.o  copy_addrs.o  copy_creds.o  copy_data.o  copy_tick.o \
130	cp_key_cnt.o  decode_kdc.o  decrypt_tk.o  encode_kdc.o  encrypt_tk.o \
131	free_rtree.o  fwd_tgt.o  gc_frm_kdc.o  gc_via_tkt.o  gen_seqnum.o \
132	gen_subkey.o  get_creds.o  get_in_tkt.o kdc_rep_dc.o  mk_cred.o  \
133	mk_error.o  mk_priv.o  mk_rep.o  mk_req.o  mk_req_ext.o  mk_safe.o \
134	pr_to_salt.o   princ_comp.o  privacy_allowed.o  rd_cred.o \
135	rd_error.o  rd_priv.o  rd_rep.o  rd_req.o  rd_req_dec.o  rd_safe.o \
136	recvauth.o  send_tgs.o  sendauth.o  srv_rcache.o  str_conv.o \
137	tgtname.o  valid_times.o  walk_rtree.o appdefault.o deltat.o \
138	enc_helper.o gic_keytab.o gic_opt.o gic_pwd.o preauth2.o \
139	vfy_increds.o vic_opt.o set_realm.o krb5_libinit.o chpw.o \
140	init_keyblock.o init_allocated_keyblock.o get_set_keyblock.o
141
142K5_KRB_UTS= copy_athctr.o copy_auth.o copy_cksum.o copy_key.o \
143	copy_princ.o init_ctx.o kfree.o parse.o ser_actx.o \
144	ser_adata.o ser_addr.o ser_auth.o \
145	ser_cksum.o ser_ctx.o ser_key.o \
146	ser_princ.o serialize.o unparse.o
147
148K5_OS=	an_to_ln.o def_realm.o ccdefname.o free_krbhs.o free_hstrl.o \
149	full_ipadr.o get_krbhst.o gen_port.o genaddrs.o gen_rname.o \
150	gmt_mktime.o hostaddr.o hst_realm.o krbfileio.o \
151	ktdefname.o kuserok.o mk_faddr.o localaddr.o locate_kdc.o lock_file.o \
152	net_read.o net_write.o osconfig.o port2ip.o promptusr.o \
153	read_msg.o read_pwd.o realm_dom.o sendto_kdc.o sn2princ.o \
154	unlck_file.o ustime.o write_msg.o safechown.o \
155	prompter.o realm_iter.o foreachaddr.o \
156	dnsglue.o dnssrv.o thread_safe.o changepw.o
157
158K5_OS_UTS=init_os_ctx.o timeofday.o toffset.o c_ustime.o
159
160K5_POSIX= setenv.o daemon.o
161
162K5_RCACHE=rc_base.o rc_file.o rc_mem.o rc_common.o rc_io.o rcdef.o rc_conv.o \
163	ser_rc.o rcfns.o
164
165MECH= 	accept_sec_context.o store_cred.o \
166	add_cred.o disp_com_err_status.o  disp_major_status.o \
167	compare_name.o context_time.o copy_ccache.o \
168	disp_name.o disp_status.o export_sec_context.o \
169	get_tkt_flags.o import_name.o indicate_mechs.o \
170	inq_context.o inq_cred.o inq_names.o \
171	k5mech.o \
172	pname_to_uid.o process_context_token.o \
173        rel_buffer.o rel_oid.o rel_oid_set.o \
174	rel_cred.o  rel_name.o util_buffer.o \
175	util_dup.o util_localhost.o \
176	util_cksum.o acquire_cred.o init_sec_context.o \
177	util_ctxsetup.o set_ccache.o acquire_cred_with_pw.o
178
179MECH_UTS= delete_sec_context.o gssapi_krb5.o \
180	import_sec_context.o k5seal.o k5sealv3.o \
181	k5unseal.o seal.o ser_sctx.o \
182	sign.o unseal.o util_crypt.o  \
183	util_ordering.o util_seed.o util_seqnum.o \
184	util_set.o  util_token.o util_validate.o \
185	val_cred.o verify.o wrap_size_limit.o
186
187PROFILE_OBJS= prof_tree.o prof_file.o prof_parse.o prof_init.o \
188	prof_set.o prof_get.o
189
190SUPPORT_OBJS= fake-addrinfo.o  threads.o
191
192OBJECTS= \
193	$(MECH)  $(MECH_UTS) \
194	$(SUPPORT_OBJS) \
195	$(PROFILE_OBJS) \
196	$(CRYPTO) $(CRYPTO_UTS) \
197	$(CRYPTO_CRC32) \
198	$(CRYPTO_CRC32_UTS) \
199	$(CRYPTO_DES) $(CRYPTO_DES_UTS) \
200	$(CRYPTO_MD4) \
201	$(CRYPTO_DK) $(CRYPTO_DK_UTS) \
202	$(CRYPTO_ARCFOUR) $(CRYPTO_ARCFOUR_UTS) \
203	$(CRYPTO_AES) \
204	$(CRYPTO_ENC) \
205	$(CRYPTO_HASH) $(CRYPTO_HASH_UTS) \
206	$(CRYPTO_KEYHASH) $(CRYPTO_KEYHASH_UTS) \
207	$(CRYPTO_OLD) $(CRYPTO_OLD_UTS) \
208	$(CRYPTO_RAW) \
209	$(ET) \
210	$(K5_ASN1) \
211	$(K5_CC) \
212	$(K5_KT) \
213	$(K5_KRB) $(K5_KRB_UTS) \
214	$(K5_OS) $(K5_OS_UTS) \
215	$(K5_POSIX) $(K5_RCACHE)
216
217# include library definitions
218include $(REL_PATH)/../../Makefile.lib
219
220# Must come after Makefile.lib so CPPFLAGS doesn't get overwritten
221include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
222
223K5LIBLINK=$(LIBRARY:%.a=lib%.so)
224
225# override default text domain
226TEXT_DOMAIN= SUNW_OST_NETRPC
227INS.liblink2=	-$(RM) $@; $(SYMLINK) gss/$(LIBLINKPATH)$(LIBLINKS) $@
228
229CPPFLAGS += -I$(REL_PATH)/libgss -I../include  \
230		-I$(SRC)/uts/common/gssapi \
231		-I$(SRC)/uts/common/gssapi/include \
232		-I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5 \
233		-I../include/krb5 \
234		-I../krb5/keytab \
235		-I../krb5/krb \
236		-I../krb5/os \
237		-I../krb5/ccache \
238		-I../krb5/rcache \
239		-I$(SRC)/lib/krb5 \
240		-I$(SRC)/lib/krb5/kadm5 \
241		-I$(SRC)/uts/common/gssapi/mechs/krb5/include \
242		-I$(SRC)/uts/common/gssapi/mechs/krb5/crypto/des
243
244# KRB5_DEFS can be assigned various preprocessor flags, typically -D
245# defines on the make invocation.  These values will be appended to
246# CPPFLAGS so the other flags in CPPFLAGS will not be overwritten.
247
248CPPFLAGS += $(KRB5_DEFS)
249
250MAPFILE_EXPORT = ../mapfile-vers-clean
251$(EXPORT_RELEASE_BUILD)MAPFILE_EXPORT = \
252		$(CLOSED)/lib/gss_mechs/mech_krb5/mapfile-vers-export
253MAPFILES =	../mapfile-vers $(MAPFILE_EXPORT)
254
255$(EXPORT_RELEASE_BUILD)include $(CLOSED)/lib/gss_mechs/mech_krb5/Makefile.export
256
257#CPPFLAGS += 	-D_REENTRANT
258$(PICS) := 	CFLAGS += $(XFFLAG)
259$(PICS) := 	CCFLAGS += $(XFFLAG)
260
261LIBS = $(DYNLIB) $(K5LIBLINK)
262
263# override ROOTLIBDIR and ROOTLINKS
264ROOTLIBDIR=	$(ROOT)/usr/lib/gss
265ROOTLIBDIR64=	$(ROOT)/usr/lib/$(MACH64)/gss
266
267K5MECHLINK=	$(K5LIBLINK:%=$(ROOT)/usr/lib/%)
268K5MECHLINK64=	$(K5LIBLINK:%=$(ROOT)/usr/lib/$(MACH64)/%)
269
270ROOTLIBS=	$(LIBS:%=$(ROOTLIBDIR)/%) $(K5MECHLINK)
271ROOTLIBS64=	$(LIBS:%=$(ROOTLIBDIR64)/%) $(K5MECHLINK64)
272
273$(ROOTLIBDIR) $(ROOTLIBDIR64):
274	$(INS.dir)
275
276# create libmech_krb5 link locally
277$(K5LIBLINK): $(DYNLIB)
278	-$(RM) $@; $(SYMLINK) $(DYNLIB) $@
279
280# create libmech_krb5 link in $ROOT/usr/lib/gss/
281$(ROOTLIBDIR)/$(K5LIBLINK):	$(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
282	$(INS.liblink)
283
284# create libmech_krb5 link in $ROOT/usr/lib/$(MACH64)/gss
285$(ROOTLIBDIR64)/$(K5LIBLINK):	$(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
286	$(INS.liblink)
287
288# create libmech_krb5 link in ROOT/usr/lib
289$(K5MECHLINK):	$(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
290	$(INS.liblink2)
291
292# create libmech_krb5 link in ROOT/usr/lib/$(MACH64)
293$(K5MECHLINK64):	$(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
294	$(INS.liblink2)
295
296LDLIBS += -lgss -lsocket -lresolv -lc -lpkcs11 -lnsl
297# -z ignore causes linker to ignore unneeded dependencies.  This is
298#  needed because -lnsl is only used if DEBUG is defined.
299DYNFLAGS += $(ZIGNORE)
300
301# mech lib needs special initialization at load time
302DYNFLAGS += -zinitarray=krb5_ld_init
303
304objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c
305	$(COMPILE.c)  -o $@ $<
306	$(POST_PROCESS_O)
307
308objs/%.o pics/%.o: $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c
309	$(COMPILE.c)  -o $@ $<
310	$(POST_PROCESS_O)
311
312objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c
313	$(COMPILE.c)  -o $@ $<
314	$(POST_PROCESS_O)
315
316objs/%.o pics/%.o: $(REL_PATH)/crypto/%.c
317	$(COMPILE.c)  -o $@ $<
318	$(POST_PROCESS_O)
319
320objs/%.o pics/%.o: $(REL_PATH)/crypto/md4/%.c
321	$(COMPILE.c)  -o $@ $<
322	$(POST_PROCESS_O)
323
324objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c
325	$(COMPILE.c)  -o $@ $<
326	$(POST_PROCESS_O)
327
328objs/%.o pics/%.o: $(REL_PATH)/crypto/des/%.c
329	$(COMPILE.c)  -o $@ $<
330	$(POST_PROCESS_O)
331
332objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c
333	$(COMPILE.c)  -o $@ $<
334	$(POST_PROCESS_O)
335
336objs/%.o pics/%.o: $(REL_PATH)/crypto/arcfour/%.c
337	$(COMPILE.c)  -o $@ $<
338	$(POST_PROCESS_O)
339
340objs/%.o pics/%.o: $(REL_PATH)/crypto/aes/%.c
341	$(COMPILE.c)  -o $@ $<
342	$(POST_PROCESS_O)
343
344objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c
345	$(COMPILE.c)  -o $@ $<
346	$(POST_PROCESS_O)
347
348objs/%.o pics/%.o: $(REL_PATH)/crypto/dk/%.c
349	$(COMPILE.c)  -o $@ $<
350	$(POST_PROCESS_O)
351
352objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c
353	$(COMPILE.c)  -o $@ $<
354	$(POST_PROCESS_O)
355
356objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c
357	$(COMPILE.c)  -o $@ $<
358	$(POST_PROCESS_O)
359
360objs/%.o pics/%.o: $(REL_PATH)/crypto/crc32/%.c
361	$(COMPILE.c)  -o $@ $<
362	$(POST_PROCESS_O)
363
364objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/sha1/%.c
365	$(COMPILE.c)  -o $@ $<
366	$(POST_PROCESS_O)
367
368objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c
369	$(COMPILE.c)  -o $@ $<
370	$(POST_PROCESS_O)
371
372objs/%.o pics/%.o: $(REL_PATH)/crypto/hash_provider/%.c
373	$(COMPILE.c)  -o $@ $<
374	$(POST_PROCESS_O)
375
376objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c
377	$(COMPILE.c)  -o $@ $<
378	$(POST_PROCESS_O)
379
380objs/%.o pics/%.o: $(REL_PATH)/crypto/keyhash_provider/%.c
381	$(COMPILE.c)  -o $@ $<
382	$(POST_PROCESS_O)
383
384objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c
385	$(COMPILE.c)  -o $@ $<
386	$(POST_PROCESS_O)
387
388objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c
389	$(COMPILE.c)  -o $@ $<
390	$(POST_PROCESS_O)
391
392objs/%.o pics/%.o: $(REL_PATH)/crypto/old/%.c
393	$(COMPILE.c)  -o $@ $<
394	$(POST_PROCESS_O)
395
396objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c
397	$(COMPILE.c)  -o $@ $<
398	$(POST_PROCESS_O)
399
400objs/%.o pics/%.o: $(REL_PATH)/crypto/sha1/%.c
401	$(COMPILE.c)  -o $@ $<
402	$(POST_PROCESS_O)
403
404objs/%.o pics/%.o: $(REL_PATH)/et/%.c
405	$(COMPILE.c)  -o $@ $<
406	$(POST_PROCESS_O)
407
408objs/%.o pics/%.o: $(REL_PATH)/krb5/asn.1/%.c
409	$(COMPILE.c)  -o $@ $<
410	$(POST_PROCESS_O)
411
412objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/%.c
413	$(COMPILE.c)  -o $@ $<
414	$(POST_PROCESS_O)
415
416objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/file/%.c
417	$(COMPILE.c)  -o $@ $<
418	$(POST_PROCESS_O)
419
420objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/stdio/%.c
421	$(COMPILE.c)  -o $@ $<
422	$(POST_PROCESS_O)
423
424objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/memory/%.c
425	$(COMPILE.c)  -o $@ $<
426	$(POST_PROCESS_O)
427
428objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/%.c
429	$(COMPILE.c)  -o $@ $<
430	$(POST_PROCESS_O)
431
432objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/file/%.c
433	$(COMPILE.c)  -o $@ $<
434	$(POST_PROCESS_O)
435
436objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c
437	$(COMPILE.c)  -o $@ $<
438	$(POST_PROCESS_O)
439
440objs/%.o pics/%.o: $(REL_PATH)/krb5/krb/%.c
441	$(COMPILE.c)  -o $@ $<
442	$(POST_PROCESS_O)
443
444objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c
445	$(COMPILE.c)  -o $@ $<
446	$(POST_PROCESS_O)
447
448objs/%.o pics/%.o: $(REL_PATH)/krb5/os/%.c
449	$(COMPILE.c)  -o $@ $<
450	$(POST_PROCESS_O)
451
452objs/%.o pics/%.o: $(REL_PATH)/krb5/posix/%.c
453	$(COMPILE.c)  -o $@ $<
454	$(POST_PROCESS_O)
455
456objs/%.o pics/%.o: $(REL_PATH)/krb5/rcache/%.c
457	$(COMPILE.c)  -o $@ $<
458	$(POST_PROCESS_O)
459
460objs/%.o pics/%.o: $(REL_PATH)/profile/%.c
461	$(COMPILE.c)  -o $@ $<
462	$(POST_PROCESS_O)
463
464objs/%.o pics/%.o: $(REL_PATH)/support/%.c
465	$(COMPILE.c)  -o $@ $<
466	$(POST_PROCESS_O)
467
468# include library targets
469include $(REL_PATH)/../../Makefile.targ
470# We need to include all CPPFLAGS for the files since we are using
471# the macro to expand and they are not aware of flags yet .. ugh..
472
473OS_FLAGS = -DHAVE_LIBSOCKET -DHAVE_LIBNSL -DTIME_WITH_SYS_TIME \
474	-DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_REGEX_H \
475	-DHAVE_REGEXP_H -DHAVE_RE_COMP -DHAVE_REGCOMP \
476	-DPOSIX_TYPES -DNDBM -DAN_TO_LN_RULES \
477	-DHAVE_STDLIB_H -DHAVE_STDARG_H -DHAVE_SYS_TYPES_H \
478	-DHAVE_NETINET_IN_H -DUSE_LOGIN_LIBRARY -DHAVE_SRAND48 \
479	-DHAVE_SRAND -DHAVE_SRANDOM -DHAVE_GETPID \
480	-DHAVE_ERRNO -DHAVE_STRFTIME -DHAVE_STRPTIME -DHAVE_STRERROR \
481	-DHAVE_STAT -DSIZEOF_INT=4 -DPROVIDE_KERNEL_IMPORT \
482	-DHAVE_STDINT_H -DPOSIX_SIGNALS -DHAVE_GETENV -DHAVE_SETENV \
483	-DHAVE_UNSETENV -DHAVE_FCHMOD -DHAVE_STRUCT_LIFCONF
484
485CPPFLAGS += -I$(REL_PATH)krb5/ccache/file $(OS_FLAGS)
486
487SOURCES= \
488	$(CRYPTO_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c)\
489	$(K5_OS_UTS:%.o=$(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c) \
490	$(K5_OS:%.o=$(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c) \
491	$(CRYPTO:%.o=$(SRC)/lib/gss_mechs/mech_krb5/crypto/%.c) \
492	$(CRYPTO_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c)\
493	$(CRYPTO_RAW:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c)\
494	$(CRYPTO_DES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/des/%.c)\
495	$(CRYPTO_DES_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c)\
496	$(CRYPTO_ARCFOUR:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/arcfour/%.c)\
497	$(CRYPTO_ARCFOUR_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c)\
498	$(CRYPTO_AES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/aes/%.c)\
499	$(CRYPTO_DK:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/dk/%.c)\
500	$(CRYPTO_DK_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c)\
501	$(CRYPTO_CRC32:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/crc32/%.c)\
502	$(CRYPTO_MD4:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/md4/%.c)\
503	$(CRYPTO_CRC32_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c)\
504	$(CRYPTO_ENC:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c)\
505	$(CRYPTO_HASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/hash_provider/%.c)\
506	$(CRYPTO_HASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c)\
507	$(CRYPTO_KEYHASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/keyhash_provider/%.c)\
508	$(CRYPTO_KEYHASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c)\
509	$(CRYPTO_OLD:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/old/%.c)\
510	$(CRYPTO_OLD_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c)\
511	$(ET:%.o= $(SRC)/lib/gss_mechs/mech_krb5/et/%.c) \
512	$(K5_ASN1:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/asn.1/%.c) \
513	$(K5_CC:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/ccache/%.c) \
514	$(K5_KT:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/keytab/%.c) \
515	$(K5_KRB:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/krb/%.c)\
516	$(K5_KRB_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c)\
517	$(K5_OS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c)\
518	$(K5_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c)\
519	$(K5_POSIX:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/posix/%.c)\
520	$(K5_RCACHE:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/rcache/%.c) \
521	$(MECH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c) \
522	$(MECH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c) \
523	$(PROFILE_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/profile/%.c) \
524	$(SUPPORT_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/support/%.c)
525
526# So lint.out won't be needlessly recreated
527lint: $(LINTOUT)
528
529$(LINTOUT): $(SOURCES)
530	$(LINT.c) -o $(LIBNAME) $(SOURCES) > $(LINTOUT) 2>&1
531
532