#
# Rebuild databases of sendmail
#

ETC	=	$(DESTDIR)/etc/
MAIL	=	$(ETC)mail/
NOFOLD	=	$(shell . $(ETC)sysconfig/sendmail 2> /dev/null;\
		  test "$$SENDMAIL_DB_FOLD" = "no" && echo -f)
CONF	=	$(shell test -n "$(DESTDIR)" && echo "-C $(ETC)sendmail.cf")

DB	=	$(MAIL)access.db \
		$(MAIL)auth/auth-info.db \
		$(MAIL)domaintable.db \
		$(MAIL)genericstable.db \
		$(MAIL)mailertable.db \
		$(MAIL)userdb.db \
		$(MAIL)virtusertable.db

ifneq (,$(wildcard $(MAIL)bitdomain))
	DB +=	$(MAIL)bitdomain.db
endif
ifneq (,$(wildcard $(MAIL)uudomain))
	DB +=	$(MAIL)uudomain.db
endif

all:	$(ETC)aliases.db short
aliases: short
short:	${DB}

#
# newaliases
#
SHELL      = /bin/sh
ALIAS_FILE = $(shell find $(ETC)aliases.d/ -type f)
$(ETC)aliases.db: $(ETC)aliases $(ALIAS_FILE)
	@echo "Rebuilding $@."
	sendmail $(CONF) -bi
	test -e $@ && touch $@
	chmod --reference=$< $@

#
# Default db type is hash
#
%.db: %
	@echo "Rebuilding $@."
	makemap $(CONF) hash $(NOFOLD) $@ < $<
	test -e $@ && touch $@
	chmod --reference=$< $@

#
# For user db we use btree type
#
$(MAIL)userdb.db: $(MAIL)userdb
	@echo "Rebuilding $@."
	makemap $(CONF) btree $(NOFOLD) $@ < $<
	test -e $@ && touch $@
	chmod --reference=$< $@
#
