aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-03-05 23:51:52 +0100
committerRobin Jarry <robin@jarry.cc>2023-03-06 23:54:06 +0100
commit8b26dc1d62c8ec258707527953bd0d2195684adf (patch)
tree49adb1d8e033e67a61ed4d1ec067a8bef3192255 /Makefile
parent4d3b1cb98bee1bed18fa6f47192186f8f3eb6e0e (diff)
downloadaerc-8b26dc1d62c8ec258707527953bd0d2195684adf.tar.gz
mk: speed up notmuch detection
Use gcc instead of go to build a basic program and determine if notmuch is available. Building a minimal go program takes more than 300ms on a fast machine. A minimal C counterpart takes less than 100ms. To avoid lag when doing bash completion, avoid running any shell commands directly during make evaluation. Rename check-notmuch.sh to goflags.sh and make that script print the goflags directly. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Inwit <inwit@sindominio.net>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile10
1 files changed, 4 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index dd80a895..3012757d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
.SUFFIXES:
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd
-VERSION!=git describe --long --abbrev=12 --tags --dirty 2>/dev/null || echo 0.14.0
+VERSION?=`git describe --long --abbrev=12 --tags --dirty 2>/dev/null || echo 0.14.0`
VPATH=doc
PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
@@ -10,19 +10,17 @@ SHAREDIR?=$(PREFIX)/share/aerc
LIBEXECDIR?=$(PREFIX)/libexec/aerc
MANDIR?=$(PREFIX)/share/man
GO?=go
-default_goflags!=GO=$(GO) contrib/check-notmuch.sh 2>/dev/null && echo -tags=notmuch
-GOFLAGS?=$(default_goflags)
+GOFLAGS?=`contrib/goflags.sh`
BUILD_OPTS?=-trimpath
-flags!=echo -- $(GOFLAGS) | base64 | tr -d '\n'
# ignore environment variable
GO_LDFLAGS:=
GO_LDFLAGS+=-X main.Version=$(VERSION)
-GO_LDFLAGS+=-X main.Flags=$(flags)
+GO_LDFLAGS+=-X main.Flags=$$(echo -- $(GOFLAGS) | base64 | tr -d '\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 * -name '*.go' | grep -v filters/wrap.go
+GOSRC!=find * -type f -name '*.go'
GOSRC+=go.mod go.sum
DOCS := \