diff options
author | Jared Flatow <[email protected]> | 2016-06-08 18:43:55 -0700 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2016-10-20 13:41:50 +0200 |
commit | 38454657fc33d90333c4d5447fb25bffceb6e80e (patch) | |
tree | a63f69b2a313ad77cb741d5c0ac940920fa18739 /plugins | |
parent | da05859f4bef76b8b933c65ee764c48a97b4baf5 (diff) | |
download | erlang.mk-38454657fc33d90333c4d5447fb25bffceb6e80e.tar.gz erlang.mk-38454657fc33d90333c4d5447fb25bffceb6e80e.tar.bz2 erlang.mk-38454657fc33d90333c4d5447fb25bffceb6e80e.zip |
Fix several problems with the erlydtl plugin:
DTL_SUFFIX:
- make sure it is actually used
- add a test for it (and one combined with other options)
DTL_PATH:
- handle correctly with or without trailing /
- don't hard-code the `doc_root` opt - the erlydtl default is better
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/erlydtl.mk | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/plugins/erlydtl.mk b/plugins/erlydtl.mk index 776a836..1aa9cd7 100644 --- a/plugins/erlydtl.mk +++ b/plugins/erlydtl.mk @@ -15,15 +15,14 @@ dtl_verbose = $(dtl_verbose_$(V)) # Core targets. -DTL_FILES = $(sort $(call core_find,$(DTL_PATH),*.dtl)) +DTL_PATH := $(abspath $(DTL_PATH)) +DTL_FILES = $(call core_find,$(DTL_PATH),*.dtl) ifneq ($(DTL_FILES),) -ifdef DTL_FULL_PATH -BEAM_FILES += $(addprefix ebin/,$(patsubst %.dtl,%_dtl.beam,$(subst /,_,$(DTL_FILES:$(DTL_PATH)%=%)))) -else -BEAM_FILES += $(addprefix ebin/,$(patsubst %.dtl,%_dtl.beam,$(notdir $(DTL_FILES)))) -endif +DTL_NAMES = $(addsuffix $(DTL_SUFFIX),$(DTL_FILES:$(DTL_PATH)/%.dtl=%)) +DTL_MODULES = $(if $(DTL_FULL_PATH),$(subst /,_,$(DTL_NAMES)),$(notdir $(DTL_NAMES))) +BEAM_FILES += $(addsuffix .beam,$(addprefix ebin/,$(DTL_MODULES))) # Rebuild templates when the Makefile changes. $(DTL_FILES): $(MAKEFILE_LIST) @@ -35,11 +34,11 @@ define erlydtl_compile.erl "" -> filename:basename(F, ".dtl"); _ -> - "$(DTL_PATH)" ++ F2 = filename:rootname(F, ".dtl"), + "$(DTL_PATH)/" ++ F2 = filename:rootname(F, ".dtl"), re:replace(F2, "/", "_", [{return, list}, global]) end, Module = list_to_atom(string:to_lower(Module0) ++ "$(DTL_SUFFIX)"), - case erlydtl:compile(F, Module, [$(DTL_OPTS)] ++ [{out_dir, "ebin/"}, return_errors, {doc_root, "templates"}]) of + case erlydtl:compile(F, Module, [$(DTL_OPTS)] ++ [{out_dir, "ebin/"}, return_errors]) of ok -> ok; {ok, _} -> ok end |