# file: src/common/var/crypto/Makefile
#
#  2002 OpenCA Group

TOP	= ../../../..
include $(TOP)/Makefile.global-vars

DEST_VAROPENSSLDIR	= ${var_prefix}/crypto

DEST_VAR_CRYPTO_CACERTDIR	= ${var_prefix}/crypto/cacerts
DEST_VAR_CRYPTO_KEYDIR		= ${var_prefix}/crypto/keys

# files not generated from .in files and used by openssl in rw-mode:
OPENSSL_CONFOPENSSLFILES	= \
	serial			\
	index.txt

MAKECHAIN	= \
	Makefile.crt

KEY_BACKUP_KEY	= \
	keybackup_key.pem

KEY_BACKUP_CERT	= \
	keybackup_cert.pem

DEST_OPENSSL_VAR_CONFOPENSSLFILES	= $(OPENSSL_CONFOPENSSLFILES:%=$(DEST_VAROPENSSLDIR)/%)

#---- variable settings above, rules below ----

.PHONY:	default install clean distclean

default::

install::	$(DEST_OPENSSL_VAR_CONFOPENSSLFILES) $(MAKECHAIN) $(KEY_BACKUP_KEY) $(KEY_BACKUP_CERT)

$(DEST_OPENSSL_VAR_CONFOPENSSLFILES)::
	@if [ -f $@ ]; then \
		echo "$@ already exists, skipping"; \
	else \
		set -x; \
		$(INSTALL) -g ${httpd_group} -o ${httpd_user} -m 644 $(@:$(DEST_VAROPENSSLDIR)/%=%) $@; \
	fi

$(MAKECHAIN)::
	$(INSTALL) -o ${openca_user} -g ${openca_group} -m 644 Makefile.crt ${var_prefix}/crypto/chain/Makefile

$(KEY_BACKUP_KEY)::
	@if [ -e $(DEST_VAR_CRYPTO_KEYDIR)/$@ ]; then \
		echo "$@ already exists, skipping"; \
	else \
		set -x; \
		cd $(DEST_VAR_CRYPTO_KEYDIR); \
		$(LN_S) cakey.pem $@; \
	fi

$(KEY_BACKUP_CERT)::
	@if [ -e $(DEST_VAR_CRYPTO_CACERTDIR)/$@ ]; then \
		echo "$@ already exists, skipping"; \
	else \
		set -x; \
		cd $(DEST_VAR_CRYPTO_CACERTDIR); \
		$(LN_S) cacert.pem $@; \
	fi

distclean::
		$(RM) $(AC_CONFOPENSSLFILES)
		$(RM) $(AC_FILES)
