1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- DEPS = $(CURDIR)/deps
- DIALYZER_OPTS = -Wunderspecs
- # List dependencies that should be included in a cached dialyzer PLT file.
- # DIALYZER_DEPS = deps/app1/ebin \
- # deps/app2/ebin
- DEPS_PLT = bench.plt
- ERLANG_DIALYZER_APPS = asn1 \
- compiler \
- crypto \
- edoc \
- edoc \
- erts \
- eunit \
- eunit \
- gs \
- hipe \
- inets \
- kernel \
- mnesia \
- mnesia \
- observer \
- public_key \
- runtime_tools \
- runtime_tools \
- ssl \
- stdlib \
- syntax_tools \
- syntax_tools \
- tools \
- webtool \
- xmerl
- all: compile
- # Clean ebin and .eunit of this project
- clean:
- @rebar clean skip_deps=true
- # Clean this project and all deps
- allclean:
- @rebar clean
- compile: $(DEPS)
- @rebar compile
- compile_skip:
- @rebar compile skip_deps=true
- test: compile deps/basho_bench/basho_bench
- @deps/basho_bench/basho_bench pooler.config
- @deps/basho_bench/priv/summary.r -i tests/current
- deps/basho_bench/basho_bench:
- @(cd deps/basho_bench;$(MAKE))
- $(DEPS):
- @rebar get-deps
- # Full clean and removal of all deps. Remove deps first to avoid
- # wasted effort of cleaning deps before nuking them.
- distclean:
- @rm -rf deps $(DEPS_PLT)
- @rebar clean
- # Only include local PLT if we have deps that we are going to analyze
- ifeq ($(strip $(DIALYZER_DEPS)),)
- dialyzer: ~/.dialyzer_plt
- @dialyzer $(DIALYZER_OPTS) -r ebin
- else
- dialyzer: ~/.dialyzer_plt $(DEPS_PLT)
- @dialyzer $(DIALYZER_OPTS) --plts ~/.dialyzer_plt $(DEPS_PLT) -r ebin
- $(DEPS_PLT):
- @dialyzer --build_plt $(DIALYZER_DEPS) --output_plt $(DEPS_PLT)
- endif
- ~/.dialyzer_plt:
- @echo "ERROR: Missing ~/.dialyzer_plt. Please wait while a new PLT is compiled."
- dialyzer --build_plt --apps $(ERLANG_DIALYZER_APPS)
- @echo "now try your build again"
- doc:
- @rebar doc skip_deps=true
- shell:
- erl -pa deps/*/ebin ebin
- tags:
- find src deps -name "*.[he]rl" -print | etags -
- .PHONY: all compile eunit test dialyzer clean allclean distclean doc tags
|