aerc/Makefile

113 lines
3 KiB
Makefile
Raw Normal View History

.POSIX:
.SUFFIXES:
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
2020-05-19 16:12:27 +00:00
VERSION=0.4.0
VPATH=doc
PREFIX?=/usr/local
_INSTDIR=$(DESTDIR)$(PREFIX)
BINDIR?=$(_INSTDIR)/bin
SHAREDIR?=$(_INSTDIR)/share/aerc
MANDIR?=$(_INSTDIR)/share/man
GO?=go
2019-05-22 16:23:24 +00:00
GOFLAGS?=
2019-06-03 22:09:51 +00:00
GOSRC!=find . -name '*.go'
GOSRC+=go.mod go.sum
aerc: $(GOSRC)
$(GO) build $(GOFLAGS) \
-ldflags "-X main.Prefix=$(PREFIX) \
-X main.ShareDir=$(SHAREDIR) \
-X main.Version=$(VERSION)" \
-o $@
2019-05-17 17:45:20 +00:00
aerc.conf: config/aerc.conf.in
sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
2019-05-17 17:45:20 +00:00
DOCS := \
aerc.1 \
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 \
aerc-smtp.5 \
aerc-tutorial.7 \
aerc-templates.7 \
aerc-stylesets.7
2019-05-17 17:45:20 +00:00
.1.scd.1:
scdoc < $< > $@
.5.scd.5:
scdoc < $< > $@
.7.scd.7:
scdoc < $< > $@
doc: $(DOCS)
all: aerc aerc.conf doc
2019-05-17 17:45: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:
$(RM) $(DOCS) aerc.conf aerc
2019-05-17 17:45:20 +00:00
2019-05-17 17:48:40 +00:00
install: all
mkdir -m755 -p $(BINDIR) $(MANDIR)/man1 $(MANDIR)/man5 $(MANDIR)/man7 \
$(SHAREDIR) $(SHAREDIR)/filters $(SHAREDIR)/templates $(SHAREDIR)/stylesets
2019-05-17 17:48:40 +00:00
install -m755 aerc $(BINDIR)/aerc
install -m644 aerc.1 $(MANDIR)/man1/aerc.1
install -m644 aerc-search.1 $(MANDIR)/man1/aerc-search.1
2019-05-17 17:48:40 +00:00
install -m644 aerc-config.5 $(MANDIR)/man5/aerc-config.5
install -m644 aerc-imap.5 $(MANDIR)/man5/aerc-imap.5
2019-07-11 13:44:54 +00:00
install -m644 aerc-maildir.5 $(MANDIR)/man5/aerc-maildir.5
2019-07-27 15:19:49 +00:00
install -m644 aerc-sendmail.5 $(MANDIR)/man5/aerc-sendmail.5
2019-08-05 07:16:10 +00:00
install -m644 aerc-notmuch.5 $(MANDIR)/man5/aerc-notmuch.5
2019-05-17 17:48:40 +00:00
install -m644 aerc-smtp.5 $(MANDIR)/man5/aerc-smtp.5
install -m644 aerc-tutorial.7 $(MANDIR)/man7/aerc-tutorial.7
2019-11-19 14:21:52 +00:00
install -m644 aerc-templates.7 $(MANDIR)/man7/aerc-templates.7
install -m644 aerc-stylesets.7 $(MANDIR)/man7/aerc-stylesets.7
install -m644 config/accounts.conf $(SHAREDIR)/accounts.conf
install -m644 aerc.conf $(SHAREDIR)/aerc.conf
install -m644 config/binds.conf $(SHAREDIR)/binds.conf
2019-06-27 13:32:46 +00:00
install -m755 filters/hldiff $(SHAREDIR)/filters/hldiff
install -m755 filters/html $(SHAREDIR)/filters/html
install -m755 filters/plaintext $(SHAREDIR)/filters/plaintext
install -m644 templates/quoted_reply $(SHAREDIR)/templates/quoted_reply
install -m644 templates/forward_as_body $(SHAREDIR)/templates/forward_as_body
install -m644 config/default_styleset $(SHAREDIR)/stylesets/default
2019-05-17 17:45:20 +00:00
RMDIR_IF_EMPTY:=sh -c '\
if test -d $$0 && ! ls -1qA $$0 | grep -q . ; then \
rmdir $$0; \
fi'
uninstall:
$(RM) $(BINDIR)/aerc
$(RM) $(MANDIR)/man1/aerc.1
$(RM) $(MANDIR)/man1/aerc-search.1
$(RM) $(MANDIR)/man5/aerc-config.5
$(RM) $(MANDIR)/man5/aerc-imap.5
2019-07-11 13:44:54 +00:00
$(RM) $(MANDIR)/man5/aerc-maildir.5
2019-07-27 15:19:49 +00:00
$(RM) $(MANDIR)/man5/aerc-sendmail.5
2019-08-05 07:16:10 +00:00
$(RM) $(MANDIR)/man5/aerc-notmuch.5
$(RM) $(MANDIR)/man5/aerc-smtp.5
$(RM) $(MANDIR)/man7/aerc-tutorial.7
$(RM) $(MANDIR)/man7/aerc-templates.7
$(RM) -r $(SHAREDIR)
${RMDIR_IF_EMPTY} $(BINDIR)
$(RMDIR_IF_EMPTY) $(MANDIR)/man1
$(RMDIR_IF_EMPTY) $(MANDIR)/man5
$(RMDIR_IF_EMPTY) $(MANDIR)/man7
$(RMDIR_IF_EMPTY) $(MANDIR)
2019-05-17 17:45:20 +00:00
.DEFAULT_GOAL := all
.PHONY: all doc clean install uninstall