Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. .PHONY: rel deps test plugins
  2. APP = emqttd
  3. BASE_DIR = $(shell pwd)
  4. REBAR = $(BASE_DIR)/rebar
  5. DIST = $(BASE_DIR)/rel/$(APP)
  6. all: deps compile
  7. compile: deps
  8. @$(REBAR) compile
  9. deps:
  10. @$(REBAR) get-deps
  11. update-deps:
  12. @$(REBAR) update-deps
  13. xref:
  14. @$(REBAR) xref skip_deps=true
  15. clean:
  16. @$(REBAR) clean
  17. test:
  18. @$(REBAR) skip_deps=true eunit
  19. edoc:
  20. @$(REBAR) doc
  21. rel: compile
  22. @cd rel && $(REBAR) generate -f
  23. plugins:
  24. @for plugin in ./plugins/* ; do \
  25. if [ -d $${plugin} ]; then \
  26. mkdir -p $(DIST)/$${plugin}/ ; \
  27. cp -R $${plugin}/ebin $(DIST)/$${plugin}/ ; \
  28. [ -d "$${plugin}/priv" ] && cp -R $${plugin}/priv $(DIST)/$${plugin}/ ; \
  29. [ -d "$${plugin}/etc" ] && cp -R $${plugin}/etc $(DIST)/$${plugin}/ ; \
  30. echo "$${plugin} copied" ; \
  31. fi \
  32. done
  33. dist: rel plugins
  34. PLT = $(BASE_DIR)/.emqttd_dialyzer.plt
  35. APPS = erts kernel stdlib sasl crypto ssl os_mon syntax_tools \
  36. public_key mnesia inets compiler
  37. check_plt: compile
  38. dialyzer --check_plt --plt $(PLT) --apps $(APPS) \
  39. deps/*/ebin ./ebin
  40. build_plt: compile
  41. dialyzer --build_plt --output_plt $(PLT) --apps $(APPS) \
  42. deps/*/ebin ./ebin
  43. dialyzer: compile
  44. dialyzer -Wno_return --plt $(PLT) deps/*/ebin ./ebin