8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / gss_mechs / mech_krb5 / Makefile.com
blob0d437868bf17509aed8c7854dd8ab050b785ac87
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
21 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
23 # This make file will build mech_krb5.so.1. This shared object
24 # contains all the functionality needed to support the Kereros V5 GSS-API
25 # mechanism. No other Kerberos libraries are needed.
28 LIBRARY= mech_krb5.a
29 VERS = .1
31 FILEMODE=       755
33 # objects are listed by source directory
34 REL_PATH= ../
36 to_all: all
38 # crypto
39 CRYPTO = cksumtype_to_string.o \
40         coll_proof_cksum.o enctype_compare.o enctype_to_string.o \
41         keyed_checksum_types.o keyed_cksum.o \
42         make_random_key.o string_to_cksumtype.o \
43         string_to_enctype.o string_to_key.o valid_cksumtype.o \
44         valid_enctype.o pkcs11slot.o state.o pbkdf2.o old_api_glue.o \
45         keylengths.o random_to_key.o
47 CRYPTO_UTS= cksumtypes.o decrypt.o encrypt.o encrypt_length.o \
48         etypes.o nfold.o verify_checksum.o default_state.o \
49         prng.o block_size.o make_checksum.o checksum_length.o hmac.o \
50         mandatory_sumtype.o combine_keys.o
52 # crypto/raw
53 CRYPTO_RAW= raw_decrypt.o raw_encrypt.o
55 # crypto/des user space only
56 CRYPTO_DES= afsstring2key.o string2key.o 
58 # crypto/des common to user and kernel space
59 CRYPTO_DES_UTS= f_cbc.o f_cksum.o f_parity.o weak_key.o d3_cbc.o 
61 # crypto/arcfour user space only
62 CRYPTO_ARCFOUR= arcfour_str2key.o
64 # crypto/aes user space only
65 CRYPTO_AES=     aes_s2k.o
67 # crypto/arcfour common to user and kernel space
68 CRYPTO_ARCFOUR_UTS = k5_arcfour.o
70 #crypto/dk
71 CRYPTO_DK= stringtokey.o
73 CRYPTO_DK_UTS= checksum.o derive.o dk_decrypt.o dk_encrypt.o
75 # crypto/crc32
76 CRYPTO_CRC32= crc.o
78 # crypto/crc32
79 CRYPTO_CRC32_UTS= crc32.o
81 # crypto/md4
82 CRYPTO_MD4= md4.o
84 # crypto/enc_provider
85 CRYPTO_ENC= des.o des3.o arcfour_provider.o aes_provider.o
87 # crypto/hash_provider
88 CRYPTO_HASH= hash_md5.o hash_sha1.o hash_ef_generic.o
89 CRYPTO_HASH_UTS= hash_crc32.o
91 # crypto/keyhash_provider
92 CRYPTO_KEYHASH= k5_md5des.o hmac_md5.o
93 CRYPTO_KEYHASH_UTS= descbc.o
95 # crypto/old
96 CRYPTO_OLD=  des_stringtokey.o 
98 # crypto/old
99 CRYPTO_OLD_UTS=  old_encrypt.o old_decrypt.o
101 # et error_tables
102 ET=     adb_err.o adm_err.o asn1_err.o chpass_util_strings.o error_message.o \
103         com_err.o gssapi_err_generic.o import_err.o \
104         gssapi_err_krb5.o kadm_err.o kdb5_err.o kpasswd_strings.o kdc5_err.o \
105         krb5_err.o kv5m_err.o prof_err.o pty_err.o ss_err.o
107 # krb5/asn.1
108 K5_ASN1= asn1_decode.o asn1_k_decode.o asn1_encode.o \
109         asn1_get.o asn1_make.o \
110         asn1buf.o krb5_decode.o krb5_encode.o \
111         asn1_k_encode.o asn1_misc.o ldap_key_seq.o
113 # krb5/ccache
114 K5_CC= cc_file.o cc_memory.o ccbase.o ccfns.o ccdefault.o ccdefops.o ser_cc.o cc_retr.o cccopy.o
116 # krb5/keytab
117 K5_KT=  ktadd.o ktbase.o ktdefault.o ktfr_entry.o \
118         ktremove.o read_servi.o kt_file.o kt_srvtab.o ktfns.o kt_findrealm.o \
119         kt_solaris.o
121 K5_KRB= addr_comp.o  addr_order.o  addr_srch.o \
122         auth_con.o  bld_pr_ext.o  bld_princ.o  chk_trans.o \
123         conv_princ.o  copy_addrs.o  copy_creds.o  copy_data.o  copy_tick.o \
124         cp_key_cnt.o  decode_kdc.o  decrypt_tk.o  encode_kdc.o  encrypt_tk.o \
125         free_rtree.o  fwd_tgt.o  gc_frm_kdc.o  gc_via_tkt.o  gen_seqnum.o \
126         gen_subkey.o  get_creds.o  get_in_tkt.o kdc_rep_dc.o  mk_cred.o  \
127         mk_error.o  mk_priv.o  mk_rep.o  mk_req.o  mk_req_ext.o  mk_safe.o \
128         pr_to_salt.o   princ_comp.o  privacy_allowed.o  rd_cred.o \
129         rd_error.o  rd_priv.o  rd_rep.o  rd_req.o  rd_req_dec.o  rd_safe.o \
130         recvauth.o  send_tgs.o  sendauth.o  srv_rcache.o  str_conv.o \
131         tgtname.o  valid_times.o  walk_rtree.o appdefault.o deltat.o \
132         enc_helper.o gic_keytab.o gic_opt.o gic_pwd.o preauth2.o \
133         preauth.o vfy_increds.o vic_opt.o set_realm.o krb5_libinit.o chpw.o \
134         init_keyblock.o init_allocated_keyblock.o get_set_keyblock.o kerrs.o \
135         getuid.o pac.o
137 K5_KRB_UTS= copy_athctr.o copy_auth.o copy_cksum.o copy_key.o \
138         copy_princ.o init_ctx.o kfree.o parse.o ser_actx.o \
139         ser_adata.o ser_addr.o ser_auth.o \
140         ser_cksum.o ser_ctx.o ser_key.o \
141         ser_princ.o serialize.o unparse.o
143 K5_OS=  an_to_ln.o def_realm.o ccdefname.o free_krbhs.o free_hstrl.o \
144         full_ipadr.o get_krbhst.o gen_port.o genaddrs.o gen_rname.o \
145         gmt_mktime.o hostaddr.o hst_realm.o krbfileio.o \
146         ktdefname.o kuserok.o mk_faddr.o localaddr.o locate_kdc.o lock_file.o \
147         net_read.o net_write.o osconfig.o port2ip.o promptusr.o \
148         read_msg.o read_pwd.o realm_dom.o sendto_kdc.o sn2princ.o \
149         unlck_file.o ustime.o write_msg.o safechown.o \
150         prompter.o realm_iter.o foreachaddr.o \
151         dnsglue.o dnssrv.o thread_safe.o changepw.o accessor.o
153 K5_OS_UTS=init_os_ctx.o timeofday.o toffset.o c_ustime.o
155 K5_POSIX= setenv.o
157 K5_RCACHE=rc_base.o rc_file.o rc_mem.o rc_common.o rc_io.o rcdef.o rc_conv.o \
158         ser_rc.o rcfns.o rc_none.o
160 MECH=   accept_sec_context.o store_cred.o \
161         add_cred.o disp_com_err_status.o  disp_major_status.o \
162         compare_name.o context_time.o copy_ccache.o \
163         disp_name.o disp_status.o export_sec_context.o \
164         get_tkt_flags.o import_name.o indicate_mechs.o \
165         inq_context.o inq_cred.o inq_names.o \
166         krb5_gss_glue.o \
167         pname_to_uid.o process_context_token.o \
168         rel_buffer.o rel_oid.o rel_oid_set.o \
169         rel_cred.o  rel_name.o util_buffer.o \
170         util_dup.o util_localhost.o \
171         util_cksum.o acquire_cred.o init_sec_context.o \
172         set_ccache.o acquire_cred_with_pw.o lucid_context.o \
173         set_allowable_enctypes.o oid_ops.o export_name.o gss_libinit.o \
174         util_buffer_set.o util_errmap.o
176 MECH_UTS= delete_sec_context.o gssapi_krb5.o \
177         import_sec_context.o k5seal.o k5sealv3.o \
178         k5unseal.o seal.o ser_sctx.o \
179         sign.o unseal.o util_crypt.o  \
180         util_ordering.o util_seed.o util_seqnum.o \
181         util_set.o  util_token.o util_validate.o \
182         val_cred.o verify.o wrap_size_limit.o
184 GSSAPI_UTS= gen_oids.o
186 PROFILE_OBJS= prof_tree.o prof_file.o prof_parse.o prof_init.o \
187         prof_set.o prof_get.o prof_solaris.o
189 SUPPORT_OBJS= fake-addrinfo.o init-addrinfo.o threads.o errors.o plugins.o \
190               utf8_conv.o utf8.o
192 KWARN_OBJS= kwarnd_clnt_stubs.o kwarnd_clnt.o kwarnd_handle.o kwarnd_xdr.o
194 OBJECTS= \
195         $(MECH) $(MECH_UTS) $(GSSAPI_UTS)\
196         $(SUPPORT_OBJS) \
197         $(KWARN_OBJS) \
198         $(PROFILE_OBJS) \
199         $(CRYPTO) $(CRYPTO_UTS) \
200         $(CRYPTO_CRC32) \
201         $(CRYPTO_CRC32_UTS) \
202         $(CRYPTO_DES) $(CRYPTO_DES_UTS) \
203         $(CRYPTO_MD4) \
204         $(CRYPTO_DK) $(CRYPTO_DK_UTS) \
205         $(CRYPTO_ARCFOUR) $(CRYPTO_ARCFOUR_UTS) \
206         $(CRYPTO_AES) \
207         $(CRYPTO_ENC) \
208         $(CRYPTO_HASH) $(CRYPTO_HASH_UTS) \
209         $(CRYPTO_KEYHASH) $(CRYPTO_KEYHASH_UTS) \
210         $(CRYPTO_OLD) $(CRYPTO_OLD_UTS) \
211         $(CRYPTO_RAW) \
212         $(ET) \
213         $(K5_ASN1) \
214         $(K5_CC) \
215         $(K5_KT) \
216         $(K5_KRB) $(K5_KRB_UTS) \
217         $(K5_OS) $(K5_OS_UTS) \
218         $(K5_POSIX) $(K5_RCACHE)
220 # include library definitions
221 include $(REL_PATH)/../../Makefile.lib
223 # Must come after Makefile.lib so CPPFLAGS doesn't get overwritten
224 include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
226 K5LIBLINK=$(LIBRARY:%.a=lib%.so)
228 # override default text domain
229 TEXT_DOMAIN= SUNW_OST_NETRPC
230 INS.liblink2=   -$(RM) $@; $(SYMLINK) gss/$(LIBLINKPATH)$(LIBLINKS) $@
232 CPPFLAGS += -I$(REL_PATH)/libgss -I../include  \
233                 -I$(SRC)/uts/common/gssapi \
234                 -I$(SRC)/uts/common/gssapi/include \
235                 -I$(SRC)/lib/gss_mechs/mech_krb5/mech \
236                 -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5 \
237                 -I../include/krb5 \
238                 -I../krb5/keytab \
239                 -I../krb5/krb \
240                 -I../krb5/os \
241                 -I../krb5/ccache \
242                 -I../krb5/rcache \
243                 -I$(SRC)/lib/krb5 \
244                 -I$(SRC)/lib/krb5/kadm5 \
245                 -I$(SRC)/uts/common/gssapi/mechs/krb5/include \
246                 -I$(SRC)/uts/common/gssapi/mechs/krb5/crypto/des
248 # KRB5_DEFS can be assigned various preprocessor flags, typically -D
249 # defines on the make invocation.  These values will be appended to
250 # CPPFLAGS so the other flags in CPPFLAGS will not be overwritten.
252 CPPFLAGS += $(KRB5_DEFS)
254 CERRWARN +=     -_gcc=-Wno-unused-function
255 CERRWARN +=     -_gcc=-Wno-type-limits
256 CERRWARN +=     -_gcc=-Wno-uninitialized
257 CERRWARN +=     -_gcc=-Wno-parentheses
258 CERRWARN +=     -_gcc=-Wno-unused-variable
259 CERRWARN +=     -_gcc=-Wno-unused-label
260 CERRWARN +=     -_gcc=-Wno-unused-value
261 CERRWARN +=     -_gcc=-Wno-empty-body
262 CERRWARN +=     -_gcc=-Wno-address
264 MAPFILES =      ../mapfile-vers
266 #CPPFLAGS +=    -D_REENTRANT
267 $(PICS) :=      CFLAGS += $(XFFLAG)
268 $(PICS) :=      CFLAGS64 += $(XFFLAG)
269 $(PICS) :=      CCFLAGS += $(XFFLAG)
270 $(PICS) :=      CCFLAGS64 += $(XFFLAG)
272 LIBS = $(DYNLIB) $(K5LIBLINK)
274 # override ROOTLIBDIR and ROOTLINKS
275 ROOTLIBDIR=     $(ROOT)/usr/lib/gss
276 ROOTLIBDIR64=   $(ROOT)/usr/lib/$(MACH64)/gss
278 K5MECHLINK=     $(K5LIBLINK:%=$(ROOT)/usr/lib/%)
279 K5MECHLINK64=   $(K5LIBLINK:%=$(ROOT)/usr/lib/$(MACH64)/%)
281 ROOTLIBS=       $(LIBS:%=$(ROOTLIBDIR)/%) $(K5MECHLINK)
282 ROOTLIBS64=     $(LIBS:%=$(ROOTLIBDIR64)/%) $(K5MECHLINK64)
284 $(ROOTLIBDIR) $(ROOTLIBDIR64):
285         $(INS.dir)
287 # create libmech_krb5 link locally
288 $(K5LIBLINK): $(DYNLIB)
289         -$(RM) $@; $(SYMLINK) $(DYNLIB) $@
291 # create libmech_krb5 link in $ROOT/usr/lib/gss/
292 $(ROOTLIBDIR)/$(K5LIBLINK):     $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
293         $(INS.liblink)
295 # create libmech_krb5 link in $ROOT/usr/lib/$(MACH64)/gss
296 $(ROOTLIBDIR64)/$(K5LIBLINK):   $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
297         $(INS.liblink)
299 # create libmech_krb5 link in ROOT/usr/lib
300 $(K5MECHLINK):  $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
301         $(INS.liblink2)
303 # create libmech_krb5 link in ROOT/usr/lib/$(MACH64)
304 $(K5MECHLINK64):        $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
305         $(INS.liblink2)
307 LDLIBS += -lgss -lsocket -lresolv -lc -lpkcs11 -lnsl -lkstat
308 # -z ignore causes linker to ignore unneeded dependencies.  This is
309 #  needed because -lnsl is only used if DEBUG is defined.
310 DYNFLAGS += $(ZIGNORE)
312 # mech lib needs special initialization at load time
313 DYNFLAGS += -zinitarray=krb5_ld_init
315 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/%.c
316         $(COMPILE.c)  -o $@ $<
317         $(POST_PROCESS_O)
319 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c
320         $(COMPILE.c)  -o $@ $<
321         $(POST_PROCESS_O)
323 objs/%.o pics/%.o: $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c
324         $(COMPILE.c)  -o $@ $<
325         $(POST_PROCESS_O)
327 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c
328         $(COMPILE.c)  -o $@ $<
329         $(POST_PROCESS_O)
331 objs/%.o pics/%.o: $(REL_PATH)/crypto/%.c
332         $(COMPILE.c)  -o $@ $<
333         $(POST_PROCESS_O)
335 objs/%.o pics/%.o: $(REL_PATH)/crypto/md4/%.c
336         $(COMPILE.c)  -o $@ $<
337         $(POST_PROCESS_O)
339 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c
340         $(COMPILE.c)  -o $@ $<
341         $(POST_PROCESS_O)
343 objs/%.o pics/%.o: $(REL_PATH)/crypto/des/%.c
344         $(COMPILE.c)  -o $@ $<
345         $(POST_PROCESS_O)
347 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c
348         $(COMPILE.c)  -o $@ $<
349         $(POST_PROCESS_O)
351 objs/%.o pics/%.o: $(REL_PATH)/crypto/arcfour/%.c
352         $(COMPILE.c)  -o $@ $<
353         $(POST_PROCESS_O)
355 objs/%.o pics/%.o: $(REL_PATH)/crypto/aes/%.c
356         $(COMPILE.c)  -o $@ $<
357         $(POST_PROCESS_O)
359 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c
360         $(COMPILE.c)  -o $@ $<
361         $(POST_PROCESS_O)
363 objs/%.o pics/%.o: $(REL_PATH)/crypto/dk/%.c
364         $(COMPILE.c)  -o $@ $<
365         $(POST_PROCESS_O)
367 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c
368         $(COMPILE.c)  -o $@ $<
369         $(POST_PROCESS_O)
371 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c
372         $(COMPILE.c)  -o $@ $<
373         $(POST_PROCESS_O)
375 objs/%.o pics/%.o: $(REL_PATH)/crypto/crc32/%.c
376         $(COMPILE.c)  -o $@ $<
377         $(POST_PROCESS_O)
379 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/sha1/%.c
380         $(COMPILE.c)  -o $@ $<
381         $(POST_PROCESS_O)
383 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c
384         $(COMPILE.c)  -o $@ $<
385         $(POST_PROCESS_O)
387 objs/%.o pics/%.o: $(REL_PATH)/crypto/hash_provider/%.c
388         $(COMPILE.c)  -o $@ $<
389         $(POST_PROCESS_O)
391 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c
392         $(COMPILE.c)  -o $@ $<
393         $(POST_PROCESS_O)
395 objs/%.o pics/%.o: $(REL_PATH)/crypto/keyhash_provider/%.c
396         $(COMPILE.c)  -o $@ $<
397         $(POST_PROCESS_O)
399 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c
400         $(COMPILE.c)  -o $@ $<
401         $(POST_PROCESS_O)
403 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c
404         $(COMPILE.c)  -o $@ $<
405         $(POST_PROCESS_O)
407 objs/%.o pics/%.o: $(REL_PATH)/crypto/old/%.c
408         $(COMPILE.c)  -o $@ $<
409         $(POST_PROCESS_O)
411 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c
412         $(COMPILE.c)  -o $@ $<
413         $(POST_PROCESS_O)
415 objs/%.o pics/%.o: $(REL_PATH)/crypto/sha1/%.c
416         $(COMPILE.c)  -o $@ $<
417         $(POST_PROCESS_O)
419 objs/%.o pics/%.o: $(REL_PATH)/et/%.c
420         $(COMPILE.c)  -o $@ $<
421         $(POST_PROCESS_O)
423 objs/%.o pics/%.o: $(REL_PATH)/krb5/asn.1/%.c
424         $(COMPILE.c)  -o $@ $<
425         $(POST_PROCESS_O)
427 objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/%.c
428         $(COMPILE.c)  -o $@ $<
429         $(POST_PROCESS_O)
431 objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/file/%.c
432         $(COMPILE.c)  -o $@ $<
433         $(POST_PROCESS_O)
435 objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/stdio/%.c
436         $(COMPILE.c)  -o $@ $<
437         $(POST_PROCESS_O)
439 objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/memory/%.c
440         $(COMPILE.c)  -o $@ $<
441         $(POST_PROCESS_O)
443 objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/%.c
444         $(COMPILE.c)  -o $@ $<
445         $(POST_PROCESS_O)
447 objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/file/%.c
448         $(COMPILE.c)  -o $@ $<
449         $(POST_PROCESS_O)
451 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c
452         $(COMPILE.c)  -o $@ $<
453         $(POST_PROCESS_O)
455 objs/%.o pics/%.o: $(REL_PATH)/krb5/krb/%.c
456         $(COMPILE.c)  -o $@ $<
457         $(POST_PROCESS_O)
459 objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c
460         $(COMPILE.c)  -o $@ $<
461         $(POST_PROCESS_O)
463 objs/%.o pics/%.o: $(REL_PATH)/krb5/os/%.c
464         $(COMPILE.c)  -o $@ $<
465         $(POST_PROCESS_O)
467 objs/%.o pics/%.o: $(REL_PATH)/krb5/posix/%.c
468         $(COMPILE.c)  -o $@ $<
469         $(POST_PROCESS_O)
471 objs/%.o pics/%.o: $(REL_PATH)/krb5/rcache/%.c
472         $(COMPILE.c)  -o $@ $<
473         $(POST_PROCESS_O)
475 objs/%.o pics/%.o: $(REL_PATH)/profile/%.c
476         $(COMPILE.c)  -o $@ $<
477         $(POST_PROCESS_O)
479 objs/%.o pics/%.o: $(REL_PATH)/support/%.c
480         $(COMPILE.c)  -o $@ $<
481         $(POST_PROCESS_O)
483 # include library targets
484 include $(REL_PATH)/../../Makefile.targ
485 # We need to include all CPPFLAGS for the files since we are using
486 # the macro to expand and they are not aware of flags yet .. ugh..
488 OS_FLAGS = -DHAVE_LIBSOCKET -DHAVE_LIBNSL -DTIME_WITH_SYS_TIME \
489         -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_REGEX_H \
490         -DHAVE_REGEXP_H -DHAVE_RE_COMP -DHAVE_REGCOMP \
491         -DPOSIX_TYPES -DNDBM \
492         -DHAVE_STDLIB_H -DHAVE_STDARG_H -DHAVE_SYS_TYPES_H \
493         -DHAVE_NETINET_IN_H -DHAVE_SRAND48 \
494         -DHAVE_SRAND -DHAVE_SRANDOM -DHAVE_GETPID \
495         -DHAVE_ERRNO -DHAVE_STRFTIME -DHAVE_STRPTIME -DHAVE_STRERROR \
496         -DHAVE_STAT -DSIZEOF_INT=4 -DPROVIDE_KERNEL_IMPORT \
497         -DHAVE_STDINT_H -DPOSIX_SIGNALS -DHAVE_GETENV -DHAVE_SETENV \
498         -DHAVE_UNSETENV -DHAVE_FCHMOD -DHAVE_STRUCT_LIFCONF \
499         -DHAVE_VASPRINTF -DHAVE_RES_NINIT -DHAVE_RES_NDESTROY \
500         -DHAVE_RES_NSEARCH
502 CPPFLAGS += -I$(REL_PATH)krb5/ccache/file $(OS_FLAGS)
504 SOURCES= \
505         $(CRYPTO_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c)\
506         $(K5_OS_UTS:%.o=$(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c) \
507         $(K5_OS:%.o=$(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c) \
508         $(CRYPTO:%.o=$(SRC)/lib/gss_mechs/mech_krb5/crypto/%.c) \
509         $(CRYPTO_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c)\
510         $(CRYPTO_RAW:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c)\
511         $(CRYPTO_DES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/des/%.c)\
512         $(CRYPTO_DES_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c)\
513         $(CRYPTO_ARCFOUR:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/arcfour/%.c)\
514         $(CRYPTO_ARCFOUR_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c)\
515         $(CRYPTO_AES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/aes/%.c)\
516         $(CRYPTO_DK:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/dk/%.c)\
517         $(CRYPTO_DK_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c)\
518         $(CRYPTO_CRC32:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/crc32/%.c)\
519         $(CRYPTO_MD4:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/md4/%.c)\
520         $(CRYPTO_CRC32_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c)\
521         $(CRYPTO_ENC:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c)\
522         $(CRYPTO_HASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/hash_provider/%.c)\
523         $(CRYPTO_HASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c)\
524         $(CRYPTO_KEYHASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/keyhash_provider/%.c)\
525         $(CRYPTO_KEYHASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c)\
526         $(CRYPTO_OLD:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/old/%.c)\
527         $(CRYPTO_OLD_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c)\
528         $(ET:%.o= $(SRC)/lib/gss_mechs/mech_krb5/et/%.c) \
529         $(K5_ASN1:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/asn.1/%.c) \
530         $(K5_CC:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/ccache/%.c) \
531         $(K5_KT:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/keytab/%.c) \
532         $(K5_KRB:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/krb/%.c)\
533         $(K5_KRB_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c)\
534         $(K5_OS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c)\
535         $(K5_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c)\
536         $(K5_POSIX:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/posix/%.c)\
537         $(K5_RCACHE:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/rcache/%.c) \
538         $(MECH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c) \
539         $(MECH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c) \
540         $(GSSAPI_UTS:%.o= $(SRC)/uts/common/gssapi/%.c) \
541         $(PROFILE_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/profile/%.c) \
542         $(SUPPORT_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/support/%.c)
544 kwarnd.h:       $(SRC)/cmd/krb5/kwarn/kwarnd.x
545         $(RM) $@
546         $(RPCGEN) -M -h $(SRC)/cmd/krb5/kwarn/kwarnd.x | \
547         $(SED) -e 's!$(SRC)/cmd/krb5/kwarn/kwarnd.h!kwarnd.h!' > $@
549 kwarnd_xdr.c:   kwarnd.h $(SRC)/cmd/krb5/kwarn/kwarnd.x
550         $(RM) $@
551         $(RPCGEN) -M -c $(SRC)/cmd/krb5/kwarn/kwarnd.x | \
552         $(SED) -e 's!$(SRC)/cmd/krb5/kwarn/kwarnd.h!kwarnd.h!' > $@
554 kwarnd_clnt.c:   kwarnd.h $(SRC)/cmd/krb5/kwarn/kwarnd.x
555         $(RM) $@
556         $(RPCGEN) -M -l $(SRC)/cmd/krb5/kwarn/kwarnd.x | \
557         $(SED) -e 's!$(SRC)/cmd/krb5/kwarn/kwarnd.h!kwarnd.h!' > $@
559 kwarnd_clnt_stubs.c: kwarnd.h $(SRC)/cmd/krb5/kwarn/kwarnd_clnt_stubs.c
560         $(RM) $@
561         $(CP) $(SRC)/cmd/krb5/kwarn/kwarnd_clnt_stubs.c $@
563 kwarnd_handle.c: $(SRC)/cmd/krb5/kwarn/kwarnd_handle.c
564         $(RM) $@
565         $(CP) $(SRC)/cmd/krb5/kwarn/kwarnd_handle.c $@
567 CLOBBERFILES += kwarnd.h \
568         kwarnd_clnt.c kwarnd_clnt_stubs.c kwarnd_handle.c kwarnd_xdr.c
570 # So lint.out won't be needlessly recreated
571 lint: $(LINTOUT)
573 $(LINTOUT): $(SOURCES)
574         $(LINT.c) -o $(LIBNAME) $(SOURCES) > $(LINTOUT) 2>&1