# SPDX-FileCopyrightText: 2026 Eric Ireland
# SPDX-License-Identifier: GPL-3.0-or-later

PREFIX ?= /usr/local
SYSCONFDIR ?= /etc
DESTDIR ?=
PYTHON ?= python3
INSTALL ?= install
GZIP ?= gzip

SBINDIR := $(DESTDIR)$(PREFIX)/sbin
MANDIR := $(DESTDIR)$(PREFIX)/share/man/man8
BACKUPDIR := $(DESTDIR)/var/backups/vmailctl
CONFIG := $(DESTDIR)$(SYSCONFDIR)/vmailctl.conf

.PHONY: all check man-check install

all: check

check:
	PYTHONDONTWRITEBYTECODE=1 $(PYTHON) -m unittest discover -v \
		-s tests -p 'test_*.py'

man-check:
	groff -man -z -ww man/vmailctl.8

install:
	$(INSTALL) -d -m 0755 $(SBINDIR)
	$(INSTALL) -m 0755 vmailctl $(SBINDIR)/vmailctl
	$(INSTALL) -d -m 0755 $(DESTDIR)$(SYSCONFDIR)
	@if test -e "$(CONFIG)"; then \
		echo "Preserving existing $(CONFIG)"; \
	else \
		$(INSTALL) -m 0644 vmailctl.conf.example "$(CONFIG)"; \
	fi
	$(INSTALL) -d -m 0700 $(BACKUPDIR)
	$(INSTALL) -d -m 0755 $(MANDIR)
	$(INSTALL) -m 0644 man/vmailctl.8 $(MANDIR)/vmailctl.8
	$(GZIP) -n -9 -f $(MANDIR)/vmailctl.8
	@if test -z "$(DESTDIR)" && command -v mandb >/dev/null 2>&1; then \
		mandb -q; \
	fi
