#
# OpenSSL/crypto/Makefile
#

DIR=		crypto
TOP=		..
CC=		cc
INCLUDE=	-I. -I$(TOP) -I../include $(ZLIB_INCLUDE)
# INCLUDES targets sudbirs!
INCLUDES=	-I.. -I../.. -I../asn1 -I../evp -I../../include $(ZLIB_INCLUDE)
CFLAG=		-g
MAKEDEPPROG=	makedepend
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
MAKEFILE=       Makefile
RM=             rm -f
AR=		ar r

RECURSIVE_MAKE=	[ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
		    (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
		    $(MAKE) -e TOP=../.. DIR=$$i INCLUDES='$(INCLUDES)' $$target ) || exit 1; \
		done;

PEX_LIBS=
EX_LIBS=
 
CFLAGS= $(INCLUDE) $(CFLAG)
ASFLAGS= $(INCLUDE) $(ASFLAG)
AFLAGS=$(ASFLAGS)
CPUID_OBJ=mem_clr.o

LIBS=

GENERAL=Makefile README crypto-lib.com install.com

LIB= $(TOP)/libcrypto.a
SHARED_LIB= libcrypto$(SHLIB_EXT)
LIBSRC=	cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c dllmain.c
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o dllmain.o $(CPUID_OBJ)

SRC= $(LIBSRC)

EXHEADER= crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
	ossl_typ.h
HEADER=	cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h $(EXHEADER)

ALL=    $(GENERAL) $(SRC) $(HEADER)

top:
	@(cd ..; $(MAKE) DIRS=$(DIR) all)

all: shared

buildinf.h: # for Mona comment out ../Makefile
	( echo "#ifndef MK1MF_BUILD"; \
	echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
	echo '  #define CFLAGS "$(CC) $(CFLAG)"'; \
	echo '  #define PLATFORM "$(PLATFORM)"'; \
	echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
	echo '#endif' ) >buildinf.h

x86cpuid.s:	x86cpuid.pl perlasm/x86asm.pl
	$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@

applink.o:	$(TOP)/ms/applink.c
	$(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/applink.c

uplink.o:	$(TOP)/ms/uplink.c applink.o
	$(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/uplink.c

uplink-cof.s:	$(TOP)/ms/uplink.pl
	$(PERL) $(TOP)/ms/uplink.pl coff > $@

x86_64cpuid.s: x86_64cpuid.pl
	$(PERL) x86_64cpuid.pl $(PERLASM_SCHEME) > $@
ia64cpuid.s: ia64cpuid.S
	$(CC) $(CFLAGS) -E ia64cpuid.S > $@
ppccpuid.s:	ppccpuid.pl;	$(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
alphacpuid.s:	alphacpuid.pl
	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null

testapps:
	[ -z "$(THIS)" ] || (	if echo $(SDIRS) | fgrep ' des '; \
				then cd des && $(MAKE) -e des; fi )
	[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) -e testapps );
	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi

subdirs:
	@target=all; $(RECURSIVE_MAKE)

files:
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
	@target=files; $(RECURSIVE_MAKE)

links:
	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
	@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
	@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
	@target=links; $(RECURSIVE_MAKE)

# lib: $(LIB): are splitted to avoid end-less loop
lib:	$(LIB)
	@touch lib
$(LIB):	$(LIBOBJ)
	$(AR) $(LIB) $(LIBOBJ)
	$(RANLIB) $(LIB) || echo Never mind.

CRYPTO.DLL: $(LIBOBJ)
	$(LD) -e _dllmain --export-all-symbols --out-implib libcrypto-imp.a -o $@ $(LIBOBJ) \
./bf/bf_ofb64.o \
./bf/bf_skey.o \
./bf/bf_ecb.o \
./bf/bf_cfb64.o \
./bf/bf-586.o \
./bn/bn_blind.o \
./bn/bn_rand.o \
./bn/bn_recp.o \
./bn/bn_sqrt.o \
./bn/bn_word.o \
./bn/bn_prime.o \
./bn/bn_print.o \
./bn/x86-mont.o \
./bn/bn_const.o \
./bn/bn_shift.o \
./bn/bn_add.o \
./bn/bn_div.o \
./bn/bn_ctx.o \
./bn/bn_err.o \
./bn/bn_gcd.o \
./bn/bn_exp.o \
./bn/bn_lib.o \
./bn/bn_mod.o \
./bn/bn_mpi.o \
./bn/bn_mul.o \
./bn/co-586.o \
./bn/bn_sqr.o \
./bn/bn-586.o \
./bn/bn_depr.o \
./bn/bn_gf2m.o \
./bn/bn_exp2.o \
./bn/bn_kron.o \
./bn/bn_mont.o \
./bn/bn_nist.o \
./dh/dh_pmeth.o \
./dh/dh_check.o \
./dh/dh_asn1.o \
./dh/dh_depr.o \
./dh/dh_err.o \
./dh/dh_gen.o \
./dh/dh_key.o \
./dh/dh_lib.o \
./dh/dh_prn.o \
./dh/dh_ameth.o \
./ec/ec2_mult.o \
./ec/ec2_smpl.o \
./ec/ec_mult.o \
./ec/ec_ameth.o \
./ec/ecp_mont.o \
./ec/ecp_nist.o \
./ec/ecp_smpl.o \
./ec/ec_pmeth.o \
./ec/ec_check.o \
./ec/ec_print.o \
./ec/eck_prn.o \
./ec/ec_cvt.o \
./ec/ec_err.o \
./ec/ec_key.o \
./ec/ec_lib.o \
./ec/ec_curve.o \
./ec/ec_asn1.o \
./ts/ts_rsp_utils.o \
./ts/ts_req_utils.o \
./ts/ts_err.o \
./ts/ts_lib.o \
./ts/ts_rsp_verify.o \
./ts/ts_asn1.o \
./ts/ts_conf.o \
./ts/ts_rsp_print.o \
./ts/ts_req_print.o \
./ts/ts_verify_ctx.o \
./ts/ts_rsp_sign.o \
./ui/ui_err.o \
./ui/ui_lib.o \
./ui/ui_openssl.o \
./ui/ui_compat.o \
./ui/ui_util.o \
./aes/aes-586.o \
./aes/aes_misc.o \
./aes/aes_wrap.o \
./aes/aes_cfb.o \
./aes/aes_ctr.o \
./aes/aes_ecb.o \
./aes/aes_ige.o \
./aes/aes_ofb.o \
./bio/bio_cb.o \
./bio/bf_buff.o \
./bio/bio_err.o \
./bio/bio_lib.o \
./bio/bf_nbio.o \
./bio/bf_null.o \
./bio/b_dump.o \
./bio/b_print.o \
./bio/bss_acpt.o \
./bio/bss_fd.o \
./bio/bss_conn.o \
./bio/bss_file.o \
./bio/b_sock.o \
./bio/bss_null.o \
./bio/bss_sock.o \
./bio/bss_bio.o \
./bio/bss_log.o \
./bio/bss_mem.o \
./bio/bss_dgram.o \
./cms/cms_cd.o \
./cms/cms_dd.o \
./cms/cms_io.o \
./cms/cms_sd.o \
./cms/cms_asn1.o \
./cms/cms_smime.o \
./cms/cms_att.o \
./cms/cms_enc.o \
./cms/cms_env.o \
./cms/cms_err.o \
./cms/cms_ess.o \
./cms/cms_lib.o \
./des/cfb_enc.o \
./des/des_old2.o \
./des/xcbc_enc.o \
./des/pcbc_enc.o \
./des/set_key.o \
./des/ecb_enc.o \
./des/cbc_cksm.o \
./des/ecb3_enc.o \
./des/str2key.o \
./des/qud_cksm.o \
./des/ofb64ede.o \
./des/ofb64enc.o \
./des/crypt586.o \
./des/cfb64ede.o \
./des/cfb64enc.o \
./des/des_old.o \
./des/fcrypt.o \
./des/des-586.o \
./des/cbc_enc.o \
./des/read2pwd.o \
./des/ede_cbcm_enc.o \
./des/ofb_enc.o \
./des/rpc_enc.o \
./des/rand_key.o \
./des/enc_read.o \
./des/enc_writ.o \
./dsa/dsa_asn1.o \
./dsa/dsa_depr.o \
./dsa/dsa_err.o \
./dsa/dsa_gen.o \
./dsa/dsa_key.o \
./dsa/dsa_lib.o \
./dsa/dsa_prn.o \
./dsa/dsa_vrf.o \
./dsa/dsa_ossl.o \
./dsa/dsa_sign.o \
./dsa/dsa_ameth.o \
./dsa/dsa_pmeth.o \
./dso/dso_openssl.o \
./dso/dso_dlfcn.o \
./dso/dso_err.o \
./dso/dso_lib.o \
./dso/dso_vms.o \
./dso/dso_beos.o \
./dso/dso_dl.o \
./dso/dso_null.o \
./dso/dso_win32.o \
./err/err.o \
./err/err_all.o \
./err/err_prn.o \
./evp/bio_md.o \
./evp/bio_ok.o \
./evp/p_open.o \
./evp/p_seal.o \
./evp/p_sign.o \
./evp/m_mdc2.o \
./evp/e_aes.o \
./evp/bio_b64.o \
./evp/digest.o \
./evp/e_des.o \
./evp/bio_enc.o \
./evp/e_old.o \
./evp/e_rc2.o \
./evp/e_rc4.o \
./evp/e_rc5.o \
./evp/m_null.o \
./evp/p5_crpt2.o \
./evp/evp_acnf.o \
./evp/m_sha1.o \
./evp/e_cast.o \
./evp/e_des3.o \
./evp/m_sigver.o \
./evp/pmeth_fn.o \
./evp/pmeth_gn.o \
./evp/e_idea.o \
./evp/e_xcbc_d.o \
./evp/m_dss.o \
./evp/e_camellia.o \
./evp/m_md2.o \
./evp/m_md4.o \
./evp/m_md5.o \
./evp/m_sha.o \
./evp/e_null.o \
./evp/evp_pkey.o \
./evp/encode.o \
./evp/e_seed.o \
./evp/p_verify.o \
./evp/names.o \
./evp/e_bf.o \
./evp/p5_crpt.o \
./evp/m_wp.o \
./evp/pmeth_lib.o \
./evp/p_dec.o \
./evp/p_enc.o \
./evp/p_lib.o \
./evp/m_ripemd.o \
./evp/c_all.o \
./evp/evp_enc.o \
./evp/evp_err.o \
./evp/evp_key.o \
./evp/evp_lib.o \
./evp/evp_pbe.o \
./evp/m_ecdsa.o \
./evp/c_allc.o \
./evp/c_alld.o \
./evp/m_dss1.o \
./md4/md4_dgst.o \
./md4/md4_one.o \
./md5/md5-586.o \
./md5/md5_dgst.o \
./md5/md5_one.o \
./pem/pvkfmt.o \
./pem/pem_info.o \
./pem/pem_all.o \
./pem/pem_err.o \
./pem/pem_lib.o \
./pem/pem_pk8.o \
./pem/pem_oth.o \
./pem/pem_pkey.o \
./pem/pem_seal.o \
./pem/pem_x509.o \
./pem/pem_sign.o \
./pem/pem_xaux.o \
./rc2/rc2_skey.o \
./rc2/rc2ofb64.o \
./rc2/rc2cfb64.o \
./rc2/rc2_cbc.o \
./rc2/rc2_ecb.o \
./rc4/rc4-586.o \
./sha/sha1-586.o \
./sha/sha_one.o \
./sha/sha512-586.o \
./sha/sha_dgst.o \
./sha/sha256-586.o \
./sha/sha256.o \
./sha/sha512.o \
./sha/sha1_one.o \
./sha/sha1dgst.o \
./rsa/rsa_pmeth.o \
./rsa/rsa_chk.o \
./rsa/rsa_eay.o \
./rsa/rsa_err.o \
./rsa/rsa_gen.o \
./rsa/rsa_lib.o \
./rsa/rsa_pk1.o \
./rsa/rsa_prn.o \
./rsa/rsa_pss.o \
./rsa/rsa_ssl.o \
./rsa/rsa_asn1.o \
./rsa/rsa_depr.o \
./rsa/rsa_oaep.o \
./rsa/rsa_none.o \
./rsa/rsa_ameth.o \
./rsa/rsa_null.o \
./rsa/rsa_saos.o \
./rsa/rsa_sign.o \
./rsa/rsa_x931.o \
./asn1/a_sign.o \
./asn1/a_time.o \
./asn1/i2d_pr.o \
./asn1/i2d_pu.o \
./asn1/a_type.o \
./asn1/a_utf8.o \
./asn1/t_x509a.o \
./asn1/a_i2d_fp.o \
./asn1/d2i_pr.o \
./asn1/d2i_pu.o \
./asn1/a_bitstr.o \
./asn1/evp_asn1.o \
./asn1/a_digest.o \
./asn1/a_d2i_fp.o \
./asn1/f_string.o \
./asn1/bio_asn1.o \
./asn1/a_mbstr.o \
./asn1/f_int.o \
./asn1/t_crl.o \
./asn1/t_req.o \
./asn1/asn_mime.o \
./asn1/asn_moid.o \
./asn1/x_x509a.o \
./asn1/asn_pack.o \
./asn1/a_strex.o \
./asn1/bio_ndef.o \
./asn1/a_gentm.o \
./asn1/t_pkey.o \
./asn1/asn1_err.o \
./asn1/asn1_gen.o \
./asn1/asn1_lib.o \
./asn1/asn1_par.o \
./asn1/t_x509.o \
./asn1/t_spki.o \
./asn1/p8_pkey.o \
./asn1/a_dup.o \
./asn1/a_int.o \
./asn1/x_exten.o \
./asn1/a_set.o \
./asn1/a_octet.o \
./asn1/a_verify.o \
./asn1/t_bitst.o \
./asn1/a_utctm.o \
./asn1/nsseq.o \
./asn1/p5_pbe.o \
./asn1/x_info.o \
./asn1/n_pkey.o \
./asn1/x_nx509.o \
./asn1/a_object.o \
./asn1/x_long.o \
./asn1/ameth_lib.o \
./asn1/x_name.o \
./asn1/x_algor.o \
./asn1/x_bignum.o \
./asn1/a_bool.o \
./asn1/p5_pbev2.o \
./asn1/x_pkey.o \
./asn1/f_enum.o \
./asn1/a_enum.o \
./asn1/x_x509.o \
./asn1/x_spki.o \
./asn1/x_crl.o \
./asn1/tasn_dec.o \
./asn1/a_print.o \
./asn1/tasn_enc.o \
./asn1/tasn_fre.o \
./asn1/x_req.o \
./asn1/x_sig.o \
./asn1/x_val.o \
./asn1/tasn_new.o \
./asn1/tasn_prn.o \
./asn1/tasn_typ.o \
./asn1/tasn_utl.o \
./asn1/x_pubkey.o \
./asn1/a_bytes.o \
./asn1/x_attrib.o \
./asn1/a_strnid.o \
./cast/c_skey.o \
./cast/c_ofb64.o \
./cast/cast-586.o \
./cast/c_ecb.o \
./cast/c_cfb64.o \
./comp/comp_err.o \
./comp/comp_lib.o \
./comp/c_zlib.o \
./comp/c_rle.o \
./conf/conf_mall.o \
./conf/conf_api.o \
./conf/conf_def.o \
./conf/conf_err.o \
./conf/conf_lib.o \
./conf/conf_mod.o \
./conf/conf_sap.o \
./ecdh/ech_err.o \
./ecdh/ech_key.o \
./ecdh/ech_lib.o \
./ecdh/ech_ossl.o \
./hmac/hmac.o \
./hmac/hm_ameth.o \
./hmac/hm_pmeth.o \
./idea/i_ofb64.o \
./idea/i_cfb64.o \
./idea/i_cbc.o \
./idea/i_ecb.o \
./idea/i_skey.o \
./krb5/krb5_asn.o \
./mdc2/mdc2_one.o \
./mdc2/mdc2dgst.o \
./ocsp/ocsp_err.o \
./ocsp/ocsp_ext.o \
./ocsp/ocsp_lib.o \
./ocsp/ocsp_prn.o \
./ocsp/ocsp_srv.o \
./ocsp/ocsp_vfy.o \
./ocsp/ocsp_cl.o \
./ocsp/ocsp_ht.o \
./ocsp/ocsp_asn.o \
./rand/md_rand.o \
./rand/rand_nw.o \
./rand/rand_unix.o \
./rand/rand_egd.o \
./rand/rand_err.o \
./rand/rand_lib.o \
./rand/rand_os2.o \
./rand/rand_win.o \
./rand/randfile.o \
./seed/seed_ecb.o \
./seed/seed_ofb.o \
./seed/seed.o \
./seed/seed_cbc.o \
./seed/seed_cfb.o \
./x509/by_dir.o \
./x509/x509_att.o \
./x509/x509_cmp.o \
./x509/x509_def.o \
./x509/x509_err.o \
./x509/x509_ext.o \
./x509/x509_r2x.o \
./x509/x509_obj.o \
./x509/x509_req.o \
./x509/x509_set.o \
./x509/x509_trs.o \
./x509/x509_txt.o \
./x509/x509_vfy.o \
./x509/x509_vpm.o \
./x509/by_file.o \
./x509/x509cset.o \
./x509/x509name.o \
./x509/x509_d2.o \
./x509/x509_lu.o \
./x509/x509_v3.o \
./x509/x509rset.o \
./x509/x509spki.o \
./x509/x509type.o \
./x509/x_all.o \
./ecdsa/ecs_asn1.o \
./ecdsa/ecs_ossl.o \
./ecdsa/ecs_sign.o \
./ecdsa/ecs_err.o \
./ecdsa/ecs_lib.o \
./ecdsa/ecs_vrf.o \
./lhash/lhash.o \
./lhash/lh_stats.o \
./modes/ofb128.o \
./modes/ctr128.o \
./modes/cts128.o \
./modes/cbc128.o \
./modes/cfb128.o \
./pkcs7/pkcs7err.o \
./pkcs7/bio_pk7.o \
./pkcs7/pk7_asn1.o \
./pkcs7/pk7_attr.o \
./pkcs7/pk7_lib.o \
./pkcs7/pk7_doit.o \
./pkcs7/pk7_mime.o \
./pkcs7/pk7_smime.o \
./stack/stack.o \
./camellia/cmll-x86.o \
./camellia/cmll_cfb.o \
./camellia/cmll_ctr.o \
./camellia/cmll_ecb.o \
./camellia/cmll_ofb.o \
./buffer/buf_err.o \
./buffer/buffer.o \
./engine/tb_ecdh.o \
./engine/tb_ecdsa.o \
./engine/eng_ctrl.o \
./engine/eng_table.o \
./engine/eng_init.o \
./engine/tb_rand.o \
./engine/eng_list.o \
./engine/eng_pkey.o \
./engine/tb_dh.o \
./engine/tb_store.o \
./engine/eng_openssl.o \
./engine/tb_cipher.o \
./engine/tb_pkmeth.o \
./engine/tb_dsa.o \
./engine/eng_all.o \
./engine/eng_cnf.o \
./engine/eng_fat.o \
./engine/eng_dyn.o \
./engine/eng_err.o \
./engine/eng_lib.o \
./engine/tb_rsa.o \
./engine/eng_cryptodev.o \
./engine/tb_asnmth.o \
./engine/tb_digest.o \
./whrlpool/wp_dgst.o \
./whrlpool/wp_block.o \
./whrlpool/wp-mmx.o \
./objects/o_names.o \
./objects/obj_dat.o \
./objects/obj_err.o \
./objects/obj_lib.o \
./objects/obj_xref.o \
./pkcs12/p12_decr.o \
./pkcs12/p12_crpt.o \
./pkcs12/p12_init.o \
./pkcs12/p12_kiss.o \
./pkcs12/p12_mutl.o \
./pkcs12/p12_npas.o \
./pkcs12/p12_add.o \
./pkcs12/p12_asn.o \
./pkcs12/p12_crt.o \
./pkcs12/p12_key.o \
./pkcs12/p12_p8d.o \
./pkcs12/p12_p8e.o \
./pkcs12/p12_utl.o \
./pkcs12/pk12err.o \
./pkcs12/p12_attr.o \
./ebcdic.o \
./pqueue/pqueue.o \
./ripemd/rmd_dgst.o \
./ripemd/rmd_one.o \
./ripemd/rmd-586.o \
./x509v3/v3_utl.o \
./x509v3/v3err.o \
./x509v3/pcy_lib.o \
./x509v3/pcy_map.o \
./x509v3/v3_akeya.o \
./x509v3/v3_bcons.o \
./x509v3/v3_pcons.o \
./x509v3/pcy_cache.o \
./x509v3/v3_bitst.o \
./x509v3/v3_pmaps.o \
./x509v3/v3_cpols.o \
./x509v3/pcy_data.o \
./x509v3/pcy_node.o \
./x509v3/pcy_tree.o \
./x509v3/v3_addr.o \
./x509v3/v3_akey.o \
./x509v3/v3_asid.o \
./x509v3/v3_conf.o \
./x509v3/v3_crld.o \
./x509v3/v3_enum.o \
./x509v3/v3_genn.o \
./x509v3/v3_info.o \
./x509v3/v3_extku.o \
./x509v3/v3_ncons.o \
./x509v3/v3_sxnet.o \
./x509v3/v3_ocsp.o \
./x509v3/v3_pcia.o \
./x509v3/v3_purp.o \
./x509v3/v3_skey.o \
./x509v3/v3_alt.o \
./x509v3/v3_ia5.o \
./x509v3/v3_int.o \
./x509v3/v3_lib.o \
./x509v3/v3_pci.o \
./x509v3/v3_pku.o \
./x509v3/v3_prn.o \
./txt_db/txt_db.o \
-L$(MONADIR)/lib -lmonapi-imp -lmonalibc-imp
	install -p -m 0644 libcrypto-imp.a $(MONADIR)/$(LIBDIR)

shared: buildinf.h lib subdirs CRYPTO.DLL
	if [ -n "$(SHARED_LIBS)" ]; then \
		(cd ..; $(MAKE) $(SHARED_LIB)); \
	fi

libs:
	@target=lib; $(RECURSIVE_MAKE)

install:
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
	@headerlist="$(EXHEADER)"; for i in $$headerlist ;\
	do \
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
	done;
	@target=install; $(RECURSIVE_MAKE)

install-mona:
	install -p -m 0644 CRYPTO.DLL $(BINDIR)/LIBS
	mkdir -p $(MONADIR)/include/openssl
	@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
	do  \
	(cp -pu $$i $(MONADIR)/include/openssl/$$i; \
	chmod 644 $(MONADIR)/include/openssl/$$i ); \
	done;
	@headerlist=`find -name "*.h"`; for i in $$headerlist ; \
	do  \
	(cd `dirname $$i` && cp -pu `basename $$i` $(MONADIR)/include/openssl/`basename $$i`; \
	chmod 644 $(MONADIR)/include/openssl/`basename $$i`); \
	done;


lint:
	@target=lint; $(RECURSIVE_MAKE)

depend:
	@[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
	@[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
	@[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
	@[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi

clean:
	rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff *.a *.DLL
	@target=clean; $(RECURSIVE_MAKE)

dclean:
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
	mv -f Makefile.new $(MAKEFILE)
	rm -f opensslconf.h
	@target=dclean; $(RECURSIVE_MAKE)

# DO NOT DELETE THIS LINE -- make depend depends on it.

cpt_err.o: ../include/openssl/bio.h ../include/openssl/crypto.h
cpt_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h
cpt_err.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
cpt_err.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
cpt_err.o: ../include/openssl/safestack.h ../include/openssl/stack.h
cpt_err.o: ../include/openssl/symhacks.h cpt_err.c
cryptlib.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
cryptlib.o: ../include/openssl/err.h ../include/openssl/lhash.h
cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
cryptlib.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
cryptlib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.c
cryptlib.o: cryptlib.h
cversion.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
cversion.o: ../include/openssl/err.h ../include/openssl/lhash.h
cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
cversion.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
cversion.o: ../include/openssl/stack.h ../include/openssl/symhacks.h buildinf.h
cversion.o: cryptlib.h cversion.c
ebcdic.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h ebcdic.c
ex_data.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
ex_data.o: ../include/openssl/err.h ../include/openssl/lhash.h
ex_data.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
ex_data.o: ex_data.c
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
mem.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
mem.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
mem.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
mem.o: mem.c
mem_clr.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
mem_clr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
mem_clr.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
mem_clr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h mem_clr.c
mem_dbg.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
mem_dbg.o: ../include/openssl/err.h ../include/openssl/lhash.h
mem_dbg.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
mem_dbg.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
mem_dbg.o: mem_dbg.c
o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
o_dir.o: LPdir_unix.c o_dir.c o_dir.h
o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
o_str.o: o_str.c o_str.h
o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
o_time.o: o_time.h
uid.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
uid.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
uid.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
uid.o: ../include/openssl/stack.h ../include/openssl/symhacks.h uid.c
