2019-05-30 17:20:20 -05:00
|
|
|
.POSIX:
|
|
|
|
.SUFFIXES:
|
|
|
|
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
|
2019-06-18 09:42:41 -04:00
|
|
|
|
|
|
|
VERSION?=0.1.1
|
|
|
|
|
2019-05-30 17:20:20 -05:00
|
|
|
VPATH=doc
|
2019-05-22 12:35:44 -04:00
|
|
|
PREFIX?=/usr/local
|
|
|
|
_INSTDIR=$(DESTDIR)$(PREFIX)
|
|
|
|
BINDIR?=$(_INSTDIR)/bin
|
|
|
|
SHAREDIR?=$(_INSTDIR)/share/aerc
|
|
|
|
MANDIR?=$(_INSTDIR)/share/man
|
2019-05-22 12:23:24 -04:00
|
|
|
GOFLAGS?=
|
|
|
|
|
2019-06-03 18:09:51 -04:00
|
|
|
GOSRC!=find . -name '*.go'
|
2019-05-29 13:57:17 -05:00
|
|
|
GOSRC+=go.mod go.sum
|
2019-05-26 10:27:22 -04:00
|
|
|
|
|
|
|
aerc: $(GOSRC)
|
2019-05-22 12:35:44 -04:00
|
|
|
go build $(GOFLAGS) \
|
|
|
|
-ldflags "-X main.Prefix=$(PREFIX)" \
|
|
|
|
-ldflags "-X main.ShareDir=$(SHAREDIR)" \
|
2019-06-18 09:42:41 -04:00
|
|
|
-ldflags "-X main.Version=$(VERSION)" \
|
2019-05-22 22:33:09 +02:00
|
|
|
-o $@
|
2019-05-17 13:45:20 -04:00
|
|
|
|
2019-05-26 10:27:22 -04:00
|
|
|
aerc.conf: config/aerc.conf.in
|
2019-05-30 17:20:20 -05:00
|
|
|
sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
|
2019-05-22 11:13:55 -04:00
|
|
|
|
2019-05-17 13:45:20 -04:00
|
|
|
DOCS := \
|
|
|
|
aerc.1 \
|
|
|
|
aerc-config.5 \
|
|
|
|
aerc-imap.5 \
|
2019-05-22 11:13:55 -04:00
|
|
|
aerc-smtp.5 \
|
|
|
|
aerc-tutorial.7
|
2019-05-17 13:45:20 -04:00
|
|
|
|
2019-05-30 17:20:20 -05:00
|
|
|
.1.scd.1:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
|
|
|
.5.scd.5:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
|
|
|
.7.scd.7:
|
|
|
|
scdoc < $< > $@
|
|
|
|
|
2019-05-22 12:35:44 -04:00
|
|
|
doc: $(DOCS)
|
|
|
|
|
2019-05-26 10:27:22 -04:00
|
|
|
all: aerc aerc.conf doc
|
2019-05-17 13:45:20 -04:00
|
|
|
|
2019-05-30 17:20:20 -05:00
|
|
|
# Exists in GNUMake but not in NetBSD make and others.
|
|
|
|
RM?=rm -f
|
|
|
|
|
2019-05-17 13:45:20 -04:00
|
|
|
clean:
|
2019-06-04 09:51:46 +02:00
|
|
|
$(RM) $(DOCS) aerc.conf aerc
|
2019-05-17 13:45:20 -04:00
|
|
|
|
2019-05-17 13:48:40 -04:00
|
|
|
install: all
|
2019-05-22 16:09:42 -04:00
|
|
|
mkdir -p $(BINDIR) $(MANDIR)/man1 $(MANDIR)/man5 $(MANDIR)/man7 \
|
2019-05-17 13:51:18 -04:00
|
|
|
$(SHAREDIR) $(SHAREDIR)/filters
|
2019-05-17 13:48:40 -04:00
|
|
|
install -m755 aerc $(BINDIR)/aerc
|
|
|
|
install -m644 aerc.1 $(MANDIR)/man1/aerc.1
|
|
|
|
install -m644 aerc-config.5 $(MANDIR)/man5/aerc-config.5
|
|
|
|
install -m644 aerc-imap.5 $(MANDIR)/man5/aerc-imap.5
|
|
|
|
install -m644 aerc-smtp.5 $(MANDIR)/man5/aerc-smtp.5
|
2019-05-22 16:08:01 -04:00
|
|
|
install -m644 aerc-tutorial.7 $(MANDIR)/man7/aerc-tutorial.7
|
2019-05-17 13:51:18 -04:00
|
|
|
install -m644 config/accounts.conf $(SHAREDIR)/accounts.conf
|
2019-05-26 10:27:22 -04:00
|
|
|
install -m644 aerc.conf $(SHAREDIR)/aerc.conf
|
2019-05-17 13:51:18 -04:00
|
|
|
install -m644 config/binds.conf $(SHAREDIR)/binds.conf
|
2019-06-07 12:05:05 -04:00
|
|
|
install -m755 contrib/hldiff $(SHAREDIR)/filters/hldiff
|
2019-05-17 13:51:18 -04:00
|
|
|
install -m755 contrib/html $(SHAREDIR)/filters/html
|
2019-06-07 12:05:05 -04:00
|
|
|
install -m755 contrib/plaintext $(SHAREDIR)/filters/plaintext
|
2019-05-17 13:45:20 -04:00
|
|
|
|
2019-06-11 14:11:15 -05: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)/man5/aerc-config.5
|
|
|
|
$(RM) $(MANDIR)/man5/aerc-imap.5
|
|
|
|
$(RM) $(MANDIR)/man5/aerc-smtp.5
|
|
|
|
$(RM) $(MANDIR)/man7/aerc-tutorial.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 13:45:20 -04:00
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
|
2019-06-11 14:11:15 -05:00
|
|
|
.PHONY: all doc clean install uninstall
|