summaryrefslogtreecommitdiff
path: root/packaging/Makefile
diff options
context:
space:
mode:
authorAlvaro Videla <videlalvaro@gmail.com>2015-11-08 21:52:42 +0100
committerAlvaro Videla <videlalvaro@gmail.com>2015-11-08 21:52:42 +0100
commit543201bf9d09e8d61639ed9b939a82ed43a1c943 (patch)
tree2f7fb889ee54c25eb9b432f45109ea15acc3face /packaging/Makefile
parent2cfcc3d6e033d8b3dd37fc31ea2f274a24262c15 (diff)
parenta0e04b76737b350633196e2a3841afb0e84aa118 (diff)
downloadrabbitmq-server-git-543201bf9d09e8d61639ed9b939a82ed43a1c943.tar.gz
merges master into rabbitmq-server-62
Diffstat (limited to 'packaging/Makefile')
-rw-r--r--packaging/Makefile106
1 files changed, 106 insertions, 0 deletions
diff --git a/packaging/Makefile b/packaging/Makefile
new file mode 100644
index 0000000000..151791152f
--- /dev/null
+++ b/packaging/Makefile
@@ -0,0 +1,106 @@
+# Platform detection.
+
+ifeq ($(PLATFORM),)
+UNAME_S := $(shell uname -s)
+
+ifeq ($(UNAME_S),Linux)
+PLATFORM = linux
+else ifeq ($(UNAME_S),Darwin)
+PLATFORM = darwin
+else ifeq ($(UNAME_S),SunOS)
+PLATFORM = solaris
+else ifeq ($(UNAME_S),GNU)
+PLATFORM = gnu
+else ifeq ($(UNAME_S),FreeBSD)
+PLATFORM = freebsd
+else ifeq ($(UNAME_S),NetBSD)
+PLATFORM = netbsd
+else ifeq ($(UNAME_S),OpenBSD)
+PLATFORM = openbsd
+else ifeq ($(UNAME_S),DragonFly)
+PLATFORM = dragonfly
+else ifeq ($(shell uname -o),Msys)
+PLATFORM = msys2
+else
+$(error Unable to detect platform. Please open a ticket with the output of uname -a.)
+endif
+endif
+
+all: packages
+ @:
+
+# --------------------------------------------------------------------
+# Packaging.
+# --------------------------------------------------------------------
+
+.PHONY: packages package-deb \
+ package-rpm package-rpm-fedora package-rpm-suse \
+ package-windows package-standalone-macosx \
+ package-generic-unix
+
+PACKAGES_DIR ?= ../PACKAGES
+SOURCE_DIST_FILE ?= $(wildcard $(PACKAGES_DIR)/rabbitmq-server-*.tar.xz)
+
+ifeq ($(SOURCE_DIST_FILE),)
+$(error Cannot find source archive; please specify SOURCE_DIST_FILE)
+endif
+ifneq ($(words $(SOURCE_DIST_FILE)),1)
+$(error Multile source archives found; please specify SOURCE_DIST_FILE)
+endif
+ifeq ($(filter %.tar.xz %.txz,$(SOURCE_DIST_FILE)),)
+$(error The source archive must a tar.xz archive)
+endif
+ifeq ($(wildcard $(SOURCE_DIST_FILE)),)
+$(error The source archive must exist)
+endif
+
+packages: package-deb package-rpm package-windows package-generic-unix
+ @:
+
+package-deb: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C debs/Debian \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+
+package-rpm: package-rpm-fedora package-rpm-suse
+ @:
+
+package-rpm-fedora: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C RPMS/Fedora \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+
+package-rpm-suse: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C RPMS/Fedora \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ RPM_OS=suse \
+ all clean
+
+package-windows: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C windows \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+ $(verbose) $(MAKE) -C windows-exe \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+
+package-generic-unix: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C generic-unix \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+
+ifeq ($(PLATFORM),darwin)
+packages: package-standalone-macosx
+
+package-standalone-macosx: $(SOURCE_DIST_FILE)
+ $(gen_verbose) $(MAKE) -C standalone OS=mac \
+ SOURCE_DIST_FILE=$(abspath $(SOURCE_DIST_FILE)) \
+ PACKAGES_DIR=$(abspath $(PACKAGES_DIR)) \
+ all clean
+endif