1# 2# Copyright 2006 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 old_api_glue.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= cc_file.o cc_memory.o ccbase.o ccfns.o ccdefault.o ccdefops.o ser_cc.o cc_retr.o cccopy.o 101 102# krb5/keytab 103K5_KT= ktadd.o ktbase.o ktdefault.o ktfr_entry.o \ 104 ktremove.o read_servi.o kt_file.o kt_srvtab.o ktfns.o 105 106K5_KRB= addr_comp.o addr_order.o addr_srch.o \ 107 auth_con.o bld_pr_ext.o bld_princ.o chk_trans.o \ 108 conv_princ.o copy_addrs.o copy_creds.o copy_data.o copy_tick.o \ 109 cp_key_cnt.o decode_kdc.o decrypt_tk.o encode_kdc.o encrypt_tk.o \ 110 free_rtree.o fwd_tgt.o gc_frm_kdc.o gc_via_tkt.o gen_seqnum.o \ 111 gen_subkey.o get_creds.o get_in_tkt.o kdc_rep_dc.o mk_cred.o \ 112 mk_error.o mk_priv.o mk_rep.o mk_req.o mk_req_ext.o mk_safe.o \ 113 pr_to_salt.o princ_comp.o privacy_allowed.o rd_cred.o \ 114 rd_error.o rd_priv.o rd_rep.o rd_req.o rd_req_dec.o rd_safe.o \ 115 recvauth.o send_tgs.o sendauth.o srv_rcache.o str_conv.o \ 116 tgtname.o valid_times.o walk_rtree.o appdefault.o deltat.o \ 117 enc_helper.o gic_keytab.o gic_opt.o gic_pwd.o preauth2.o \ 118 vfy_increds.o vic_opt.o set_realm.o krb5_libinit.o chpw.o \ 119 init_keyblock.o init_allocated_keyblock.o get_set_keyblock.o 120 121K5_KRB_UTS= copy_athctr.o copy_auth.o copy_cksum.o copy_key.o \ 122 copy_princ.o init_ctx.o kfree.o parse.o ser_actx.o \ 123 ser_adata.o ser_addr.o ser_auth.o \ 124 ser_cksum.o ser_ctx.o ser_key.o \ 125 ser_princ.o serialize.o unparse.o 126 127K5_OS= an_to_ln.o def_realm.o ccdefname.o free_krbhs.o free_hstrl.o \ 128 full_ipadr.o get_krbhst.o gen_port.o genaddrs.o gen_rname.o \ 129 gmt_mktime.o hostaddr.o hst_realm.o krbfileio.o \ 130 ktdefname.o kuserok.o mk_faddr.o localaddr.o locate_kdc.o lock_file.o \ 131 net_read.o net_write.o osconfig.o port2ip.o promptusr.o \ 132 read_msg.o read_pwd.o realm_dom.o sendto_kdc.o sn2princ.o \ 133 unlck_file.o ustime.o write_msg.o safechown.o \ 134 prompter.o realm_iter.o foreachaddr.o \ 135 dnsglue.o dnssrv.o thread_safe.o changepw.o 136 137K5_OS_UTS=init_os_ctx.o timeofday.o toffset.o c_ustime.o 138 139K5_POSIX= setenv.o daemon.o 140 141K5_RCACHE=rc_base.o rc_file.o rc_mem.o rc_common.o rc_io.o rcdef.o rc_conv.o \ 142 ser_rc.o rcfns.o 143 144MECH= accept_sec_context.o store_cred.o \ 145 add_cred.o disp_com_err_status.o disp_major_status.o \ 146 compare_name.o context_time.o copy_ccache.o \ 147 disp_name.o disp_status.o export_sec_context.o \ 148 get_tkt_flags.o import_name.o indicate_mechs.o \ 149 inq_context.o inq_cred.o inq_names.o \ 150 k5mech.o \ 151 pname_to_uid.o process_context_token.o \ 152 rel_buffer.o rel_oid.o rel_oid_set.o \ 153 rel_cred.o rel_name.o util_buffer.o \ 154 util_dup.o util_localhost.o \ 155 util_cksum.o acquire_cred.o init_sec_context.o \ 156 util_ctxsetup.o set_ccache.o acquire_cred_with_pw.o 157 158MECH_UTS= delete_sec_context.o gssapi_krb5.o \ 159 import_sec_context.o k5seal.o k5sealv3.o \ 160 k5unseal.o seal.o ser_sctx.o \ 161 sign.o unseal.o util_crypt.o \ 162 util_ordering.o util_seed.o util_seqnum.o \ 163 util_set.o util_token.o util_validate.o \ 164 val_cred.o verify.o wrap_size_limit.o 165 166PROFILE_OBJS= prof_tree.o prof_file.o prof_parse.o prof_init.o \ 167 prof_set.o prof_get.o 168 169SUPPORT_OBJS= fake-addrinfo.o threads.o 170 171OBJECTS= \ 172 $(MECH) $(MECH_UTS) \ 173 $(SUPPORT_OBJS) \ 174 $(PROFILE_OBJS) \ 175 $(CRYPTO) $(CRYPTO_UTS) \ 176 $(CRYPTO_CRC32) \ 177 $(CRYPTO_CRC32_UTS) \ 178 $(CRYPTO_DES) $(CRYPTO_DES_UTS) \ 179 $(CRYPTO_MD4) \ 180 $(CRYPTO_DK) $(CRYPTO_DK_UTS) \ 181 $(CRYPTO_ARCFOUR) $(CRYPTO_ARCFOUR_UTS) \ 182 $(CRYPTO_AES) \ 183 $(CRYPTO_ENC) \ 184 $(CRYPTO_HASH) $(CRYPTO_HASH_UTS) \ 185 $(CRYPTO_KEYHASH) $(CRYPTO_KEYHASH_UTS) \ 186 $(CRYPTO_OLD) $(CRYPTO_OLD_UTS) \ 187 $(CRYPTO_RAW) \ 188 $(ET) \ 189 $(K5_ASN1) \ 190 $(K5_CC) \ 191 $(K5_KT) \ 192 $(K5_KRB) $(K5_KRB_UTS) \ 193 $(K5_OS) $(K5_OS_UTS) \ 194 $(K5_POSIX) $(K5_RCACHE) 195 196# include library definitions 197include $(REL_PATH)/../../Makefile.lib 198 199# Must come after Makefile.lib so CPPFLAGS doesn't get overwritten 200include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5 201 202K5LIBLINK=$(LIBRARY:%.a=lib%.so) 203 204# override default text domain 205TEXT_DOMAIN= SUNW_OST_NETRPC 206INS.liblink2= -$(RM) $@; $(SYMLINK) gss/$(LIBLINKPATH)$(LIBLINKS) $@ 207 208CPPFLAGS += -I$(REL_PATH)/libgss -I../include \ 209 -I$(SRC)/uts/common/gssapi \ 210 -I$(SRC)/uts/common/gssapi/include \ 211 -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5 \ 212 -I../include/krb5 \ 213 -I../krb5/keytab \ 214 -I../krb5/krb \ 215 -I../krb5/os \ 216 -I../krb5/ccache \ 217 -I../krb5/rcache \ 218 -I$(SRC)/lib/krb5 \ 219 -I$(SRC)/lib/krb5/kadm5 \ 220 -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 221 -I$(SRC)/uts/common/gssapi/mechs/krb5/crypto/des 222 223# KRB5_DEFS can be assigned various preprocessor flags, typically -D 224# defines on the make invocation. These values will be appended to 225# CPPFLAGS so the other flags in CPPFLAGS will not be overwritten. 226 227CPPFLAGS += $(KRB5_DEFS) 228 229$(EXPORT_RELEASE_BUILD)include $(CLOSED)/lib/gss_mechs/mech_krb5/Makefile.export 230 231#CPPFLAGS += -D_REENTRANT 232$(PICS) := CFLAGS += $(XFFLAG) 233$(PICS) := CCFLAGS += $(XFFLAG) 234 235CLOBBERFILES += $(MAPFILE) 236DYNFLAGS += -M$(MAPFILE) 237 238LIBS = $(DYNLIB) $(K5LIBLINK) 239 240# override ROOTLIBDIR and ROOTLINKS 241ROOTLIBDIR= $(ROOT)/usr/lib/gss 242ROOTLIBDIR64= $(ROOT)/usr/lib/$(MACH64)/gss 243 244K5MECHLINK= $(K5LIBLINK:%=$(ROOT)/usr/lib/%) 245K5MECHLINK64= $(K5LIBLINK:%=$(ROOT)/usr/lib/$(MACH64)/%) 246 247ROOTLIBS= $(LIBS:%=$(ROOTLIBDIR)/%) $(K5MECHLINK) 248ROOTLIBS64= $(LIBS:%=$(ROOTLIBDIR64)/%) $(K5MECHLINK64) 249 250$(ROOTLIBDIR) $(ROOTLIBDIR64): 251 $(INS.dir) 252 253# create libmech_krb5 link locally 254$(K5LIBLINK): $(DYNLIB) 255 -$(RM) $@; $(SYMLINK) $(DYNLIB) $@ 256 257# create libmech_krb5 link in $ROOT/usr/lib/gss/ 258$(ROOTLIBDIR)/$(K5LIBLINK): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS) 259 $(INS.liblink) 260 261# create libmech_krb5 link in $ROOT/usr/lib/$(MACH64)/gss 262$(ROOTLIBDIR64)/$(K5LIBLINK): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS) 263 $(INS.liblink) 264 265# create libmech_krb5 link in ROOT/usr/lib 266$(K5MECHLINK): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS) 267 $(INS.liblink2) 268 269# create libmech_krb5 link in ROOT/usr/lib/$(MACH64) 270$(K5MECHLINK64): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS) 271 $(INS.liblink2) 272 273LDLIBS += -lgss -lsocket -lresolv -lc -lpkcs11 -lnsl 274# -z ignore causes linker to ignore unneeded dependencies. This is 275# needed because -lnsl is only used if DEBUG is defined. 276DYNFLAGS += $(ZIGNORE) 277 278# mech lib needs special initialization at load time 279DYNFLAGS += -zinitarray=krb5_ld_init 280 281objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c 282 $(COMPILE.c) -o $@ $< 283 $(POST_PROCESS_O) 284 285objs/%.o pics/%.o: $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c 286 $(COMPILE.c) -o $@ $< 287 $(POST_PROCESS_O) 288 289objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c 290 $(COMPILE.c) -o $@ $< 291 $(POST_PROCESS_O) 292 293objs/%.o pics/%.o: $(REL_PATH)/crypto/%.c 294 $(COMPILE.c) -o $@ $< 295 $(POST_PROCESS_O) 296 297objs/%.o pics/%.o: $(REL_PATH)/crypto/md4/%.c 298 $(COMPILE.c) -o $@ $< 299 $(POST_PROCESS_O) 300 301objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c 302 $(COMPILE.c) -o $@ $< 303 $(POST_PROCESS_O) 304 305objs/%.o pics/%.o: $(REL_PATH)/crypto/des/%.c 306 $(COMPILE.c) -o $@ $< 307 $(POST_PROCESS_O) 308 309objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c 310 $(COMPILE.c) -o $@ $< 311 $(POST_PROCESS_O) 312 313objs/%.o pics/%.o: $(REL_PATH)/crypto/arcfour/%.c 314 $(COMPILE.c) -o $@ $< 315 $(POST_PROCESS_O) 316 317objs/%.o pics/%.o: $(REL_PATH)/crypto/aes/%.c 318 $(COMPILE.c) -o $@ $< 319 $(POST_PROCESS_O) 320 321objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c 322 $(COMPILE.c) -o $@ $< 323 $(POST_PROCESS_O) 324 325objs/%.o pics/%.o: $(REL_PATH)/crypto/dk/%.c 326 $(COMPILE.c) -o $@ $< 327 $(POST_PROCESS_O) 328 329objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c 330 $(COMPILE.c) -o $@ $< 331 $(POST_PROCESS_O) 332 333objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c 334 $(COMPILE.c) -o $@ $< 335 $(POST_PROCESS_O) 336 337objs/%.o pics/%.o: $(REL_PATH)/crypto/crc32/%.c 338 $(COMPILE.c) -o $@ $< 339 $(POST_PROCESS_O) 340 341objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/sha1/%.c 342 $(COMPILE.c) -o $@ $< 343 $(POST_PROCESS_O) 344 345objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c 346 $(COMPILE.c) -o $@ $< 347 $(POST_PROCESS_O) 348 349objs/%.o pics/%.o: $(REL_PATH)/crypto/hash_provider/%.c 350 $(COMPILE.c) -o $@ $< 351 $(POST_PROCESS_O) 352 353objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c 354 $(COMPILE.c) -o $@ $< 355 $(POST_PROCESS_O) 356 357objs/%.o pics/%.o: $(REL_PATH)/crypto/keyhash_provider/%.c 358 $(COMPILE.c) -o $@ $< 359 $(POST_PROCESS_O) 360 361objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c 362 $(COMPILE.c) -o $@ $< 363 $(POST_PROCESS_O) 364 365objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c 366 $(COMPILE.c) -o $@ $< 367 $(POST_PROCESS_O) 368 369objs/%.o pics/%.o: $(REL_PATH)/crypto/old/%.c 370 $(COMPILE.c) -o $@ $< 371 $(POST_PROCESS_O) 372 373objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c 374 $(COMPILE.c) -o $@ $< 375 $(POST_PROCESS_O) 376 377objs/%.o pics/%.o: $(REL_PATH)/crypto/sha1/%.c 378 $(COMPILE.c) -o $@ $< 379 $(POST_PROCESS_O) 380 381objs/%.o pics/%.o: $(REL_PATH)/et/%.c 382 $(COMPILE.c) -o $@ $< 383 $(POST_PROCESS_O) 384 385objs/%.o pics/%.o: $(REL_PATH)/krb5/asn.1/%.c 386 $(COMPILE.c) -o $@ $< 387 $(POST_PROCESS_O) 388 389objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/%.c 390 $(COMPILE.c) -o $@ $< 391 $(POST_PROCESS_O) 392 393objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/file/%.c 394 $(COMPILE.c) -o $@ $< 395 $(POST_PROCESS_O) 396 397objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/stdio/%.c 398 $(COMPILE.c) -o $@ $< 399 $(POST_PROCESS_O) 400 401objs/%.o pics/%.o: $(REL_PATH)/krb5/ccache/memory/%.c 402 $(COMPILE.c) -o $@ $< 403 $(POST_PROCESS_O) 404 405objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/%.c 406 $(COMPILE.c) -o $@ $< 407 $(POST_PROCESS_O) 408 409objs/%.o pics/%.o: $(REL_PATH)/krb5/keytab/file/%.c 410 $(COMPILE.c) -o $@ $< 411 $(POST_PROCESS_O) 412 413objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c 414 $(COMPILE.c) -o $@ $< 415 $(POST_PROCESS_O) 416 417objs/%.o pics/%.o: $(REL_PATH)/krb5/krb/%.c 418 $(COMPILE.c) -o $@ $< 419 $(POST_PROCESS_O) 420 421objs/%.o pics/%.o: $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c 422 $(COMPILE.c) -o $@ $< 423 $(POST_PROCESS_O) 424 425objs/%.o pics/%.o: $(REL_PATH)/krb5/os/%.c 426 $(COMPILE.c) -o $@ $< 427 $(POST_PROCESS_O) 428 429objs/%.o pics/%.o: $(REL_PATH)/krb5/posix/%.c 430 $(COMPILE.c) -o $@ $< 431 $(POST_PROCESS_O) 432 433objs/%.o pics/%.o: $(REL_PATH)/krb5/rcache/%.c 434 $(COMPILE.c) -o $@ $< 435 $(POST_PROCESS_O) 436 437objs/%.o pics/%.o: $(REL_PATH)/profile/%.c 438 $(COMPILE.c) -o $@ $< 439 $(POST_PROCESS_O) 440 441objs/%.o pics/%.o: $(REL_PATH)/support/%.c 442 $(COMPILE.c) -o $@ $< 443 $(POST_PROCESS_O) 444 445$(DYNLIB): $(MAPFILE) 446 447$(MAPFILE): 448 @cd $(MAPDIR); $(MAKE) mapfile 449 450# include library targets 451include $(REL_PATH)/../../Makefile.targ 452# We need to include all CPPFLAGS for the files since we are using 453# the macro to expand and they are not aware of flags yet .. ugh.. 454 455OS_FLAGS = -DHAVE_LIBSOCKET -DHAVE_LIBNSL -DTIME_WITH_SYS_TIME \ 456 -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_REGEX_H \ 457 -DHAVE_REGEXP_H -DHAVE_RE_COMP -DHAVE_REGCOMP \ 458 -DPOSIX_TYPES -DNDBM -DAN_TO_LN_RULES \ 459 -DHAVE_STDLIB_H -DHAVE_STDARG_H -DHAVE_SYS_TYPES_H \ 460 -DHAVE_NETINET_IN_H -DUSE_LOGIN_LIBRARY -DHAVE_SRAND48 \ 461 -DHAVE_SRAND -DHAVE_SRANDOM -DHAVE_GETPID \ 462 -DHAVE_ERRNO -DHAVE_STRFTIME -DHAVE_STRPTIME -DHAVE_STRERROR \ 463 -DHAVE_STAT -DSIZEOF_INT=4 -DPROVIDE_KERNEL_IMPORT \ 464 -DHAVE_STDINT_H -DPOSIX_SIGNALS -DHAVE_GETENV -DHAVE_SETENV \ 465 -DHAVE_UNSETENV -DHAVE_FCHMOD -DHAVE_STRUCT_LIFCONF 466 467CPPFLAGS += -I$(REL_PATH)krb5/ccache/file $(OS_FLAGS) 468 469SOURCES= \ 470 $(CRYPTO_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/os/%.c)\ 471 $(K5_OS_UTS:%.o=$(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c) \ 472 $(K5_OS:%.o=$(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c) \ 473 $(CRYPTO:%.o=$(SRC)/lib/gss_mechs/mech_krb5/crypto/%.c) \ 474 $(CRYPTO_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/%.c)\ 475 $(CRYPTO_RAW:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/raw/%.c)\ 476 $(CRYPTO_DES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/des/%.c)\ 477 $(CRYPTO_DES_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/des/%.c)\ 478 $(CRYPTO_ARCFOUR:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/arcfour/%.c)\ 479 $(CRYPTO_ARCFOUR_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/arcfour/%.c)\ 480 $(CRYPTO_AES:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/aes/%.c)\ 481 $(CRYPTO_DK:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/dk/%.c)\ 482 $(CRYPTO_DK_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/dk/%.c)\ 483 $(CRYPTO_CRC32:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/crc32/%.c)\ 484 $(CRYPTO_MD4:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/md4/%.c)\ 485 $(CRYPTO_CRC32_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/crc32/%.c)\ 486 $(CRYPTO_ENC:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/enc_provider/%.c)\ 487 $(CRYPTO_HASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/hash_provider/%.c)\ 488 $(CRYPTO_HASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/hash_provider/%.c)\ 489 $(CRYPTO_KEYHASH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/keyhash_provider/%.c)\ 490 $(CRYPTO_KEYHASH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/keyhash_provider/%.c)\ 491 $(CRYPTO_OLD:%.o= $(SRC)/lib/gss_mechs/mech_krb5/crypto/old/%.c)\ 492 $(CRYPTO_OLD_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/crypto/old/%.c)\ 493 $(ET:%.o= $(SRC)/lib/gss_mechs/mech_krb5/et/%.c) \ 494 $(K5_ASN1:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/asn.1/%.c) \ 495 $(K5_CC:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/ccache/%.c) \ 496 $(K5_KT:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/keytab/%.c) \ 497 $(K5_KRB:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/krb/%.c)\ 498 $(K5_KRB_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/krb/%.c)\ 499 $(K5_OS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/os/%.c)\ 500 $(K5_OS_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/krb5/os/%.c)\ 501 $(K5_POSIX:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/posix/%.c)\ 502 $(K5_RCACHE:%.o= $(SRC)/lib/gss_mechs/mech_krb5/krb5/rcache/%.c) \ 503 $(MECH:%.o= $(SRC)/lib/gss_mechs/mech_krb5/mech/%.c) \ 504 $(MECH_UTS:%.o= $(SRC)/uts/common/gssapi/mechs/krb5/mech/%.c) \ 505 $(PROFILE_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/profile/%.c) \ 506 $(SUPPORT_OBJS:%.o= $(SRC)/lib/gss_mechs/mech_krb5/support/%.c) 507 508# So lint.out won't be needlessly recreated 509lint: $(LINTOUT) 510 511$(LINTOUT): $(SOURCES) 512 $(LINT.c) -o $(LIBNAME) $(SOURCES) > $(LINTOUT) 2>&1 513 514