Makefile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. REBAR = $(CURDIR)/rebar3
  2. PROFILE ?= emqx
  3. PROFILES := emqx emqx-edge
  4. PKG_PROFILES := emqx-pkg emqx-edge-pkg
  5. export DEFAULT_VSN ?= $(shell ./get-lastest-tag.escript)
  6. ifneq ($(shell echo $(DEFAULT_VSN) | grep -oE "^[ev0-9]+\.[0-9]+(\.[0-9]+)?"),)
  7. export PKG_VSN := $(patsubst v%,%,$(patsubst e%,%,$(DEFAULT_VSN)))
  8. else
  9. export PKG_VSN := $(patsubst v%,%,$(DEFAULT_VSN))
  10. endif
  11. .PHONY: default
  12. default: $(REBAR) $(PROFILE)
  13. .PHONY: all
  14. all: $(REBAR) $(PROFILES)
  15. .PHONY: distclean
  16. distclean:
  17. @rm -rf _build
  18. .PHONY: $(PROFILES)
  19. $(PROFILES:%=%): $(REBAR)
  20. ifneq ($(shell echo $(@) |grep edge),)
  21. export EMQX_DESC="EMQ X Edge"
  22. else
  23. export EMQX_DESC="EMQ X Broker"
  24. endif
  25. $(REBAR) as $(@) release
  26. .PHONY: $(PROFILES:%=build-%)
  27. $(PROFILES:%=build-%): $(REBAR)
  28. $(REBAR) as $(@:build-%=%) compile
  29. .PHONY: clean $(PROFILES:%=clean-%)
  30. clean: $(PROFILES:%=clean-%)
  31. $(PROFILES:%=clean-%): $(REBAR)
  32. @rm -rf _build/$(@:clean-%=%)
  33. @rm -rf _build/$(@:clean-%=%)+test
  34. .PHONY: deps-all
  35. deps-all: $(REBAR) $(PROFILES:%=deps-%) $(PKG_PROFILES:%=deps-%)
  36. .PHONY: $(PROFILES:%=deps-%) $(PKG_PROFILES:%=deps-%)
  37. $(PROFILES:%=deps-%) $(PKG_PROFILES:%=deps-%): $(REBAR)
  38. ifneq ($(shell echo $(@) |grep edge),)
  39. export EMQX_DESC="EMQ X Edge"
  40. else
  41. export EMQX_DESC="EMQ X Broker"
  42. endif
  43. $(REBAR) as $(@:deps-%=%) get-deps
  44. include packages.mk
  45. include docker.mk