Makefile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. ARCH ?= amd64
  2. TOPDIR := /tmp/emqx
  3. # Keep this short to avoid bloating beam files with long file path info
  4. SRCDIR := $(TOPDIR)/$(PKG_VSN)
  5. BUILT := $(SRCDIR)/BUILT
  6. EMQX_NAME=$(subst -pkg,,$(EMQX_BUILD))
  7. ifeq ($(IS_ELIXIR), yes)
  8. ELIXIR_PKG_VSN := -elixir$(ELIXIR_VSN)
  9. else
  10. ELIXIR_PKG_VSN :=
  11. endif
  12. TAR_PKG_DIR ?= _build/$(EMQX_BUILD)/rel/emqx
  13. TAR_PKG := $(EMQX_REL)/$(TAR_PKG_DIR)/emqx-$(PKG_VSN).tar.gz
  14. SOURCE_PKG := $(EMQX_NAME)_$(PKG_VSN)_$(shell dpkg --print-architecture)
  15. TARGET_PKG := $(EMQX_NAME)-$(PKG_VSN)-otp$(OTP_VSN)$(ELIXIR_PKG_VSN)-$(SYSTEM)-$(ARCH)
  16. .PHONY: all
  17. all: | $(BUILT)
  18. cp -r debian $(SRCDIR)/
  19. cp emqx.service $(SRCDIR)/debian/${EMQX_NAME}.service
  20. sed -i "s#<DATETIME>#$(shell date -u '+%a, %d %b %Y %T %z')#g" $(SRCDIR)/debian/changelog
  21. sed -i "s#<VERSION>#$(PKG_VSN)#g" $(SRCDIR)/debian/changelog
  22. sed -i "s/emqx-pkg/$(EMQX_NAME)-pkg/g" $(SRCDIR)/debian/rules; \
  23. sed -i "s debian/emqx debian/$(EMQX_NAME) g" $(SRCDIR)/debian/rules; \
  24. sed -i "s/Package: emqx/Package: $(EMQX_NAME)/1" $(SRCDIR)/debian/control; \
  25. cd $(SRCDIR) && dpkg-buildpackage -us -uc
  26. mkdir -p $(EMQX_REL)/_packages/$(EMQX_NAME)
  27. cp $(SRCDIR)/../$(SOURCE_PKG).deb $(EMQX_REL)/_packages/$(EMQX_NAME)/$(TARGET_PKG).deb
  28. $(BUILT):
  29. mkdir -p $(TOPDIR) $(SRCDIR)
  30. tar zxf $(TAR_PKG) -C $(SRCDIR)
  31. clean:
  32. rm -rf $(SRCDIR)