#
# OpenSSL/tools/Makefile
#

DIR=	tools
TOP=	..
CC=	cc
INCLUDES= -I$(TOP) -I../../include
CFLAG=-g
MAKEFILE=	Makefile

CFLAGS= $(INCLUDES) $(CFLAG)

GENERAL=Makefile
APPS= c_rehash
MISC_APPS= c_hash c_info c_issuer c_name

all: apps

apps: $(APPS)

install:
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
	@for i in $(APPS) ; \
	do  \
	(cp $$i $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
	chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
	mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$i.new $(DESTDIR)$(INSTALLTOP)/bin/$$i ); \
	done;
	@for i in $(MISC_APPS) ; \
	do  \
	(cp $$i $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new; \
	chmod 755 $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new; \
	mv -f $(DESTDIR)$(OPENSSLDIR)/misc/$$i.new $(DESTDIR)$(OPENSSLDIR)/misc/$$i ); \
	done;

uninstall:
	@for i in $(APPS) ; \
	do  \
		echo $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
		$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
	done;
	@for i in $(MISC_APPS) ; \
	do  \
		echo $(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$i; \
		$(RM) $(DESTDIR)$(OPENSSLDIR)/misc/$$i; \
	done;

errors:

depend:

clean:
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff

errors:

c_rehash: c_rehash.in
	$(PERL) -I$(TOP) -Mconfigdata $(TOP)/util/dofile.pl -otools/Makefile c_rehash.in > c_rehash.new
	mv c_rehash.new c_rehash

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