build: compatibility to make 4.4+
Prevent recursion expansion to run scripts during make. more details: https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html > * WARNING: Backward-incompatibility! Previously makefile variables marked as export were not exported to commands started by the $(shell ...) function. Now, all exported variables are exported to $(shell ...). If this leads to recursion during expansion, then for backward-compatibility the value from the original environment is used. To detect this change search for 'shell-export' in the .FEATURES variable.
This commit is contained in:
parent
f6c5644448
commit
b197d57a8e
22
Makefile
22
Makefile
|
@ -4,12 +4,6 @@ SCRIPTS = $(CURDIR)/scripts
|
||||||
export EMQX_RELUP ?= true
|
export EMQX_RELUP ?= true
|
||||||
export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.0-28:1.13.4-24.3.4.2-2-debian11
|
export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.0-28:1.13.4-24.3.4.2-2-debian11
|
||||||
export EMQX_DEFAULT_RUNNER = debian:11-slim
|
export EMQX_DEFAULT_RUNNER = debian:11-slim
|
||||||
export OTP_VSN ?= $(shell $(CURDIR)/scripts/get-otp-vsn.sh)
|
|
||||||
export ELIXIR_VSN ?= $(shell $(CURDIR)/scripts/get-elixir-vsn.sh)
|
|
||||||
|
|
||||||
export EMQX_DASHBOARD_VERSION ?= v1.2.4
|
|
||||||
export EMQX_EE_DASHBOARD_VERSION ?= e1.0.6
|
|
||||||
|
|
||||||
export EMQX_REL_FORM ?= tgz
|
export EMQX_REL_FORM ?= tgz
|
||||||
export QUICER_DOWNLOAD_FROM_RELEASE = 1
|
export QUICER_DOWNLOAD_FROM_RELEASE = 1
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
|
@ -19,6 +13,22 @@ else
|
||||||
FIND=find
|
FIND=find
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Dashbord version
|
||||||
|
# from https://github.com/emqx/emqx-dashboard5
|
||||||
|
export EMQX_DASHBOARD_VERSION ?= v1.2.4
|
||||||
|
export EMQX_EE_DASHBOARD_VERSION ?= e1.0.6
|
||||||
|
|
||||||
|
# `:=` should be used here, otherwise the `$(shell ...)` will be executed every time when the variable is used
|
||||||
|
# In make 4.4+, for backward-compatibility the value from the original environment is used.
|
||||||
|
# so the shell script will be executed tons of times.
|
||||||
|
# https://github.com/emqx/emqx/pull/10627
|
||||||
|
ifeq ($(strip $(OTP_VSN)),)
|
||||||
|
export OTP_VSN := $(shell $(SCRIPTS)/get-otp-vsn.sh)
|
||||||
|
endif
|
||||||
|
ifeq ($(strip $(ELIXIR_VSN)),)
|
||||||
|
export ELIXIR_VSN := $(shell $(SCRIPTS)/get-elixir-vsn.sh)
|
||||||
|
endif
|
||||||
|
|
||||||
PROFILE ?= emqx
|
PROFILE ?= emqx
|
||||||
REL_PROFILES := emqx emqx-enterprise
|
REL_PROFILES := emqx emqx-enterprise
|
||||||
PKG_PROFILES := emqx-pkg emqx-enterprise-pkg
|
PKG_PROFILES := emqx-pkg emqx-enterprise-pkg
|
||||||
|
|
Loading…
Reference in New Issue