123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- ERL=erl
- ERLC=erlc
- REBAR=./rebar $(REBAR_ARGS)
- all: compile
- compile: check-slex get-deps
- @$(REBAR) compile
- check-slex: src/erlydtl_scanner.erl
- src/erlydtl_scanner.erl: src/erlydtl_scanner.slex
- @echo Notice: $@ is outdated by $<, consider running "'make slex'".
- get-deps:
- @$(REBAR) get-deps
- update-deps:
- @$(REBAR) update-deps
- .PHONY: tests
- tests: src/erlydtl_parser.erl
- @$(REBAR) eunit
- check: tests dialyze
- ## dialyzer
- PLT_FILE = ~/erlydtl.plt
- PLT_APPS ?= kernel stdlib compiler erts eunit syntax_tools
- DIALYZER_OPTS ?= -Werror_handling -Wrace_conditions -Wunmatched_returns \
- -Wunderspecs --verbose --fullpath
- .PHONY: dialyze
- dialyze: compile
- @[ -f $(PLT_FILE) ] || $(MAKE) plt
- @dialyzer --plt $(PLT_FILE) $(DIALYZER_OPTS) ebin || [ $$? -eq 2 ];
- ## In case you are missing a plt file for dialyzer,
- ## you can run/adapt this command
- .PHONY: plt
- plt: compile
- # we need to remove second copy of file
- rm -f deps/merl/priv/merl_transform.beam
- @echo "Building PLT, may take a few minutes"
- @dialyzer --build_plt --output_plt $(PLT_FILE) --apps \
- $(PLT_APPS) deps/* || [ $$? -eq 2 ];
- clean:
- @[ ! -d deps/merl ] || { echo "Clean merl..." ; $(MAKE) -C deps/merl clean ;}
- @$(REBAR) -C rebar-slex.config clean
- rm -fv erl_crash.dump
- really-clean: clean
- rm -f $(PLT_FILE)
- # rebuild any .slex files as well.. not included by default to avoid
- # the slex dependency, which is only needed in case the .slex file has
- # been modified locally.
- slex: REBAR_DEPS ?= get-deps update-deps
- slex: slex-compile
- slex-skip-deps: REBAR_DEPS:=
- slex-skip-deps: slex-compile
- slex-compile:
- @$(REBAR) -C rebar-slex.config $(REBAR_DEPS) compile
- shell:
- @$(ERL) -pz ebin deps/*/ebin
- # this file must exist for rebar eunit to work
- # but is only built when running rebar compile
- src/erlydtl_parser.erl: compile
|