diff options
author | Robin Jarry <robin@jarry.cc> | 2023-03-05 23:51:52 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-03-06 23:54:06 +0100 |
commit | 8b26dc1d62c8ec258707527953bd0d2195684adf (patch) | |
tree | 49adb1d8e033e67a61ed4d1ec067a8bef3192255 /Makefile | |
parent | 4d3b1cb98bee1bed18fa6f47192186f8f3eb6e0e (diff) | |
download | aerc-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-- | Makefile | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -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 := \ |