mk: rename ambiguous LDFLAGS variable

The LDFLAGS environment variable is usually indented for C the linker
flags which are not compatible with go -ldflags.

Use a more explicit GO_LDFLAGS variable instead. Allow adding extra
flags without overriding the default ones by specifying
GO_EXTRA_LDFLAGS.

This may break the build on some distros that rely on setting LDFLAGS to
change the default shareDir or version. They will have to switch to
GO_EXTRA_LDFLAGS.

Link: https://salsa.debian.org/go-team/packages/aerc/-/commit/e9ed90beae9f
Link: https://src.fedoraproject.org/rpms/aerc/blob/f36/f/aerc.spec#_86
Fixes: e7e22aba60 ("mk: rebuild if goflags or ldflags have changed")
Signed-off-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
Robin Jarry 2022-03-28 14:33:17 +02:00
parent 2fd9cef568
commit 247c6c7438

View file

@ -10,8 +10,11 @@ SHAREDIR?=$(PREFIX)/share/aerc
MANDIR?=$(PREFIX)/share/man
GO?=go
GOFLAGS?=
LDFLAGS+=-X main.Version=$(VERSION)
LDFLAGS+=-X git.sr.ht/~rjarry/aerc/config.shareDir=$(SHAREDIR)
# ignore environment variable
GO_LDFLAGS:=
GO_LDFLAGS+=-X main.Version=$(VERSION)
GO_LDFLAGS+=-X git.sr.ht/~rjarry/aerc/config.shareDir=$(SHAREDIR)
GO_LDFLAGS+=$(GO_EXTRA_LDFLAGS)
GOSRC!=find * -name '*.go'
GOSRC+=go.mod go.sum
@ -31,7 +34,7 @@ DOCS := \
all: aerc $(DOCS)
build_cmd:=$(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o aerc
build_cmd:=$(GO) build $(GOFLAGS) -ldflags "$(GO_LDFLAGS)" -o aerc
# the following command outputs nothing, we only want to execute it once
# and force .aerc.d to be regenerated when build_cmd has changed
@ -63,7 +66,7 @@ debug: aerc.debug
@echo ' dlv attach $$(pidof aerc.debug)'
aerc.debug: $(GOSRC)
$(GO) build $(GOFLAGS) -gcflags=*=-N -gcflags=*=-l -ldflags="$(LDFLAGS)" -o aerc.debug
$(GO) build $(GOFLAGS) -gcflags=*=-N -gcflags=*=-l -ldflags="$(GO_LDFLAGS)" -o aerc.debug
.1.scd.1:
scdoc < $< > $@