10Sstevel@tonic-gate# 20Sstevel@tonic-gate# CDDL HEADER START 30Sstevel@tonic-gate# 40Sstevel@tonic-gate# The contents of this file are subject to the terms of the 52139Sjp161948# Common Development and Distribution License (the "License"). 62139Sjp161948# You may not use this file except in compliance with the License. 70Sstevel@tonic-gate# 80Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate# See the License for the specific language governing permissions 110Sstevel@tonic-gate# and limitations under the License. 120Sstevel@tonic-gate# 130Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate# 190Sstevel@tonic-gate# CDDL HEADER END 200Sstevel@tonic-gate# 210Sstevel@tonic-gate# 22*9741SMark.Phalan@Sun.COM# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 230Sstevel@tonic-gate# Use is subject to license terms. 240Sstevel@tonic-gate# 250Sstevel@tonic-gate# See the README file in this directory for a description of how to cull 260Sstevel@tonic-gate# objects unused by the standalone boot applications from the OBJECTS list. 270Sstevel@tonic-gate# 280Sstevel@tonic-gate 290Sstevel@tonic-gateLIBRARY = libcrypto.a 302139Sjp161948 312139Sjp161948OBJECTS = cryptlib.o mem.o mem_dbg.o ex_data.o \ 322139Sjp161948 cpt_err.o o_time.o mem_clr.o o_dir.o \ 332139Sjp161948 \ 342139Sjp161948 a_object.o a_bitstr.o a_utctm.o a_gentm.o \ 352139Sjp161948 a_time.o a_int.o a_octet.o a_print.o \ 362139Sjp161948 a_type.o a_set.o a_dup.o a_d2i_fp.o \ 372139Sjp161948 a_i2d_fp.o a_enum.o a_utf8.o a_sign.o \ 382139Sjp161948 a_digest.o a_verify.o a_mbstr.o a_strex.o \ 392139Sjp161948 x_algor.o x_val.o x_pubkey.o x_sig.o \ 402139Sjp161948 x_req.o x_attrib.o x_bignum.o x_long.o \ 412139Sjp161948 x_name.o x_x509.o x_x509a.o x_crl.o \ 422139Sjp161948 x_info.o x_spki.o nsseq.o d2i_pu.o \ 432139Sjp161948 d2i_pr.o i2d_pu.o i2d_pr.o t_x509.o \ 442139Sjp161948 t_x509a.o t_pkey.o tasn_new.o tasn_fre.o \ 452139Sjp161948 tasn_enc.o tasn_dec.o tasn_utl.o tasn_typ.o \ 462139Sjp161948 f_int.o f_string.o x_pkey.o a_bool.o \ 472139Sjp161948 x_exten.o asn1_par.o asn1_lib.o asn1_err.o \ 482139Sjp161948 a_bytes.o a_strnid.o evp_asn1.o asn_pack.o \ 492139Sjp161948 p5_pbe.o p5_pbev2.o p8_pkey.o asn1_gen.o \ 502139Sjp161948 \ 512139Sjp161948 bf_skey.o bf_ecb.o bf_cfb64.o bf_ofb64.o \ 522139Sjp161948 bf_enc.o \ 532139Sjp161948 \ 542139Sjp161948 bio_lib.o bio_err.o bss_file.o bss_sock.o \ 552139Sjp161948 bf_buff.o b_print.o b_dump.o \ 562139Sjp161948 \ 572139Sjp161948 bn_add.o bn_div.o bn_exp.o bn_lib.o \ 582139Sjp161948 bn_ctx.o bn_mul.o bn_mod.o bn_print.o \ 592139Sjp161948 bn_rand.o bn_shift.o bn_word.o bn_blind.o \ 602139Sjp161948 bn_gcd.o bn_prime.o bn_asm.o bn_mont.o \ 612139Sjp161948 bn_err.o bn_sqr.o bn_recp.o bn_exp2.o \ 622139Sjp161948 \ 632139Sjp161948 buffer.o buf_err.o \ 642139Sjp161948 \ 652139Sjp161948 comp_lib.o \ 662139Sjp161948 \ 672139Sjp161948 conf_err.o conf_lib.o conf_api.o conf_def.o \ 682139Sjp161948 conf_mod.o \ 692139Sjp161948 \ 702139Sjp161948 set_key.o ecb_enc.o ecb3_enc.o ofb64enc.o \ 712139Sjp161948 cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o \ 722139Sjp161948 \ 732139Sjp161948 xcbc_enc.o des_enc.o \ 742139Sjp161948 \ 752139Sjp161948 dh_asn1.o dh_key.o dh_lib.o dh_check.o \ 762139Sjp161948 dh_err.o \ 772139Sjp161948 \ 782139Sjp161948 dsa_vrf.o dsa_sign.o dsa_err.o dsa_ossl.o \ 792139Sjp161948 dsa_lib.o dsa_asn1.o \ 802139Sjp161948 \ 812139Sjp161948 dso_lib.o dso_null.o dso_openssl.o \ 822139Sjp161948 \ 832139Sjp161948 err.o err_all.o err_prn.o \ 842139Sjp161948 \ 852139Sjp161948 c_all.o c_allc.o c_alld.o digest.o \ 862139Sjp161948 e_des3.o e_null.o e_rc2.o e_xcbc_d.o \ 872139Sjp161948 e_bf.o e_des.o encode.o evp_enc.o \ 882139Sjp161948 evp_err.o evp_key.o evp_lib.o evp_pbe.o \ 892139Sjp161948 evp_pkey.o m_dss.o m_dss1.o m_md5.o \ 902139Sjp161948 m_sha.o m_sha1.o names.o p5_crpt.o \ 912139Sjp161948 p5_crpt2.o p_lib.o p_sign.o p_verify.o \ 922139Sjp161948 \ 932139Sjp161948 eng_list.o eng_ctrl.o eng_table.o tb_cipher.o \ 942139Sjp161948 eng_err.o tb_dh.o tb_digest.o eng_init.o \ 952139Sjp161948 tb_dsa.o eng_lib.o tb_rand.o tb_rsa.o \ 962139Sjp161948 \ 972139Sjp161948 hmac.o \ 982139Sjp161948 \ 992139Sjp161948 lhash.o \ 1002139Sjp161948 \ 1012139Sjp161948 md5_dgst.o md5-sparcv9.o \ 1022139Sjp161948 \ 1032139Sjp161948 o_names.o obj_dat.o obj_err.o obj_lib.o \ 1042139Sjp161948 \ 1052139Sjp161948 ocsp_asn.o ocsp_err.o \ 1062139Sjp161948 \ 1072139Sjp161948 pem_info.o pem_lib.o pem_all.o pem_err.o \ 1082139Sjp161948 pem_x509.o pem_xaux.o pem_oth.o pem_pkey.o \ 1092139Sjp161948 \ 1102139Sjp161948 p12_add.o p12_asn.o p12_crpt.o p12_key.o \ 1112139Sjp161948 p12_mutl.o p12_utl.o pk12err.o p12_p8d.o \ 1122139Sjp161948 p12_attr.o p12_decr.o p12_p8e.o \ 1132139Sjp161948 \ 1142139Sjp161948 pk7_asn1.o pk7_lib.o pkcs7err.o \ 1152139Sjp161948 \ 1162139Sjp161948 md_rand.o randfile.o rand_lib.o rand_err.o \ 1172139Sjp161948 rand_unix.o \ 1182139Sjp161948 \ 1192139Sjp161948 rc2_cbc.o rc2_ecb.o rc2_skey.o rc2cfb64.o \ 1202139Sjp161948 rc2ofb64.o \ 1212139Sjp161948 \ 1222139Sjp161948 rsa_eay.o rsa_lib.o rsa_sign.o rsa_err.o \ 1232139Sjp161948 rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o \ 1242139Sjp161948 rsa_asn1.o rsa_x931.o \ 1252139Sjp161948 \ 1262139Sjp161948 sha_dgst.o sha1dgst.o sha256.o sha512.o \ 1272139Sjp161948 \ 1282139Sjp161948 stack.o \ 1292139Sjp161948 \ 1302139Sjp161948 ui_err.o \ 1312139Sjp161948 \ 1322139Sjp161948 x509_def.o x509_d2.o x509_cmp.o x509_obj.o \ 1332139Sjp161948 x509_req.o x509_vfy.o x509rset.o x509_err.o \ 1342139Sjp161948 x509name.o x509_v3.o x509_ext.o x509_att.o \ 1352139Sjp161948 x509type.o x509_lu.o x_all.o x509_txt.o \ 1362139Sjp161948 x509_trs.o by_file.o by_dir.o x509_vpm.o \ 1372139Sjp161948 \ 1382139Sjp161948 v3_ia5.o v3_lib.o v3_prn.o v3_utl.o \ 1392139Sjp161948 v3_pku.o v3_int.o v3_enum.o v3err.o \ 1402139Sjp161948 v3_alt.o v3_genn.o v3_pci.o v3_pcia.o \ 1412139Sjp161948 v3_purp.o v3_info.o v3_ocsp.o v3_bitst.o \ 1422139Sjp161948 v3_conf.o v3_extku.o v3_cpols.o v3_crld.o \ 1432139Sjp161948 v3_akey.o v3_akeya.o v3_skey.o v3_sxnet.o \ 1442139Sjp161948 v3_ncons.o v3_bcons.o v3_pcons.o v3_pmaps.o \ 1452139Sjp161948 \ 1462139Sjp161948 pcy_cache.o pcy_tree.o pcy_data.o pcy_lib.o \ 1472139Sjp161948 pcy_map.o pcy_node.o \ 1482139Sjp161948 \ 1490Sstevel@tonic-gate $($(MACH)_OBJECTS) 1500Sstevel@tonic-gate 1512139Sjp161948 1520Sstevel@tonic-gateinclude ../Makefile.com 1530Sstevel@tonic-gate 1540Sstevel@tonic-gateSRCDIR = $(TOPDIR)/common/openssl/crypto 1550Sstevel@tonic-gate 1560Sstevel@tonic-gateSRCS = $(OBJECTS:%.o= \ 1570Sstevel@tonic-gate $(SRCDIR)/asn1/%.c $(SRCDIR)/rc2/%.c \ 1580Sstevel@tonic-gate $(SRCDIR)/bf/%.c $(SRCDIR)/dsa/%.c \ 1590Sstevel@tonic-gate $(SRCDIR)/bio/%.c $(SRCDIR)/bn/%.c \ 1600Sstevel@tonic-gate $(SRCDIR)/buffer/%.c \ 1610Sstevel@tonic-gate $(SRCDIR)/comp/%.c $(SRCDIR)/conf/%.c \ 1620Sstevel@tonic-gate $(SRCDIR)/des/%.c $(SRCDIR)/dh/%.c \ 1630Sstevel@tonic-gate $(SRCDIR)/err/%.c $(SRCDIR)/evp/%.c \ 1640Sstevel@tonic-gate $(SRCDIR)/engine/%.c $(SRCDIR)/hmac/%.c \ 1650Sstevel@tonic-gate $(SRCDIR)/lhash/%.c $(SRCDIR)/ocsp/%.c \ 1660Sstevel@tonic-gate $(SRCDIR)/objects/%.c $(SRCDIR)/pem/%.c \ 1670Sstevel@tonic-gate $(SRCDIR)/pkcs12/%.c $(SRCDIR)/pkcs7/%.c \ 1680Sstevel@tonic-gate $(SRCDIR)/rand/%.c $(SRCDIR)/rsa/%.c \ 1690Sstevel@tonic-gate $(SRCDIR)/sha/%.c $(SRCDIR)/stack/%.c \ 1700Sstevel@tonic-gate $(SRCDIR)/txt_db/%.c $(SRCDIR)/ui/%.c \ 1710Sstevel@tonic-gate $(SRCDIR)/x509/%.c $(SRCDIR)/x509v3/%.c \ 1720Sstevel@tonic-gate $(SRCDIR)/md5/%.c) 1730Sstevel@tonic-gate 1740Sstevel@tonic-gate# 1750Sstevel@tonic-gate# We don't have chmod() in the standalone environment. 1760Sstevel@tonic-gate# We also need to prepend the OpenSSL CPPFLAGS. 1770Sstevel@tonic-gate# 1780Sstevel@tonic-gateCPPFLAGS += $(OPENSSL_BUILD_CPPFLAGS) -DNO_CHMOD -I../sock 1790Sstevel@tonic-gate 1800Sstevel@tonic-gate# The following blocks work around code in the OpenSSL open source distribution 1810Sstevel@tonic-gate# that fail to follow Sun coding standards and fail to compile without warnings. 1820Sstevel@tonic-gate# Instead of changing the shared openssl code, we supress compiler warnings for 1830Sstevel@tonic-gate# them. 1840Sstevel@tonic-gateCRYPTO_OBS = \ 1850Sstevel@tonic-gate a_strex.o asn1_par.o bf_enc.o x_algor.o x_val.o x_pubkey.o \ 1860Sstevel@tonic-gate x_sig.o x_req.o x_attrib.o x_name.o x_x509.o x_x509a.o \ 1870Sstevel@tonic-gate x_crl.o x_spki.o nsseq.o x_exten.o p5_pbe.o \ 1880Sstevel@tonic-gate p5_pbev2.o p8_pkey.o dsa_asn1.o dh_asn1.o p12_asn.o pk7_asn1.o \ 1890Sstevel@tonic-gate rsa_asn1.o v3_bcons.o v3_extku.o v3_genn.o v3_pku.o v3_sxnet.o \ 1900Sstevel@tonic-gate v3_cpols.o v3_crld.o v3_info.o v3_akeya.o ocsp_asn.o 1910Sstevel@tonic-gate 1920Sstevel@tonic-gate$(CRYPTO_OBS:%.o=objs/%.o) := CPPFLAGS += \ 1930Sstevel@tonic-gate -erroff=E_TYP_STORAGE_CLASS_OBSOLESCENT 1940Sstevel@tonic-gate 1950Sstevel@tonic-gate# Rather than change the shared openssl code, we permit incomplete 1960Sstevel@tonic-gate# type-based arguments 1970Sstevel@tonic-gateCRYPTO_INCOM = \ 1980Sstevel@tonic-gate err_all.o 1990Sstevel@tonic-gate 2000Sstevel@tonic-gate$(CRYPTO_INCOM:%.o=objs/%.o) := CPPFLAGS += \ 2010Sstevel@tonic-gate -erroff=E_ARRAY_OF_INCOMPLETE_NONAME 2020Sstevel@tonic-gate 2030Sstevel@tonic-gate# M_ASN1_I2D_finish(), M_ASN1_D2I_Finish() macros confuse compiler 2040Sstevel@tonic-gateCRYPTO_FIN_OBJ = \ 2050Sstevel@tonic-gate p8_key.o x_cinf.o x_pkey.o x509_vfy.o 2060Sstevel@tonic-gate 2070Sstevel@tonic-gate$(CRYPTO_FIN_OBJ:%.o=objs/%.o) := CPPFLAGS += \ 2080Sstevel@tonic-gate -erroff=E_STATEMENT_NOT_REACHED 2090Sstevel@tonic-gate 2100Sstevel@tonic-gateCRYPTO_ULONG_OBJ = \ 2110Sstevel@tonic-gate a_int.o a_enum.o a_strex.o a_strnid.o \ 2120Sstevel@tonic-gate bf_skey.o bf_enc.o bss_sock.o bn_add.o \ 2130Sstevel@tonic-gate bn_div.o bn_lib.o bn_shift.o bn_word.o \ 2140Sstevel@tonic-gate bn_mul.o bn_asm.o bn_mont.o bn_sqr.o \ 2150Sstevel@tonic-gate set_key.o ecb_enc.o des_enc.o lhash.o \ 2160Sstevel@tonic-gate sha1dgst.o sha_dgst.o x509_cmp.o 2170Sstevel@tonic-gate 2180Sstevel@tonic-gate$(CRYPTO_ULONG_OBJ:%.o=objs/%.o) := CPPFLAGS += \ 2190Sstevel@tonic-gate -erroff=E_CONST_PROMOTED_UNSIGNED_LONG 2200Sstevel@tonic-gate 2210Sstevel@tonic-gateobjs/md5_dgst.o := CPPFLAGS += -DMD5_ASM 2220Sstevel@tonic-gateobjs/md5-sparcv9.o := CPPFLAGS += -DMD5_BLOCK_DATA_ORDER 2230Sstevel@tonic-gate 2240Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/asn1/%.c 2250Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2260Sstevel@tonic-gate $(POST_PROCESS_O) 2270Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/bf/%.c 2280Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2290Sstevel@tonic-gate $(POST_PROCESS_O) 2300Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/dsa/%.c 2310Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2320Sstevel@tonic-gate $(POST_PROCESS_O) 2332139Sjp161948objs/%.o: $(SRCDIR)/dso/%.c 2342139Sjp161948 $(COMPILE.c) -o $@ $< 2352139Sjp161948 $(POST_PROCESS_O) 2360Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/bio/%.c 2370Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2380Sstevel@tonic-gate $(POST_PROCESS_O) 2390Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/bn/%.c 2400Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2410Sstevel@tonic-gate $(POST_PROCESS_O) 2420Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/buffer/%.c 2430Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2440Sstevel@tonic-gate $(POST_PROCESS_O) 2450Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/comp/%.c 2460Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2470Sstevel@tonic-gate $(POST_PROCESS_O) 2480Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/conf/%.c 2490Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2500Sstevel@tonic-gate $(POST_PROCESS_O) 2510Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/des/%.c 2520Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2530Sstevel@tonic-gate $(POST_PROCESS_O) 2540Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/dh/%.c 2550Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2560Sstevel@tonic-gate $(POST_PROCESS_O) 2570Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/err/%.c 2580Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2590Sstevel@tonic-gate $(POST_PROCESS_O) 2600Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/engine/%.c 2610Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2620Sstevel@tonic-gate $(POST_PROCESS_O) 2630Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/evp/%.c 2640Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2650Sstevel@tonic-gate $(POST_PROCESS_O) 2660Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/hmac/%.c 2670Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2680Sstevel@tonic-gate $(POST_PROCESS_O) 2690Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/lhash/%.c 2700Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2710Sstevel@tonic-gate $(POST_PROCESS_O) 2720Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/objects/%.c 2730Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2740Sstevel@tonic-gate $(POST_PROCESS_O) 2750Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/ocsp/%.c 2760Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2770Sstevel@tonic-gate $(POST_PROCESS_O) 2780Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/pem/%.c 2790Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2800Sstevel@tonic-gate $(POST_PROCESS_O) 2810Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/pkcs12/%.c 2820Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2830Sstevel@tonic-gate $(POST_PROCESS_O) 2840Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/pkcs7/%.c 2850Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2860Sstevel@tonic-gate $(POST_PROCESS_O) 2870Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/rand/%.c 2880Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2890Sstevel@tonic-gate $(POST_PROCESS_O) 2900Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/rc2/%.c 2910Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2920Sstevel@tonic-gate $(POST_PROCESS_O) 2930Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/rsa/%.c 2940Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2950Sstevel@tonic-gate $(POST_PROCESS_O) 2960Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/md5/%.c 2970Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2980Sstevel@tonic-gate $(POST_PROCESS_O) 2990Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/md5/asm/%.S 3000Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3010Sstevel@tonic-gate $(POST_PROCESS_O) 3020Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/sha/%.c 3030Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3040Sstevel@tonic-gate $(POST_PROCESS_O) 3050Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/stack/%.c 3060Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3070Sstevel@tonic-gate $(POST_PROCESS_O) 3080Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/txt_db/%.c 3090Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3100Sstevel@tonic-gate $(POST_PROCESS_O) 3110Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/ui/%.c 3120Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3130Sstevel@tonic-gate $(POST_PROCESS_O) 3140Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/x509/%.c 3150Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3160Sstevel@tonic-gate $(POST_PROCESS_O) 3170Sstevel@tonic-gateobjs/%.o: $(SRCDIR)/x509v3/%.c 3180Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 3190Sstevel@tonic-gate $(POST_PROCESS_O) 3200Sstevel@tonic-gate 3210Sstevel@tonic-gateinclude ../Makefile.targ 322