#
# Eric - I've made "TOP" a symbolic so I can build ssl outside of the
#      normal area ... i.e. orb:/usr/local/src/st/tjh/SRA/lib/ssl 
#      - I've added in ssl_trc.[ch]
#

CC=cc 
INCLUDES=-I../md -I../des -I../rc4 -I../lhash -I../rsa -I../idea
CFLAGS=	$(INCLUDES) $(CFLAG)

#TOP=/home/eay/lib
#INSTALLTOP=/usr/local
EX_LIBS= -L.. -lefence -lsocket -lnsl

TOP=..
INSTALLTOP=/usr/local/ssl

INCLUDES=-I$(TOP)/md -I$(TOP)/des -I$(TOP)/rc4 -I$(TOP)/lhash -I$(TOP)/rsa -I$(TOP)/idea

LIB=	libssl.a

LIBS=	-L$(TOP) -L$(TOP)/des -lcrypto -ldes $(EX_LIBS)


LIBDIR=/usr/local/lib
BINDIR=/usr/local/bin
INCDIR=/usr/local/include
MANDIR=/usr/local/man
MAN1=1
MAN3=3
SHELL=/bin/sh

SERVER=	ssl_server
CLIENT=	ssl_client
FILTER= ssl_filter
EXE=	$(CLIENT) $(SERVER) $(FILTER)

OBJS=	ssl.o ssl_clnt.o ssl_srvr.o ssl_pkt.o ssl_des.o ssl_md5.o \
	ssl_null.o ssl_conn.o ssl_cert.o ssl_rsa.o ssl_idea.o \
	ssl_rc4.o ssl_trc.o ssl_err.o
POBJ=	socket.o callback.o

GENERAL=Makefile
SRC=	ssl_server.c ssl_client.c \
	ssl.c ssl_srvr.c ssl_clnt.c ssl_pkt.c ssl_des.c ssl_md5.c \
	ssl_null.c ssl_conn.c ssl_cert.c ssl_rsa.c ssl_idea.c\
	ssl_rc4.c ssl_trc.c ssl_err.c
PSRC=	socket.c callback.c

HEADER=	ssl.h ssl_des.h ssl_md5.h ssl_null.h ssl_rc4.h ssl_idea.h ssl_trc.h 

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

all: $(LIB) $(EXE)

tags:
	-ctags $(SRC) $(HEADER) $(PSRC)

test:	all
	@echo read the readme in ssl/README and
	@echo run $(SERVER) and $(CLIENT) and make sure they talk
	@echo "to each other and other SSL servers :-)"

$(LIB):	$(OBJS)
	/bin/rm -f $(LIB)
	ar cr $(LIB) $(OBJS)
	-if test -s /bin/ranlib; then /bin/ranlib $(LIB); \
	else if test -s /usr/bin/ranlib; then /usr/bin/ranlib $(LIB); \
	else exit 0; fi; fi

$(SERVER): $(SERVER).o $(LIB) $(LIB_AUX) $(POBJ)
	$(CC) $(CFLAGS) -o $(SERVER) $(SERVER).o $(POBJ) $(LIB) $(LIBS)

$(CLIENT): $(CLIENT).o $(LIB) $(LIB_AUX) $(POBJ)
	$(CC) $(CFLAGS) -o $(CLIENT) $(CLIENT).o $(POBJ) $(LIB) $(LIBS)

$(FILTER): $(FILTER).o $(LIB) $(LIB_AUX) $(POBJ)
	$(CC) $(CFLAGS) -o $(FILTER) $(FILTER).o $(POBJ) $(LIB) $(LIBS)

lint:
	lint $(INCLUDES) $(SRC) $(PSRC) >fluff

tar:
	tar cf libssl.tar $(ALL)

depend:
	makedepend $(INCLUDES) $(SRC) $(PSRC)

shar:
	shar $(ALL) >libssl.shar

clean:
	/bin/rm -f *.o fluff $(EXE) $(LIB) tags core .nfs* *.old *.bak

dclean:
	perl -i -ne 'print; last if /^# DO NOT DELETE THIS LINE/;' Makefile

install: all
	cp ssl.h $(INSTALLTOP)/include
	chmod a+r $(INSTALLTOP)/include/ssl.h
	cp ssl_err.h $(INSTALLTOP)/include
	chmod a+r $(INSTALLTOP)/include/ssl_err.h
	cp $(LIB) $(INSTALLTOP)/lib; \
	if test -s /bin/ranlib; then \
	    /bin/ranlib $(INSTALLTOP)/lib/$(LIB); \
	else if test -s /usr/bin/ranlib; then \
	    /usr/bin/ranlib $(INSTALLTOP)/lib/$(LIB); \
	fi; fi; \
	chmod 644 $(INSTALLTOP)/lib/$(LIB); \
	for i in $(EXE); \
	do \
	cp $$i ${INSTALLTOP}/bin; \
	chmod a+rx ${INSTALLTOP}/bin/$$i; \
	done;

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