aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.builds/openbsd.yml8
-rw-r--r--CHANGELOG.md5
-rw-r--r--GNUmakefile204
-rw-r--r--Makefile227
-rw-r--r--README.md1
5 files changed, 222 insertions, 223 deletions
diff --git a/.builds/openbsd.yml b/.builds/openbsd.yml
index 811fbf7a..5ef3d463 100644
--- a/.builds/openbsd.yml
+++ b/.builds/openbsd.yml
@@ -4,6 +4,8 @@ packages:
- go
- gnupg
- scdoc
+ - base64
+ - gmake
sources:
- "https://git.sr.ht/~rjarry/aerc"
environment:
@@ -11,8 +13,8 @@ environment:
tasks:
- build: |
cd aerc
- make
+ gmake
- install: |
cd aerc
- make install
- make checkinstall
+ gmake install
+ gmake checkinstall
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 29fba540..e4d63bd4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -43,6 +43,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- `:export-mbox` only exports marked messages, if any. Otherwise it exports
everything, as usual.
+### Deprecated
+
+- Aerc can no longer be compiled and installed with BSD make. GNU make must be
+ used instead.
+
## [0.15.2](https://git.sr.ht/~rjarry/aerc/refs/0.15.2) - 2023-05-11
### Fixed
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 00000000..e8ac67fe
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,204 @@
+# variables that can be changed by users
+#
+VERSION ?= `git describe --long --abbrev=12 --tags --dirty 2>/dev/null || echo 0.15.2`
+PREFIX ?= /usr/local
+BINDIR ?= $(PREFIX)/bin
+SHAREDIR ?= $(PREFIX)/share/aerc
+LIBEXECDIR ?= $(PREFIX)/libexec/aerc
+MANDIR ?= $(PREFIX)/share/man
+GO ?= go
+GOFLAGS ?= `contrib/goflags.sh`
+BUILD_OPTS ?= -trimpath
+GO_LDFLAGS :=
+GO_LDFLAGS += -X main.Version=$(VERSION)
+GO_LDFLAGS += -X main.Flags=$$(echo -- $(GOFLAGS) | base64 | tr -d '\r\n')
+GO_LDFLAGS += -X git.sr.ht/~rjarry/aerc/config.shareDir=$(SHAREDIR)
+GO_LDFLAGS += -X git.sr.ht/~rjarry/aerc/config.libexecDir=$(LIBEXECDIR)
+GO_LDFLAGS += $(GO_EXTRA_LDFLAGS)
+CC ?= cc
+CFLAGS ?= -O2 -g
+
+# internal variables used for automatic rules generation with macros
+gosrc = $(shell find * -type f -name '*.go') go.mod go.sum
+man1 = $(subst .scd,,$(notdir $(wildcard doc/*.1.scd)))
+man5 = $(subst .scd,,$(notdir $(wildcard doc/*.5.scd)))
+man7 = $(subst .scd,,$(notdir $(wildcard doc/*.7.scd)))
+docs = $(man1) $(man5) $(man7)
+cfilters = $(subst .c,,$(notdir $(wildcard filters/*.c)))
+filters = $(filter-out filters/vectors filters/test.sh filters/%.c,$(wildcard filters/*))
+gofumpt_tag = v0.5.0
+
+# Dependencies are added dynamically to the "all" rule with macros
+.PHONY: all
+all: aerc
+ @:
+
+aerc: $(gosrc)
+ $(GO) build $(BUILD_OPTS) $(GOFLAGS) -ldflags "$(GO_LDFLAGS)" -o aerc
+
+.PHONY: dev
+dev:
+ $(RM) aerc
+ $(MAKE) --no-print-directory aerc BUILD_OPTS="-trimpath -race"
+ GORACE="log_path=race.log strip_path_prefix=git.sr.ht/~rjarry/aerc/" ./aerc
+
+.PHONY: fmt
+fmt:
+ $(GO) run mvdan.cc/gofumpt@$(gofumpt_tag) -w .
+
+linters.so: contrib/linters.go
+ $(GO) build -buildmode=plugin -o linters.so contrib/linters.go
+
+.PHONY: lint
+lint: linters.so
+ @contrib/check-whitespace `git ls-files ':!:filters/vectors'` && \
+ echo white space ok.
+ @$(GO) run mvdan.cc/gofumpt@$(gofumpt_tag) -d . | grep ^ \
+ && echo The above files need to be formatted, please run make fmt && exit 1 \
+ || echo all files formatted.
+ $(GO) run github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 run \
+ $$(echo $(GOFLAGS) | sed s/-tags=/--build-tags=/)
+
+.PHONY: vulncheck
+vulncheck:
+ $(GO) run golang.org/x/vuln/cmd/govulncheck@latest ./...
+
+.PHONY: tests
+tests: $(cfilters)
+ $(GO) test $(GOFLAGS) ./...
+ filters/test.sh
+
+.PHONY: debug
+debug: aerc.debug
+ @echo 'Run `./aerc.debug` and use this command in another terminal to attach a debugger:'
+ @echo ' dlv attach $$(pidof aerc.debug)'
+
+aerc.debug: $(gosrc)
+ $(GO) build $(GOFLAGS) -gcflags=*=-N -gcflags=*=-l -ldflags="$(GO_LDFLAGS)" -o aerc.debug
+
+.PHONY: doc
+doc: $(docs)
+ @:
+
+.PHONY: clean
+clean:
+ $(RM) $(docs) aerc $(cfilters)
+
+# Dependencies are added dynamically to the "install" rule with macros
+.PHONY: install
+install:
+ @:
+
+.PHONY: checkinstall
+checkinstall:
+ $(DESTDIR)$(BINDIR)/aerc -v
+ for m in $(man1); do test -e $(DESTDIR)$(MANDIR)/man1/$$m || exit; done
+ for m in $(man5); do test -e $(DESTDIR)$(MANDIR)/man5/$$m || exit; done
+ for m in $(man7); do test -e $(DESTDIR)$(MANDIR)/man7/$$m || exit; done
+
+RMDIR_IF_EMPTY:=sh -c '! [ -d $$0 ] || ls -1qA $$0 | grep -q . || rmdir $$0'
+
+.PHONY: uninstall
+uninstall:
+ $(RM) $(DESTDIR)$(BINDIR)/aerc
+ $(RM) $(DESTDIR)$(BINDIR)/carddav-query
+ for m in $(man1); do $(RM) $(DESTDIR)$(MANDIR)/man1/$$m; done
+ for m in $(man5); do $(RM) $(DESTDIR)$(MANDIR)/man5/$$m; done
+ for m in $(man7); do $(RM) $(DESTDIR)$(MANDIR)/man7/$$m; done
+ $(RM) -r $(DESTDIR)$(SHAREDIR)
+ $(RM) -r $(DESTDIR)$(LIBEXECDIR)
+ ${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)
+ $(RM) $(DESTDIR)$(PREFIX)/share/applications/aerc.desktop
+ $(RMDIR_IF_EMPTY) $(DESTDIR)$(PREFIX)/share/applications
+
+.PHONY: gitconfig
+gitconfig:
+ git config format.subjectPrefix "PATCH aerc"
+ git config sendemail.to "~rjarry/aerc-devel@lists.sr.ht"
+ @mkdir -p .git/hooks
+ @rm -f .git/hooks/sendemail-validate*
+ @if grep -q GIT_SENDEMAIL_FILE_COUNTER `git --exec-path`/git-send-email 2>/dev/null; then \
+ ln -svf ../../contrib/sendemail-validate .git/hooks/sendemail-validate && \
+ git config sendemail.validate true; \
+ fi
+
+.PHONY: check-patches
+check-patches:
+ @contrib/check-patches origin/master..
+
+# Generate build and install rules for one man page
+#
+# $1: man page name (e.g: aerc.1)
+#
+define install_man
+$1: doc/$1.scd
+ scdoc < $$< > $$@
+
+$1_section = $$(subst .,,$$(suffix $1))
+$1_install_dir = $$(DESTDIR)$$(MANDIR)/man$$($1_section)
+dirs += $$($1_install_dir)
+
+$$($1_install_dir)/$1: $1 | $$($1_install_dir)
+ install -m644 $$< $$@
+
+all: $1
+install: $$($1_install_dir)/$1
+endef
+
+# Generate build and install rules for one filter
+#
+# $1: filter source path or name
+#
+define install_filter
+ifneq ($(wildcard filters/$1.c),)
+$1: filters/$1.c
+ $$(CC) $$(CFLAGS) $$(LDFLAGS) -o $$@ $$<
+
+all: $1
+endif
+
+$1_install_dir = $$(DESTDIR)$$(LIBEXECDIR)/filters
+dirs += $$($1_install_dir)
+
+$$($1_install_dir)/$$(notdir $1): $1 | $$($1_install_dir)
+ install -m755 $$< $$@
+
+install: $$($1_install_dir)/$$(notdir $1)
+endef
+
+# Generate install rules for any file
+#
+# $1: source file
+# $2: mode
+# $3: target dir
+#
+define install_file
+dirs += $3
+
+$3/$$(notdir $1): $1 | $3
+ install -m$2 $$< $$@
+
+install: $3/$$(notdir $1)
+endef
+
+# Call macros to generate build and install rules
+$(foreach m,$(docs),\
+ $(eval $(call install_man,$m)))
+$(foreach f,$(filters) $(cfilters),\
+ $(eval $(call install_filter,$f)))
+$(foreach f,$(wildcard config/*.conf),\
+ $(eval $(call install_file,$f,644,$(DESTDIR)$(SHAREDIR))))
+$(foreach s,$(wildcard stylesets/*),\
+ $(eval $(call install_file,$s,644,$(DESTDIR)$(SHAREDIR)/stylesets)))
+$(foreach t,$(wildcard templates/*),\
+ $(eval $(call install_file,$t,644,$(DESTDIR)$(SHAREDIR)/templates)))
+$(eval $(call install_file,contrib/aerc.desktop,644,$(DESTDIR)$(PREFIX)/share/applications))
+$(eval $(call install_file,aerc,755,$(DESTDIR)$(BINDIR)))
+$(eval $(call install_file,contrib/carddav-query,755,$(DESTDIR)$(BINDIR)))
+
+$(sort $(dirs)):
+ mkdir -p $@
diff --git a/Makefile b/Makefile
index acd8a728..ebbfb428 100644
--- a/Makefile
+++ b/Makefile
@@ -1,220 +1,7 @@
-.POSIX:
-.SUFFIXES:
-.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
-
-VERSION?=`git describe --long --abbrev=12 --tags --dirty 2>/dev/null || echo 0.15.2`
-VPATH=doc
-PREFIX?=/usr/local
-BINDIR?=$(PREFIX)/bin
-SHAREDIR?=$(PREFIX)/share/aerc
-LIBEXECDIR?=$(PREFIX)/libexec/aerc
-MANDIR?=$(PREFIX)/share/man
-GO?=go
-GOFLAGS?=`contrib/goflags.sh`
-BUILD_OPTS?=-trimpath
-# ignore environment variable
-GO_LDFLAGS:=
-GO_LDFLAGS+=-X main.Version=$(VERSION)
-GO_LDFLAGS+=-X main.Flags=$$(echo -- $(GOFLAGS) | base64 | tr -d '\r\n')
-GO_LDFLAGS+=-X git.sr.ht/~rjarry/aerc/config.shareDir=$(SHAREDIR)
-GO_LDFLAGS+=-X git.sr.ht/~rjarry/aerc/config.libexecDir=$(LIBEXECDIR)
-GO_LDFLAGS+=$(GO_EXTRA_LDFLAGS)
-
-GOSRC!=find * -type f -name '*.go'
-GOSRC+=go.mod go.sum
-
-DOCS := \
- aerc.1 \
- aerc-search.1 \
- aerc-accounts.5 \
- aerc-binds.5 \
- aerc-config.5 \
- aerc-imap.5 \
- aerc-jmap.5 \
- aerc-maildir.5 \
- aerc-sendmail.5 \
- aerc-notmuch.5 \
- aerc-smtp.5 \
- aerc-tutorial.7 \
- aerc-templates.7 \
- aerc-stylesets.7 \
- carddav-query.1
-
-all: aerc wrap colorize $(DOCS)
-
-aerc: $(GOSRC)
- $(GO) build $(BUILD_OPTS) $(GOFLAGS) -ldflags "$(GO_LDFLAGS)" -o aerc
-
-CC?=cc
-CFLAGS?=-O2 -g
-
-wrap: filters/wrap.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o wrap filters/wrap.c
-
-colorize: filters/colorize.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o colorize filters/colorize.c
-
-.PHONY: dev
-dev:
- $(MAKE) aerc BUILD_OPTS="-trimpath -race"
- GORACE="log_path=race.log strip_path_prefix=git.sr.ht/~rjarry/aerc/" ./aerc
-
-gofumpt_tag = v0.5.0
-
-.PHONY: fmt
-fmt:
- $(GO) run mvdan.cc/gofumpt@$(gofumpt_tag) -w .
-
-linters.so: contrib/linters.go
- $(GO) build -buildmode=plugin -o linters.so contrib/linters.go
-
-.PHONY: lint
-lint: linters.so
- @contrib/check-whitespace `git ls-files ':!:filters/vectors'` && \
- echo white space ok.
- @$(GO) run mvdan.cc/gofumpt@$(gofumpt_tag) -d . | grep ^ \
- && echo The above files need to be formatted, please run make fmt && exit 1 \
- || echo all files formatted.
- $(GO) run github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 run \
- $$(echo $(GOFLAGS) | sed s/-tags=/--build-tags=/)
-
-.PHONY: vulncheck
-vulncheck:
- $(GO) run golang.org/x/vuln/cmd/govulncheck@latest ./...
-
-.PHONY: tests
-tests: wrap colorize
- $(GO) test $(GOFLAGS) ./...
- filters/test.sh
-
-.PHONY: debug
-debug: aerc.debug
- @echo 'Run `./aerc.debug` and use this command in another terminal to attach a debugger:'
- @echo ' dlv attach $$(pidof aerc.debug)'
-
-aerc.debug: $(GOSRC)
- $(GO) build $(GOFLAGS) -gcflags=*=-N -gcflags=*=-l -ldflags="$(GO_LDFLAGS)" -o aerc.debug
-
-.1.scd.1:
- scdoc < $< > $@
-
-.5.scd.5:
- scdoc < $< > $@
-
-.7.scd.7:
- scdoc < $< > $@
-
-doc: $(DOCS)
-
-# Exists in GNUMake but not in NetBSD make and others.
-RM?=rm -f
-
-clean:
- $(RM) $(DOCS) aerc wrap colorize
-
-install: $(DOCS) aerc wrap colorize
- @# `install -D` is not supported on all platforms (macos install(1)
- @# dates back to the middle ages and does not have this flag).
- @# The folders must be created manually first.
- mkdir -m755 -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5 $(DESTDIR)$(MANDIR)/man7 \
- $(DESTDIR)$(SHAREDIR)/templates $(DESTDIR)$(SHAREDIR)/stylesets \
- $(DESTDIR)$(PREFIX)/share/applications $(DESTDIR)$(LIBEXECDIR)/filters
- install -m755 aerc $(DESTDIR)$(BINDIR)/aerc
- install -m755 contrib/carddav-query $(DESTDIR)$(BINDIR)/carddav-query
- install -m644 aerc.1 $(DESTDIR)$(MANDIR)/man1/aerc.1
- install -m644 carddav-query.1 $(DESTDIR)$(MANDIR)/man1/carddav-query.1
- install -m644 aerc-search.1 $(DESTDIR)$(MANDIR)/man1/aerc-search.1
- install -m644 aerc-accounts.5 $(DESTDIR)$(MANDIR)/man5/aerc-accounts.5
- install -m644 aerc-binds.5 $(DESTDIR)$(MANDIR)/man5/aerc-binds.5
- 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-jmap.5 $(DESTDIR)$(MANDIR)/man5/aerc-jmap.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
- install -m644 aerc-stylesets.7 $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
- install -m644 config/accounts.conf $(DESTDIR)$(SHAREDIR)/accounts.conf
- install -m644 config/aerc.conf $(DESTDIR)$(SHAREDIR)/aerc.conf
- install -m644 config/binds.conf $(DESTDIR)$(SHAREDIR)/binds.conf
- install -m755 filters/calendar $(DESTDIR)$(LIBEXECDIR)/filters/calendar
- install -m755 filters/hldiff $(DESTDIR)$(LIBEXECDIR)/filters/hldiff
- install -m755 filters/html $(DESTDIR)$(LIBEXECDIR)/filters/html
- install -m755 filters/html-unsafe $(DESTDIR)$(LIBEXECDIR)/filters/html-unsafe
- install -m755 filters/plaintext $(DESTDIR)$(LIBEXECDIR)/filters/plaintext
- install -m755 filters/show-ics-details.py $(DESTDIR)$(LIBEXECDIR)/filters/show-ics-details.py
- install -m755 colorize $(DESTDIR)$(LIBEXECDIR)/filters/colorize
- install -m755 wrap $(DESTDIR)$(LIBEXECDIR)/filters/wrap
- install -m644 templates/new_message $(DESTDIR)$(SHAREDIR)/templates/new_message
- install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply
- install -m644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body
- install -m644 stylesets/default $(DESTDIR)$(SHAREDIR)/stylesets/default
- install -m644 stylesets/dracula $(DESTDIR)$(SHAREDIR)/stylesets/dracula
- install -m644 stylesets/nord $(DESTDIR)$(SHAREDIR)/stylesets/nord
- install -m644 stylesets/pink $(DESTDIR)$(SHAREDIR)/stylesets/pink
- install -m644 stylesets/blue $(DESTDIR)$(SHAREDIR)/stylesets/blue
- install -m644 stylesets/solarized $(DESTDIR)$(SHAREDIR)/stylesets/solarized
- install -m644 contrib/aerc.desktop $(DESTDIR)$(PREFIX)/share/applications/aerc.desktop
-
-.PHONY: checkinstall
-checkinstall:
- $(DESTDIR)$(BINDIR)/aerc -v
- test -e $(DESTDIR)$(MANDIR)/man1/aerc.1
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-accounts.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-binds.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-config.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-jmap.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5
- test -e $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5
- test -e $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7
- test -e $(DESTDIR)$(MANDIR)/man7/aerc-templates.7
-
-RMDIR_IF_EMPTY:=sh -c '! [ -d $$0 ] || ls -1qA $$0 | grep -q . || rmdir $$0'
-
-uninstall:
- $(RM) $(DESTDIR)$(BINDIR)/aerc
- $(RM) $(DESTDIR)$(BINDIR)/carddav-query
- $(RM) $(DESTDIR)$(MANDIR)/man1/aerc.1
- $(RM) $(DESTDIR)$(MANDIR)/man1/aerc-search.1
- $(RM) $(DESTDIR)$(MANDIR)/man5/aerc-accounts.5
- $(RM) $(DESTDIR)$(MANDIR)/man5/aerc-binds.5
- $(RM) $(DESTDIR)$(MANDIR)/man5/aerc-config.5
- $(RM) $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
- $(RM) $(DESTDIR)$(MANDIR)/man5/aerc-jmap.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
- $(RM) $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
- $(RM) -r $(DESTDIR)$(SHAREDIR)
- $(RM) -r $(DESTDIR)$(LIBEXECDIR)
- ${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)
- $(RM) $(DESTDIR)$(PREFIX)/share/applications/aerc.desktop
- $(RMDIR_IF_EMPTY) $(DESTDIR)$(PREFIX)/share/applications
-
-.PHONY: gitconfig
-gitconfig:
- git config format.subjectPrefix "PATCH aerc"
- git config sendemail.to "~rjarry/aerc-devel@lists.sr.ht"
- @mkdir -p .git/hooks
- @rm -f .git/hooks/sendemail-validate*
- @if grep -q GIT_SENDEMAIL_FILE_COUNTER `git --exec-path`/git-send-email 2>/dev/null; then \
- ln -svf ../../contrib/sendemail-validate .git/hooks/sendemail-validate && \
- git config sendemail.validate true; \
- fi
-
-.PHONY: check-patches
-check-patches:
- @contrib/check-patches origin/master..
-
-.PHONY: all doc clean install uninstall debug
+# This file is only left here for explicit error about GNU make requirement
+# when building with other make flavours.
+#
+# Do not edit this file. Edit GNUmakefile instead.
+.PHONY: all
+all .DEFAULT:
+ @echo "Please build and install using GNU make (gmake)"; exit 1
diff --git a/README.md b/README.md
index 242fb99d..727e8eae 100644
--- a/README.md
+++ b/README.md
@@ -72,6 +72,7 @@ Install the dependencies:
older versions may be dropped at any time due to incompatibilities or newer
required language features.)*
- [scdoc](https://git.sr.ht/~sircmpwn/scdoc)
+- GNU make (on \*BSD, `make` commands must be replaced by `gmake`).
Then compile aerc: