summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-10-10 09:51:56 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-10-10 09:51:56 +0100
commita68c38ab1d848895e9fced860c6dde21ba7dd442 (patch)
treebbbfe073cb6cf492c4faa654ce21d71f57dfefe0 /Makefile
parent44acb8b38d8a2f34a14d6fb4cb865a6dee7e2202 (diff)
parent6eff8be926c6cc45cec05a360e68234581e7194d (diff)
downloadrabbitmq-server-a68c38ab1d848895e9fced860c6dde21ba7dd442.tar.gz
merge default into bug21319
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile50
1 files changed, 43 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 9c069093..2af3b5bf 100644
--- a/Makefile
+++ b/Makefile
@@ -14,11 +14,11 @@ DOCS_DIR=docs
INCLUDES=$(wildcard $(INCLUDE_DIR)/*.hrl) $(INCLUDE_DIR)/rabbit_framing.hrl
SOURCES=$(wildcard $(SOURCE_DIR)/*.erl) $(SOURCE_DIR)/rabbit_framing_amqp_0_9_1.erl $(SOURCE_DIR)/rabbit_framing_amqp_0_8.erl $(USAGES_ERL)
BEAM_TARGETS=$(patsubst $(SOURCE_DIR)/%.erl, $(EBIN_DIR)/%.beam, $(SOURCES))
-TARGETS=$(EBIN_DIR)/rabbit.app $(INCLUDE_DIR)/rabbit_framing.hrl $(BEAM_TARGETS)
+TARGETS=$(EBIN_DIR)/rabbit.app $(INCLUDE_DIR)/rabbit_framing.hrl $(BEAM_TARGETS) plugins
WEB_URL=http://www.rabbitmq.com/
MANPAGES=$(patsubst %.xml, %.gz, $(wildcard $(DOCS_DIR)/*.[0-9].xml))
WEB_MANPAGES=$(patsubst %.xml, %.man.xml, $(wildcard $(DOCS_DIR)/*.[0-9].xml) $(DOCS_DIR)/rabbitmq-service.xml)
-USAGES_XML=$(DOCS_DIR)/rabbitmqctl.1.xml
+USAGES_XML=$(DOCS_DIR)/rabbitmqctl.1.xml $(DOCS_DIR)/rabbitmq-plugins.1.xml
USAGES_ERL=$(foreach XML, $(USAGES_XML), $(call usage_xml_to_erl, $(XML)))
QC_MODULES := rabbit_backing_queue_qc
QC_TRIALS ?= 100
@@ -57,6 +57,8 @@ endif
ERLC_OPTS=-I $(INCLUDE_DIR) -o $(EBIN_DIR) -Wall -v +debug_info $(call boolean_macro,$(USE_SPECS),use_specs) $(call boolean_macro,$(USE_PROPER_QC),use_proper_qc)
VERSION=0.0.0
+PLUGINS_SRC_DIR?=$(shell [ -d "plugins-src" ] && echo "plugins-src" || echo )
+PLUGINS_DIR=plugins
TARBALL_NAME=rabbitmq-server-$(VERSION)
TARGET_SRC_DIR=dist/$(TARBALL_NAME)
@@ -101,6 +103,29 @@ endif
all: $(TARGETS)
+.PHONY: plugins
+ifneq "$(PLUGINS_SRC_DIR)" ""
+plugins:
+ [ -d "$(PLUGINS_SRC_DIR)/rabbitmq-server" ] || ln -s "$(CURDIR)" "$(PLUGINS_SRC_DIR)/rabbitmq-server"
+ mkdir -p $(PLUGINS_DIR)
+ PLUGINS_SRC_DIR="" $(MAKE) -C "$(PLUGINS_SRC_DIR)" plugins-dist PLUGINS_DIST_DIR="$(CURDIR)/$(PLUGINS_DIR)" VERSION=$(VERSION)
+ echo "Put your EZs here and use rabbitmq-plugins to enable them." > $(PLUGINS_DIR)/README
+ rm -f $(PLUGINS_DIR)/rabbit_common*.ez
+
+# If you add a license here, make sure to also add it to packaging/common/LICENSE.
+PLUGINS_SRC_LICENSES := "plugins-src/rabbitmq-management/LICENSE-MIT-jQuery142" \
+ "plugins-src/rabbitmq-management/LICENSE-MIT-EJS10" \
+ "plugins-src/rabbitmq-management/LICENSE-MIT-Sammy060" \
+ "plugins-src/webmachine-wrapper/LICENSE-Apache-Basho" \
+ "plugins-src/mochiweb-wrapper/LICENSE-MIT-Mochi" \
+ "plugins-src/rabbitmq-management-visualiser/LICENSE-BSD-glMatrix" \
+ "plugins-src/eldap-wrapper/LICENSE-MIT-eldap"
+else
+plugins:
+# Not building plugins
+PLUGINS_SRC_LICENSES :=
+endif
+
$(DEPS_FILE): $(SOURCES) $(INCLUDES)
rm -f $@
echo $(subst : ,:,$(foreach FILE,$^,$(FILE):)) | escript generate_deps $@ $(EBIN_DIR)
@@ -143,6 +168,8 @@ $(BASIC_PLT): $(BEAM_TARGETS)
clean:
rm -f $(EBIN_DIR)/*.beam
rm -f $(EBIN_DIR)/rabbit.app $(EBIN_DIR)/rabbit.boot $(EBIN_DIR)/rabbit.script $(EBIN_DIR)/rabbit.rel
+ rm -f $(PLUGINS_DIR)/*.ez
+ [ -d "$(PLUGINS_SRC_DIR)" ] && PLUGINS_SRC_DIR="" PRESERVE_CLONE_DIR=1 make -C $(PLUGINS_SRC_DIR) clean || true
rm -f $(INCLUDE_DIR)/rabbit_framing.hrl $(SOURCE_DIR)/rabbit_framing_amqp_*.erl codegen.pyc
rm -f $(DOCS_DIR)/*.[0-9].gz $(DOCS_DIR)/*.man.xml $(DOCS_DIR)/*.erl $(USAGES_ERL)
rm -f $(RABBIT_PLT)
@@ -244,7 +271,15 @@ srcdist: distclean
cp -r $(DOCS_DIR) $(TARGET_SRC_DIR)
chmod 0755 $(TARGET_SRC_DIR)/scripts/*
- (cd dist; tar -zcf $(TARBALL_NAME).tar.gz $(TARBALL_NAME))
+ifneq "$(PLUGINS_SRC_DIR)" ""
+ ln -s $(PLUGINS_SRC_DIR) $(TARGET_SRC_DIR)/plugins-src
+ cp packaging/common/LICENSE $(TARGET_SRC_DIR)
+ cp $(PLUGINS_SRC_LICENSES) $(TARGET_SRC_DIR)
+else
+ @echo No plugins source distribution found
+endif
+
+ (cd dist; tar -zchf $(TARBALL_NAME).tar.gz $(TARBALL_NAME))
(cd dist; zip -q -r $(TARBALL_NAME).zip $(TARBALL_NAME))
rm -rf $(TARGET_SRC_DIR)
@@ -288,15 +323,16 @@ docs_all: $(MANPAGES) $(WEB_MANPAGES)
install: install_bin install_docs
install_bin: all install_dirs
- cp -r ebin include LICENSE LICENSE-MPL-RabbitMQ INSTALL $(TARGET_DIR)
+ cp -r ebin include LICENSE* INSTALL $(TARGET_DIR)
chmod 0755 scripts/*
- for script in rabbitmq-env rabbitmq-server rabbitmqctl; do \
+ for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-plugins; do \
cp scripts/$$script $(TARGET_DIR)/sbin; \
[ -e $(SBIN_DIR)/$$script ] || ln -s $(SCRIPTS_REL_PATH)/$$script $(SBIN_DIR)/$$script; \
done
- mkdir -p $(TARGET_DIR)/plugins
- echo Put your .ez plugin files in this directory. > $(TARGET_DIR)/plugins/README
+
+ mkdir -p $(TARGET_DIR)/$(PLUGINS_DIR)
+ [ -d "$(PLUGINS_DIR)" ] && cp $(PLUGINS_DIR)/*.ez $(PLUGINS_DIR)/README $(TARGET_DIR)/$(PLUGINS_DIR) || true
install_docs: docs_all install_dirs
for section in 1 5; do \