diff --git a/Makefile b/Makefile index 97cd2446d0..9340c9b3dc 100644 --- a/Makefile +++ b/Makefile @@ -58,11 +58,20 @@ GOFLAGS ?= $(GOFLAGS:) -mod=vendor export GOBIN ?= $(PWD)/bin GO=go DELVE=dlv -LDFLAGS += -X "github.com/mattermost/mattermost-server/v5/model.BuildNumber=$(BUILD_NUMBER)" + +# We need to use the second flavour of makefile variables and use a dedicated +# variable here, otherwise this will cause an infinite loop. +# src.: https://www.gnu.org/software/make/manual/make.html#Flavors +LDFLAGS_MATTERMOST := $(LDFLAGS) +LDFLAGS = -X "github.com/mattermost/mattermost-server/v5/model.BuildNumber=$(BUILD_NUMBER)" LDFLAGS += -X "github.com/mattermost/mattermost-server/v5/model.BuildDate=$(BUILD_DATE)" LDFLAGS += -X "github.com/mattermost/mattermost-server/v5/model.BuildHash=$(BUILD_HASH)" LDFLAGS += -X "github.com/mattermost/mattermost-server/v5/model.BuildHashEnterprise=$(BUILD_HASH_ENTERPRISE)" LDFLAGS += -X "github.com/mattermost/mattermost-server/v5/model.BuildEnterpriseReady=$(BUILD_ENTERPRISE_READY)" +# The link mode needs to be at the end of the LDFLAGS statement otherwise the +# build pieces of info won't be populated to the about dialog in the app. +LDFLAGS += -linkmode external -extldflags '$(LDFLAGS_MATTERMOST)' -s -w + GO_MAJOR_VERSION = $(shell $(GO) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1) GO_MINOR_VERSION = $(shell $(GO) version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2) MINIMUM_SUPPORTED_GO_MAJOR_VERSION = 1