100 lines
3.6 KiB
Plaintext
100 lines
3.6 KiB
Plaintext
--- Makefile.orig Thu Jun 9 16:24:13 2011
|
|
+++ Makefile Wed Jun 15 01:04:35 2011
|
|
@@ -20,21 +20,10 @@ MANPAGES=$(patsubst %.xml, %.gz, $(wildcard $(DOCS_DIR
|
|
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_ERL=$(foreach XML, $(USAGES_XML), $(call usage_xml_to_erl, $(XML)))
|
|
+TARGET_DIR=$(PREFIX)/lib/rabbitmq
|
|
+SBIN_DIR=$(PREFIX)/sbin
|
|
+MAN_DIR=$(PREFIX)/man
|
|
|
|
-ifeq ($(shell python -c 'import simplejson' 2>/dev/null && echo yes),yes)
|
|
-PYTHON=python
|
|
-else
|
|
-ifeq ($(shell python2.6 -c 'import simplejson' 2>/dev/null && echo yes),yes)
|
|
-PYTHON=python2.6
|
|
-else
|
|
-ifeq ($(shell python2.5 -c 'import simplejson' 2>/dev/null && echo yes),yes)
|
|
-PYTHON=python2.5
|
|
-else
|
|
-# Hmm. Missing simplejson?
|
|
-PYTHON=python
|
|
-endif
|
|
-endif
|
|
-endif
|
|
|
|
BASIC_PLT=basic.plt
|
|
RABBIT_PLT=rabbit.plt
|
|
@@ -61,6 +50,10 @@ ERL_CALL=erl_call -sname $(RABBITMQ_NODENAME) -e
|
|
|
|
ERL_EBIN=erl -noinput -pa $(EBIN_DIR)
|
|
|
|
+CHECK_NAME=rabbitmq-check
|
|
+CHECK_DIR=/tmp/$(CHECK_NAME)
|
|
+CHECK_CALL=HOME=$(CHECK_DIR) erl_call -sname $(CHECK_NAME) -e
|
|
+
|
|
define usage_xml_to_erl
|
|
$(subst __,_,$(patsubst $(DOCS_DIR)/rabbitmq%.1.xml, $(SOURCE_DIR)/rabbit_%_usage.erl, $(subst -,_,$(1))))
|
|
endef
|
|
@@ -71,7 +64,7 @@ endef
|
|
|
|
ifneq "$(SBIN_DIR)" ""
|
|
ifneq "$(TARGET_DIR)" ""
|
|
-SCRIPTS_REL_PATH=$(shell ./calculate-relative $(TARGET_DIR)/sbin $(SBIN_DIR))
|
|
+SCRIPTS_REL_PATH="../lib/rabbitmq/sbin"
|
|
endif
|
|
endif
|
|
|
|
@@ -132,7 +125,7 @@ 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 $(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 $(DOCS_DIR)/*.[0-9] $(DOCS_DIR)/*.man.xml $(DOCS_DIR)/*.erl $(USAGES_ERL)
|
|
rm -f $(RABBIT_PLT)
|
|
rm -f $(DEPS_FILE)
|
|
|
|
@@ -165,6 +158,23 @@ run-tests: all
|
|
OUT=$$(echo "rabbit_tests:all_tests()." | $(ERL_CALL)) ; \
|
|
echo $$OUT ; echo $$OUT | grep '^{ok, passed}$$' > /dev/null
|
|
|
|
+regress:
|
|
+ @[ "`id -u`" != "0" ] || (echo "Don't run tests as a superuser." && false)
|
|
+ rm -rf $(CHECK_DIR)
|
|
+ mkdir -m 777 -p $(CHECK_DIR)
|
|
+ HOME=$(CHECK_DIR) \
|
|
+ RABBITMQ_NODENAME="$(CHECK_NAME)" \
|
|
+ RABBITMQ_NODE_PORT="45672" \
|
|
+ RABBITMQ_LOG_BASE="$(CHECK_DIR)/logs" \
|
|
+ RABBITMQ_MNESIA_BASE="$(CHECK_DIR)/mnesia" \
|
|
+ RABBITMQ_SERVER_START_ARGS="$(RABBITMQ_SERVER_START_ARGS) -detached" \
|
|
+ ./scripts/rabbitmq-server
|
|
+ @sleep 5
|
|
+ OUT=$$(echo "rabbit_tests:all_tests()." | $(CHECK_CALL)) ; \
|
|
+ echo $$OUT ; echo $$OUT | grep '^{ok, passed}$$' > /dev/null || \
|
|
+ ($(CHECK_CALL) -q && rm -rf $(CHECK_DIR) && false)
|
|
+ $(CHECK_CALL) -q && rm -rf $(CHECK_DIR) && echo "Passed."
|
|
+
|
|
start-background-node:
|
|
$(BASIC_SCRIPT_ENVIRONMENT_SETTINGS) \
|
|
RABBITMQ_NODE_ONLY=true \
|
|
@@ -235,8 +245,7 @@ distclean: clean
|
|
%.gz: %.xml $(DOCS_DIR)/examples-to-end.xsl
|
|
xmlto --version | grep -E '^xmlto version 0\.0\.([0-9]|1[1-8])$$' >/dev/null || opt='--stringparam man.indent.verbatims=0' ; \
|
|
xsltproc --novalid $(DOCS_DIR)/examples-to-end.xsl $< > $<.tmp && \
|
|
- xmlto -o $(DOCS_DIR) $$opt man $<.tmp && \
|
|
- gzip -f $(DOCS_DIR)/`basename $< .xml`
|
|
+ xmlto -o $(DOCS_DIR) $$opt man $<.tmp
|
|
rm -f $<.tmp
|
|
|
|
# Use tmp files rather than a pipeline so that we get meaningful errors
|
|
@@ -279,7 +288,7 @@ install_bin: all install_dirs
|
|
install_docs: docs_all install_dirs
|
|
for section in 1 5; do \
|
|
mkdir -p $(MAN_DIR)/man$$section; \
|
|
- for manpage in $(DOCS_DIR)/*.$$section.gz; do \
|
|
+ for manpage in $(DOCS_DIR)/*.$$section; do \
|
|
cp $$manpage $(MAN_DIR)/man$$section; \
|
|
done; \
|
|
done
|