2019-05-30 22:20:20 +00:00
|
|
|
.POSIX:
|
|
|
|
.SUFFIXES:
|
|
|
|
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
|
2019-06-18 13:42:41 +00:00
|
|
|
|
2021-02-07 18:25:06 +00:00
|
|
|
_git_version=$(shell git describe --long --tags --dirty 2>/dev/null | sed 's/-/.r/;s/-/./')
|
|
|
|
ifeq ($(strip $(_git_version)),)
|
2022-01-15 11:14:32 +00:00
|
|
|
VERSION=0.7.1
|
2021-02-07 18:25:06 +00:00
|
|
|
else
|
|
|
|
VERSION=$(_git_version)
|
|
|
|
endif
|
2019-06-18 13:42:41 +00:00
|
|
|
|
2019-05-30 22:20:20 +00:00
|
|
|
VPATH=doc
|
2019-05-22 16:35:44 +00:00
|
|
|
PREFIX?=/usr/local
|
2020-06-28 18:36:22 +00:00
|
|
|
BINDIR?=$(PREFIX)/bin
|
|
|
|
SHAREDIR?=$(PREFIX)/share/aerc
|
|
|
|
MANDIR?=$(PREFIX)/share/man
|
2019-07-20 09:29:31 +00:00
|
|
|
GO?=go
|
2019-05-22 16:23:24 +00:00
|
|
|
GOFLAGS?=
|
|
|
|
|
2020-12-23 21:11:54 +00:00
|
|
|
GOSRC:=$(shell find . -name '*.go')
|
2019-05-29 18:57:17 +00:00
|
|
|
GOSRC+=go.mod go.sum
|
2019-05-26 14:27:22 +00:00
|
|
|
|
|
|
|
aerc: $(GOSRC)
|
2019-07-20 09:29:31 +00:00
|
|
|
$(GO) build $(GOFLAGS) \
|
2019-06-19 19:46:58 +00:00
|
|
|
-ldflags "-X main.Prefix=$(PREFIX) \
|
|
|
|
-X main.ShareDir=$(SHAREDIR) \
|
|
|
|
-X main.Version=$(VERSION)" \
|
2019-05-22 20:33:09 +00:00
|
|
|
-o $@
|
2019-05-17 17:45:20 +00:00
|
|
|
|
2021-12-11 21:03:25 +00:00
|
|
|
.PHONY: fmt
|
|
|
|
fmt:
|
|
|
|
gofmt -w .
|
|
|
|
|
|
|
|
.PHONY: checkfmt
|
|
|
|
checkfmt:
|
|
|
|
@if [ `gofmt -l . | wc -l` -ne 0 ]; then \
|
|
|
|
gofmt -d .; \
|
|
|
|
echo "ERROR: source files need reformatting with gofmt"; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
|
|
|
|
2019-05-26 14:27:22 +00:00
|
|
|
aerc.conf: config/aerc.conf.in
|
2019-05-30 22:20:20 +00:00
|
|
|
sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
|
2019-05-22 15:13:55 +00:00
|
|
|
|
2020-11-12 08:00:07 +00:00
|
|
|
debug: $(GOSRC)
|
|
|
|
GOFLAGS="-tags=notmuch" \
|
|
|
|
dlv debug --headless --listen localhost:4747 &>/dev/null
|
|
|
|
|
2019-05-17 17:45:20 +00:00
|
|
|
DOCS := \
|
|
|
|
aerc.1 \
|
2019-08-28 04:39:07 +00:00
|
|
|
aerc-search.1 \
|
2019-05-17 17:45:20 +00:00
|
|
|
aerc-config.5 \
|
|
|
|
aerc-imap.5 \
|
2019-07-11 13:44:54 +00:00
|
|
|
aerc-maildir.5 \
|
2019-07-27 15:19:49 +00:00
|
|
|
aerc-sendmail.5 \
|
2019-08-05 07:16:10 +00:00
|
|
|
aerc-notmuch.5 \
|
2019-05-22 15:13:55 +00:00
|
|
|
aerc-smtp.5 \
|
2019-11-03 12:51:14 +00:00
|
|
|
aerc-tutorial.7 \
|
2020-07-27 08:03:55 +00:00
|
|
|
aerc-templates.7 \
|
|
|
|
aerc-stylesets.7
|
2019-05-17 17:45:20 +00:00
|
|
|
|
2019-05-30 22:20:20 +00:00
|
|
|
.1.scd.1:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
|
|
|
.5.scd.5:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
|
|
|
.7.scd.7:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
2019-05-22 16:35:44 +00:00
|
|
|
doc: $(DOCS)
|
|
|
|
|
2019-05-26 14:27:22 +00:00
|
|
|
all: aerc aerc.conf doc
|
2019-05-17 17:45:20 +00:00
|
|
|
|
2019-05-30 22:20:20 +00:00
|
|
|
# Exists in GNUMake but not in NetBSD make and others.
|
|
|
|
RM?=rm -f
|
|
|
|
|
2019-05-17 17:45:20 +00:00
|
|
|
clean:
|
2019-06-04 07:51:46 +00:00
|
|
|
$(RM) $(DOCS) aerc.conf aerc
|
2019-05-17 17:45:20 +00:00
|
|
|
|
2019-05-17 17:48:40 +00:00
|
|
|
install: all
|
2020-06-28 18:36:22 +00:00
|
|
|
mkdir -m755 -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5 $(DESTDIR)$(MANDIR)/man7 \
|
2020-07-27 08:03:55 +00:00
|
|
|
$(DESTDIR)$(SHAREDIR) $(DESTDIR)$(SHAREDIR)/filters $(DESTDIR)$(SHAREDIR)/templates $(DESTDIR)$(SHAREDIR)/stylesets
|
2020-06-28 18:36:22 +00:00
|
|
|
install -m755 aerc $(DESTDIR)$(BINDIR)/aerc
|
|
|
|
install -m644 aerc.1 $(DESTDIR)$(MANDIR)/man1/aerc.1
|
|
|
|
install -m644 aerc-search.1 $(DESTDIR)$(MANDIR)/man1/aerc-search.1
|
|
|
|
install -m644 aerc-config.5 $(DESTDIR)$(MANDIR)/man5/aerc-config.5
|
|
|
|
install -m644 aerc-imap.5 $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
|
|
|
|
install -m644 aerc-maildir.5 $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5
|
|
|
|
install -m644 aerc-sendmail.5 $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5
|
|
|
|
install -m644 aerc-notmuch.5 $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5
|
|
|
|
install -m644 aerc-smtp.5 $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5
|
|
|
|
install -m644 aerc-tutorial.7 $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7
|
|
|
|
install -m644 aerc-templates.7 $(DESTDIR)$(MANDIR)/man7/aerc-templates.7
|
2020-07-27 08:03:55 +00:00
|
|
|
install -m644 aerc-stylesets.7 $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
|
2020-06-28 18:36:22 +00:00
|
|
|
install -m644 config/accounts.conf $(DESTDIR)$(SHAREDIR)/accounts.conf
|
|
|
|
install -m644 aerc.conf $(DESTDIR)$(SHAREDIR)/aerc.conf
|
|
|
|
install -m644 config/binds.conf $(DESTDIR)$(SHAREDIR)/binds.conf
|
|
|
|
install -m755 filters/hldiff $(DESTDIR)$(SHAREDIR)/filters/hldiff
|
|
|
|
install -m755 filters/html $(DESTDIR)$(SHAREDIR)/filters/html
|
|
|
|
install -m755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext
|
2022-01-19 20:28:06 +00:00
|
|
|
install -m644 templates/new_message $(DESTDIR)$(SHAREDIR)/templates/new_message
|
2020-06-28 18:36:22 +00:00
|
|
|
install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply
|
|
|
|
install -m644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body
|
2020-07-27 08:03:55 +00:00
|
|
|
install -m644 config/default_styleset $(DESTDIR)$(SHAREDIR)/stylesets/default
|
2019-05-17 17:45:20 +00:00
|
|
|
|
2019-06-11 19:11:15 +00:00
|
|
|
RMDIR_IF_EMPTY:=sh -c '\
|
|
|
|
if test -d $$0 && ! ls -1qA $$0 | grep -q . ; then \
|
|
|
|
rmdir $$0; \
|
|
|
|
fi'
|
|
|
|
|
|
|
|
uninstall:
|
2020-06-28 18:36:22 +00:00
|
|
|
$(RM) $(DESTDIR)$(BINDIR)/aerc
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man1/aerc.1
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man1/aerc-search.1
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-config.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7
|
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-templates.7
|
2020-09-27 13:35:04 +00:00
|
|
|
$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
|
2020-06-28 18:36:22 +00:00
|
|
|
$(RM) -r $(DESTDIR)$(SHAREDIR)
|
|
|
|
${RMDIR_IF_EMPTY} $(DESTDIR)$(BINDIR)
|
|
|
|
$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man1
|
|
|
|
$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man5
|
|
|
|
$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man7
|
|
|
|
$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)
|
2019-06-11 19:11:15 +00:00
|
|
|
|
2019-05-17 17:45:20 +00:00
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
|
2020-11-12 08:00:07 +00:00
|
|
|
.PHONY: all doc clean install uninstall debug
|