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