| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/usr/bin/make -f
- # -*- makefile -*-
- PROFILES := emqx emqx-edge
- PKG_PROFILES := emqx-pkg emqx-edge-pkg
- ifeq ($(shell uname -s),Darwin)
- SYSTEM := macos
- else ifeq ($(shell uname -s),Linux)
- ifneq ($(shell cat /etc/*-release |grep -o -i centos),)
- ID := centos
- VERSION_ID := $(shell rpm --eval '%{centos_ver}')
- else
- ID := $(shell sed -n '/^ID=/p' /etc/os-release | sed -r 's/ID=(.*)/\1/g' | sed 's/"//g' )
- VERSION_ID := $(shell sed -n '/^VERSION_ID=/p' /etc/os-release | sed -r 's/VERSION_ID=(.*)/\1/g' | sed 's/"//g')
- endif
- SYSTEM := $(shell echo $(ID)$(VERSION_ID) | sed -r "s/([a-zA-Z]*)-.*/\1/g")
- ##
- ## Support RPM and Debian based linux systems
- ##
- ifeq ($(ID),ubuntu)
- PKGERDIR := deb
- else ifeq ($(ID),debian)
- PKGERDIR := deb
- else ifeq ($(ID),raspbian)
- PKGERDIR := deb
- else
- PKGERDIR := rpm
- endif
- endif
- .PHONY: $(PROFILES:%=relup-%)
- $(PROFILES:%=relup-%): $(REBAR)
- ifneq ($(OS),Windows_NT)
- @ln -snf _build/$(@:relup-%=%)/lib
- @if [ ! -z $$(ls | grep -E "$(@:relup-%=%)-$(SYSTEM)-(.*)-$$(uname -m).zip" | head -1 ) ]; then \
- mkdir -p tmp/relup_packages/$(@:relup-%=%); \
- cp $(@:relup-%=%)-$(SYSTEM)-*-$$(uname -m).zip tmp/relup_packages/$(@:relup-%=%); \
- fi
- $(REBAR) as $(@:relup-%=%) relup
- endif
- .PHONY: $(PROFILES:%=%-tar) $(PKG_PROFILES:%=%-tar)
- $(PROFILES:%=%-tar) $(PKG_PROFILES:%=%-tar): $(REBAR)
- ifneq ($(OS),Windows_NT)
- @ln -snf _build/$(subst -tar,,$(@))/lib
- endif
- ifneq ($(shell echo $(@) |grep edge),)
- export EMQX_DESC="EMQ X Edge"
- else
- export EMQX_DESC="EMQ X Broker"
- endif
- $(REBAR) as $(subst -tar,,$(@)) tar
- .PHONY: $(PROFILES:%=%-zip)
- $(PROFILES:%=%-zip): $(REBAR)
- ifneq ($(shell echo $(PKG_VSN) | grep -oE "^[0-9]+\.[0-9]+\.[1-9]+?"),)
- make relup-$(subst -zip,,$(@))
- endif
- make $(subst -zip,,$(@))-tar
- @tard="/tmp/emqx_untar_$(PKG_VSN)" \
- && rm -rf "$${tard}" && mkdir -p "$${tard}/emqx" \
- && prof="$(subst -zip,,$(@))" \
- && relpath="$$(pwd)/_build/$${prof}/rel/emqx" \
- && pkgpath="$$(pwd)/_packages/$${prof}" \
- && mkdir -p $${pkgpath} \
- && tarball="$${relpath}/emqx-$(PKG_VSN).tar.gz" \
- && zipball="$${pkgpath}/$${prof}-$(SYSTEM)-$(PKG_VSN)-$$(uname -m).zip" \
- && tar zxf "$${tarball}" -C "$${tard}/emqx" \
- && cd "$${tard}" && zip -q -r "$${zipball}" ./emqx && cd -
- .PHONY: $(PKG_PROFILES)
- $(PKG_PROFILES:%=%): $(REBAR)
- ifneq ($(PKGERDIR),)
- make $(subst -pkg,,$(@))-zip
- make $(@)-tar
- make -C deploy/packages/$(PKGERDIR) clean
- EMQX_REL=$$(pwd) EMQX_BUILD=$(@) PKG_VSN=$(PKG_VSN) SYSTEM=$(SYSTEM) make -C deploy/packages/$(PKGERDIR)
- else
- make $(subst -pkg,,$(@))-zip
- endif
|