Bump erlang.mk with 'gmake erlang-mk'

This commit is contained in:
Michael Klishin 2025-08-29 12:44:38 -04:00
parent 676698a233
commit 36674f1129
No known key found for this signature in database
GPG Key ID: 16AB14D00D613900
1 changed files with 23 additions and 3 deletions

26
erlang.mk vendored
View File

@ -17,7 +17,7 @@
ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST))) ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST)))
export ERLANG_MK_FILENAME export ERLANG_MK_FILENAME
ERLANG_MK_VERSION = f157f11 ERLANG_MK_VERSION = 7cef74a
ERLANG_MK_WITHOUT = ERLANG_MK_WITHOUT =
# Make 3.81 and 3.82 are deprecated. # Make 3.81 and 3.82 are deprecated.
@ -948,10 +948,11 @@ define dep_autopatch_rebar.erl
Write(io_lib:format("COMPILE_FIRST +=~s\n", [Names])) Write(io_lib:format("COMPILE_FIRST +=~s\n", [Names]))
end end
end(), end(),
Write("\n\nrebar_dep: preprocess pre-deps deps pre-app app\n"), Write("\n\nrebar_dep: preprocess pre-deps deps pre-app app post-app\n"),
Write("\npreprocess::\n"), Write("\npreprocess::\n"),
Write("\npre-deps::\n"), Write("\npre-deps::\n"),
Write("\npre-app::\n"), Write("\npre-app::\n"),
Write("\npost-app::\n"),
PatchHook = fun(Cmd) -> PatchHook = fun(Cmd) ->
Cmd2 = re:replace(Cmd, "^([g]?make)(.*)( -C.*)", "\\\\1\\\\3\\\\2", [{return, list}]), Cmd2 = re:replace(Cmd, "^([g]?make)(.*)( -C.*)", "\\\\1\\\\3\\\\2", [{return, list}]),
case Cmd2 of case Cmd2 of
@ -982,6 +983,24 @@ define dep_autopatch_rebar.erl
end || H <- Hooks] end || H <- Hooks]
end end
end(), end(),
fun() ->
case lists:keyfind(post_hooks, 1, Conf) of
false -> ok;
{_, Hooks} ->
[case H of
{compile, Cmd} ->
Write("\npost-app::\n\tCC=$$\(CC) " ++ PatchHook(Cmd) ++ "\n");
{{pc, compile}, Cmd} ->
Write("\npost-app::\n\tCC=$$\(CC) " ++ PatchHook(Cmd) ++ "\n");
{Regex, compile, Cmd} ->
case rebar_utils:is_arch(Regex) of
true -> Write("\npost-app::\n\tCC=$$\(CC) " ++ PatchHook(Cmd) ++ "\n");
false -> ok
end;
_ -> ok
end || H <- Hooks]
end
end(),
ShellToMk = fun(V0) -> ShellToMk = fun(V0) ->
V1 = re:replace(V0, "[$$][(]", "$$\(shell ", [global]), V1 = re:replace(V0, "[$$][(]", "$$\(shell ", [global]),
V = re:replace(V1, "([$$])(?![(])(\\\\w*)", "\\\\1(\\\\2)", [global]), V = re:replace(V1, "([$$])(?![(])(\\\\w*)", "\\\\1(\\\\2)", [global]),
@ -1954,7 +1973,8 @@ define dep_autopatch_mix.erl
endef endef
define dep_autopatch_mix define dep_autopatch_mix
sed 's|\(defmodule.*do\)|\1\n try do\n Code.compiler_options(on_undefined_variable: :warn)\n rescue _ -> :ok\n end\n|g' -i $(DEPS_DIR)/$(1)/mix.exs; \ sed 's|\(defmodule.*do\)|\1\n try do\n Code.compiler_options(on_undefined_variable: :warn)\n rescue _ -> :ok\n end\n|g' $(DEPS_DIR)/$(1)/mix.exs > $(DEPS_DIR)/$(1)/mix.exs.new; \
mv $(DEPS_DIR)/$(1)/mix.exs.new $(DEPS_DIR)/$(1)/mix.exs; \
$(MAKE) $(DEPS_DIR)/hex_core/ebin/dep_built; \ $(MAKE) $(DEPS_DIR)/hex_core/ebin/dep_built; \
MIX_ENV="$(if $(MIX_ENV),$(strip $(MIX_ENV)),prod)" \ MIX_ENV="$(if $(MIX_ENV),$(strip $(MIX_ENV)),prod)" \
$(call erlang,$(call dep_autopatch_mix.erl,$1)) $(call erlang,$(call dep_autopatch_mix.erl,$1))