mirror of
https://gitee.com/dgiiot/dgiot.git
synced 2024-12-05 05:37:40 +08:00
63 lines
1.9 KiB
Makefile
63 lines
1.9 KiB
Makefile
# Keep this short to avoid bloating beam files with long file path info
|
|
TOPDIR := /tmp/emqx
|
|
SRCDIR := $(TOPDIR)/$(PKG_VSN)
|
|
BUILT := $(SRCDIR)/BUILT
|
|
dash := -
|
|
none :=
|
|
space := $(none) $(none)
|
|
RPM_VSN ?= $(shell echo $(PKG_VSN) | grep -oE "[0-9]+\.[0-9]+(\.[0-9]+)?")
|
|
RPM_REL ?= $(shell echo $(PKG_VSN) | grep -oE "(alpha|beta|rc)\.[0-9]")
|
|
|
|
ARCH ?= amd64
|
|
ifeq ($(ARCH),mips64)
|
|
ARCH:=mips64el
|
|
endif
|
|
|
|
EMQX_NAME=$(subst -pkg,,$(EMQX_BUILD))
|
|
|
|
TAR_PKG := $(EMQX_REL)/_build/$(EMQX_BUILD)/rel/emqx/emqx-$(PKG_VSN).tar.gz
|
|
TARGET_PKG := $(EMQX_NAME)-$(SYSTEM)-$(PKG_VSN)-$(ARCH)
|
|
ifeq ($(RPM_REL),)
|
|
# no tail
|
|
RPM_REL := 1
|
|
endif
|
|
SOURCE_PKG := emqx-$(SYSTEM)-$(RPM_VSN)-$(RPM_REL).$(shell uname -m)
|
|
|
|
SYSTEMD := $(shell if command -v systemctl >/dev/null 2>&1; then echo yes; fi)
|
|
# Not $(PWD) as it does not work for make -C
|
|
CURDIR := $(shell pwd)
|
|
|
|
SERVICE_SRC := $(if $(SYSTEMD),$(CURDIR)/emqx.service,$(CURDIR)/init.script)
|
|
SERVICE_DST := $(if $(SYSTEMD),%{_unitdir}/emqx.service,%{_initddir}/emqx)
|
|
|
|
POST_ADDITION := $(if $(SYSTEMD),%systemd_post %{_name}.service,echo post)
|
|
PREUN_ADDITION := $(if $(SYSTEMD),%systemd_preun %{_name}.service,echo preun)
|
|
|
|
.PHONY: all
|
|
all: | $(BUILT)
|
|
cd $(SRCDIR)
|
|
rpmbuild -v -bb \
|
|
--define "_package_name $(EMQX_NAME)" \
|
|
--define "_name emqx" \
|
|
--define "_topdir $(TOPDIR)" \
|
|
--define "_version $(RPM_VSN)" \
|
|
--define "_reldir $(SRCDIR)" \
|
|
--define "_release $(RPM_REL)" \
|
|
--define "_service_src $(SERVICE_SRC)" \
|
|
--define "_service_dst $(SERVICE_DST)" \
|
|
--define "_post_addition $(POST_ADDITION)" \
|
|
--define "_preun_addition $(PREUN_ADDITION)" \
|
|
--define "_ostype -$(SYSTEM)" \
|
|
--define "_sharedstatedir /var/lib" \
|
|
emqx.spec
|
|
mkdir -p $(EMQX_REL)/_packages/$(EMQX_NAME)
|
|
cp $(TOPDIR)/RPMS/$(shell uname -m)/$(SOURCE_PKG).rpm $(EMQX_REL)/_packages/$(EMQX_NAME)/$(TARGET_PKG).rpm
|
|
|
|
$(BUILT):
|
|
mkdir -p $(TOPDIR) $(SRCDIR) $(SRCDIR)/BUILT
|
|
tar zxf $(TAR_PKG) -C $(SRCDIR)
|
|
|
|
clean:
|
|
rm -rf $(SRCDIR)
|
|
|