Makefile 1.3 KB

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