# SKIP Source Code License Statement:
# ------------------------------------------------------------------
#   Copyright
#   Sun Microsystems, Inc.
# 
# 
#   Copyright (C) 1994, 1995 Sun Microsystems, Inc.  All Rights
#   Reserved.
# 
#   Permission is hereby granted, free of charge, to any person
#   obtaining a copy of this software and associated documentation
#   files (the "Software"), to deal in the Software without
#   restriction, including without limitation the rights to use,
#   copy, modify, merge, publish, distribute, sublicense, and/or sell
#   copies of the Software or derivatives of the Software, and to 
#   permit persons to whom the Software or its derivatives is furnished 
#   to do so, subject to the following conditions:
# 
#   The above copyright notice and this permission notice shall be
#   included in all copies or substantial portions of the Software.
# 
#   The Software must not be transferred to persons who are not US
#   citizens or permanent residents of the US or exported outside
#   the US (except Canada) in any form (including by electronic
#   transmission) without prior written approval from the US
#   Government. Non-compliance with these restrictions constitutes
#   a violation of the U.S. Export Control Laws.
# 
#   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
#   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
#   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#   NONINFRINGEMENT.  IN NO EVENT SHALL SUN MICROSYSTEMS, INC., BE LIABLE
#   FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
#   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
#   CONNECTION WITH THE SOFTWARE OR DERIVATES OF THIS SOFTWARE OR 
#   THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# 
#   Except as contained in this notice, the name of Sun Microsystems, Inc.
#   shall not be used in advertising or otherwise to promote
#   the sale, use or other dealings in this Software or its derivatives 
#   without prior written authorization from Sun Microsystems, Inc.

# pragma ident "@(#)Makefile	1.11 96/01/12 Sun Microsystems"
#

include ../../Makefile.defs

HFILES		= dh_512_params.h dh_1024_params.h dh_2048_params.h

BNDIR		= ../../bnlib
BNLIB		= $(BNDIR)/$(U_DIR)/libbn.a
CERTLIB		= ../lib/$(U_DIR)/libcert.a

LIBS		= $(CERTLIB) $(BNLIB) $(CRYPTOLIB)

CERTINC		= -I../lib
BNINC		= -I$(BNDIR)

CRYPTO_DEFS	= -D$(CRYPTO) -D$(CLASS) $(CRYPTOINC) $(CERTINC) $(BNINC)
CFLAGS		=  $(OS) $(D_TEMPLATES) $(CRYPTO_DEFS) $(OPTIM) $(U_DEBUG)

SCC		= $(CC) $(OS) $(CRYPTO_DEFS) $(U_DEBUG)

.INIT:
	@[ -d $(U_DIR) ] || mkdir -p $(U_DIR)

all:	$(U_DIR)/dh_keygen $(U_DIR)/X509toHashCert	\
	$(U_DIR)/print_hashcert				\
	$(U_DIR)/test $(U_DIR)/test_dhkeyagree

clean:
	@$(RM) -rf $(U_DIR)
	@$(RM) -rf *.DB
	@-$(SCCSCLEAN)

cleanall:
	@-$(SCCSCLEAN)

# SOLARIS2 version

$(U_DIR)/dh_keygen.o: dh_keygen.C $(HFILES)
	$(C++) $(CFLAGS) -c dh_keygen.C -o $@

$(U_DIR)/dh_keygen: $(U_DIR)/dh_keygen.o $(LIBS)
	$(C++) $(CFLAGS) -o $@ $(U_DIR)/dh_keygen.o $(LIBS) $(CLASSLIB)

$(U_DIR)/X509toHashCert.o: X509toHashCert.C
	$(C++) $(CFLAGS) -c X509toHashCert.C -o $@	

$(U_DIR)/X509toHashCert: $(U_DIR)/X509toHashCert.o $(LIBS)
	$(C++) $(CFLAGS) -o $@ $(U_DIR)/X509toHashCert.o \
		$(LIBS) $(CLASSLIB)

$(U_DIR)/print_hashcert.o: print_hashcert.C $(HFILES)
	$(C++) $(CFLAGS) -c print_hashcert.C -o $@

$(U_DIR)/print_hashcert: $(U_DIR)/print_hashcert.o $(LIBS)
	$(C++) $(CFLAGS) -o $@ $(U_DIR)/print_hashcert.o $(LIBS) $(CLASSLIB)

# test target
$(U_DIR)/test.o: test.C
	$(C++) $(CFLAGS) -c test.C -o $@

$(U_DIR)/test: $(U_DIR)/test.o $(LIBS)
	$(C++) $(CFLAGS) -o $@ $(U_DIR)/test.o $(LIBS) $(CLASSLIB)

$(U_DIR)/test_dhkeyagree.o: test_dhkeyagree.C
	$(C++) $(CFLAGS) -c test_dhkeyagree.C -o $@

$(U_DIR)/test_dhkeyagree: $(U_DIR)/test_dhkeyagree.o $(LIBS)
	$(C++) $(CFLAGS) -o $@ $(U_DIR)/test_dhkeyagree.o $(LIBS) $(CLASSLIB)
