diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/erlydtl.mk | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/erlydtl.mk b/plugins/erlydtl.mk index e288072..8d8795f 100644 --- a/plugins/erlydtl.mk +++ b/plugins/erlydtl.mk @@ -1,6 +1,10 @@ # Copyright (c) 2013-2014, Loïc Hoguin <[email protected]> # This file is part of erlang.mk and subject to the terms of the ISC License. +# Configuration. + +DTL_FULL_PATH ?= 0 + # Verbosity. dtl_verbose_0 = @echo " DTL " $(filter %.dtl,$(?F)); @@ -11,9 +15,11 @@ dtl_verbose = $(dtl_verbose_$(V)) define compile_erlydtl $(dtl_verbose) erl -noshell -pa ebin/ $(DEPS_DIR)/erlydtl/ebin/ -eval ' \ Compile = fun(F) -> \ - Module = list_to_atom( \ - string:to_lower(filename:basename(F, ".dtl")) ++ "_dtl"), \ - erlydtl:compile(F, Module, [{out_dir, "ebin/"}]) \ + S = fun (1) -> re:replace(filename:rootname(string:sub_string(F, 11), ".dtl"), "/", "_", [{return, list}, global]); \ + (0) -> filename:basename(F, ".dtl") \ + end, \ + Module = list_to_atom(string:to_lower(S($(DTL_FULL_PATH))) ++ "_dtl"), \ + {ok, _} = erlydtl:compile(F, Module, [{out_dir, "ebin/"}, return_errors, {doc_root, "templates"}]) \ end, \ _ = [Compile(F) || F <- string:tokens("$(1)", " ")], \ init:stop()' |