diff options
-rw-r--r-- | core/core.mk | 9 | ||||
-rw-r--r-- | plugins/relx.mk | 19 |
2 files changed, 27 insertions, 1 deletions
diff --git a/core/core.mk b/core/core.mk index 5cb0b54..8d05adc 100644 --- a/core/core.mk +++ b/core/core.mk @@ -85,6 +85,15 @@ help:: # Core functions. +define newline + + +endef + +define erlang +$(ERL) -eval "$(subst $(newline),,$(subst ",\\",$(1)))" +endef + ifeq ($(shell which wget 2>/dev/null | wc -l), 1) define core_http_get wget --no-check-certificate -O $(1) $(2)|| rm $(1) diff --git a/plugins/relx.mk b/plugins/relx.mk index 43f3d69..177e5a7 100644 --- a/plugins/relx.mk +++ b/plugins/relx.mk @@ -1,7 +1,7 @@ # Copyright (c) 2013-2015, Loïc Hoguin <[email protected]> # This file is part of erlang.mk and subject to the terms of the ISC License. -.PHONY: relx-rel distclean-relx-rel distclean-relx +.PHONY: relx-rel distclean-relx-rel distclean-relx run # Configuration. @@ -46,3 +46,20 @@ distclean-relx-rel: distclean-relx: $(gen_verbose) rm -rf $(RELX) + +ifeq ($(wildcard $(RELX_CONFIG)),) +run: +else + +define get_relx_release.erl +{ok, Config} = file:consult("$(RELX_CONFIG)"), +{release, {Name, _}, _} = lists:keyfind(release, 1, Config), +io:format("~s", [Name]), +halt(0). +endef + +RELX_RELEASE = `$(call erlang,$(get_relx_release.erl))` + +run: all + @$(RELX_OUTPUT_DIR)/$(RELX_RELEASE)/bin/$(RELX_RELEASE) console +endif |