diff options
| author | Matthias Radestock <matthias@lshift.net> | 2008-12-10 18:05:51 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2008-12-10 18:05:51 +0000 |
| commit | 2b4ed321de3800572df3ecd6ac9a808e61539468 (patch) | |
| tree | dfe34f462ef375814185b2ba2b01b3bcbdbcf5e1 /Makefile | |
| parent | aa0f1d27376674c0383138bccdd73b9ff1dfae22 (diff) | |
| parent | 9a4aa2cafaf172dcce8d1f01419d2101e903027b (diff) | |
| download | rabbitmq-server-git-2b4ed321de3800572df3ecd6ac9a808e61539468.tar.gz | |
merge bug19914 into default
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 67 |
1 files changed, 48 insertions, 19 deletions
@@ -1,11 +1,15 @@ -NODENAME=rabbit -RABBIT_ARGS= +RABBITMQ_NODENAME=rabbit +RABBITMQ_SERVER_START_ARGS= +RABBITMQ_MNESIA_DIR=/tmp/rabbitmq-$(RABBITMQ_NODENAME)-mnesia +RABBITMQ_LOG_BASE=/tmp + SOURCE_DIR=src EBIN_DIR=ebin INCLUDE_DIR=include SOURCES=$(wildcard $(SOURCE_DIR)/*.erl) TARGETS=$(EBIN_DIR)/rabbit_framing.beam $(patsubst $(SOURCE_DIR)/%.erl, $(EBIN_DIR)/%.beam,$(SOURCES)) WEB_URL=http://stage.rabbitmq.com/ +MANPAGES=$(patsubst %.pod, %.gz, $(wildcard docs/*.[0-9].pod)) ifndef USE_SPECS # our type specs rely on features / bug fixes in dialyzer that are @@ -18,9 +22,6 @@ endif #other args: +native +"{hipe,[o3,verbose]}" -Ddebug=true +debug_info +no_strict_record_tests ERLC_OPTS=-I $(INCLUDE_DIR) -o $(EBIN_DIR) -Wall -v +debug_info $(shell [ $(USE_SPECS) = "true" ] && echo "-Duse_specs") -MNESIA_DIR=/tmp/rabbitmq-$(NODENAME)-mnesia -LOG_BASE=/tmp - VERSION=0.0.0 TARBALL_NAME=rabbitmq-server-$(VERSION) TARGET_SRC_DIR=dist/$(TARBALL_NAME) @@ -29,7 +30,7 @@ SIBLING_CODEGEN_DIR=../rabbitmq-codegen/ AMQP_CODEGEN_DIR=$(shell [ -d $(SIBLING_CODEGEN_DIR) ] && echo $(SIBLING_CODEGEN_DIR) || echo codegen) AMQP_SPEC_JSON_PATH=$(AMQP_CODEGEN_DIR)/amqp-0.8.json -ERL_CALL=erl_call -sname $(NODENAME) -e +ERL_CALL=erl_call -sname $(RABBITMQ_NODENAME) -e # for the moment we don't use boot files because they introduce a # dependency on particular versions of OTP applications @@ -54,26 +55,43 @@ clean: cleandb rm -f $(EBIN_DIR)/*.beam rm -f $(EBIN_DIR)/rabbit.boot $(EBIN_DIR)/rabbit.script rm -f $(INCLUDE_DIR)/rabbit_framing.hrl $(SOURCE_DIR)/rabbit_framing.erl codegen.pyc + rm -f docs/*.[0-9].gz cleandb: stop-node - erl -mnesia dir '"$(MNESIA_DIR)"' -noshell -eval 'lists:foreach(fun file:delete/1, filelib:wildcard(mnesia:system_info(directory) ++ "/*")), halt().' + erl -mnesia dir '"$(RABBITMQ_MNESIA_DIR)"' -noshell -eval 'lists:foreach(fun file:delete/1, filelib:wildcard(mnesia:system_info(directory) ++ "/*")), halt().' ############ various tasks to interact with RabbitMQ ################### +BASIC_SCRIPT_ENVIRONMENT_SETTINGS=\ + RABBITMQ_NODE_IP_ADDRESS="$(RABBITMQ_NODE_IP_ADDRESS)" \ + RABBITMQ_NODE_PORT="$(RABBITMQ_NODE_PORT)" \ + RABBITMQ_LOG_BASE="$(RABBITMQ_LOG_BASE)" \ + RABBITMQ_MNESIA_DIR="$(RABBITMQ_MNESIA_DIR)" + run: all - NODE_IP_ADDRESS=$(NODE_IP_ADDRESS) NODE_PORT=$(NODE_PORT) NODE_ONLY=true LOG_BASE=$(LOG_BASE) RABBIT_ARGS="$(RABBIT_ARGS) -s rabbit" MNESIA_DIR=$(MNESIA_DIR) ./scripts/rabbitmq-server + $(BASIC_SCRIPT_ENVIRONMENT_SETTINGS) \ + RABBITMQ_NODE_ONLY=true \ + RABBITMQ_SERVER_START_ARGS="$(RABBITMQ_SERVER_START_ARGS) -s rabbit" \ + ./scripts/rabbitmq-server check-mnesia-schema: all - NODE_IP_ADDRESS=$(NODE_IP_ADDRESS) NODE_PORT=$(NODE_PORT) LOG_BASE=$(LOG_BASE) MNESIA_DIR=$(MNESIA_DIR) ./scripts/rabbitmq-mnesia-current + $(BASIC_SCRIPT_ENVIRONMENT_SETTINGS) \ + ./scripts/rabbitmq-mnesia-current run-node: all - NODE_IP_ADDRESS=$(NODE_IP_ADDRESS) NODE_PORT=$(NODE_PORT) NODE_ONLY=true LOG_BASE=$(LOG_BASE) RABBIT_ARGS="$(RABBIT_ARGS)" MNESIA_DIR=$(MNESIA_DIR) ./scripts/rabbitmq-server + $(BASIC_SCRIPT_ENVIRONMENT_SETTINGS) \ + RABBITMQ_NODE_ONLY=true \ + RABBITMQ_SERVER_START_ARGS="$(RABBITMQ_SERVER_START_ARGS)" \ + ./scripts/rabbitmq-server run-tests: all echo "rabbit_tests:all_tests()." | $(ERL_CALL) start-background-node: stop-node - NODE_IP_ADDRESS=$(NODE_IP_ADDRESS) NODE_PORT=$(NODE_PORT) NODE_ONLY=true LOG_BASE=$(LOG_BASE) RABBIT_ARGS="$(RABBIT_ARGS) -detached" MNESIA_DIR=$(MNESIA_DIR) ./scripts/rabbitmq-server ; sleep 1 + $(BASIC_SCRIPT_ENVIRONMENT_SETTINGS) \ + RABBITMQ_NODE_ONLY=true \ + RABBITMQ_SERVER_START_ARGS="$(RABBITMQ_SERVER_START_ARGS) -detached" \ + ./scripts/rabbitmq-server ; sleep 1 start-rabbit-on-node: all echo "rabbit:start()." | $(ERL_CALL) @@ -106,7 +124,7 @@ srcdist: distclean elinks -dump -no-references -no-numbering $(WEB_URL)build-server.html \ >> $(TARGET_SRC_DIR)/BUILD sed -i 's/%%VERSION%%/$(VERSION)/' $(TARGET_SRC_DIR)/ebin/rabbit.app - + cp -r $(AMQP_CODEGEN_DIR)/* $(TARGET_SRC_DIR)/codegen/ cp codegen.py Makefile $(TARGET_SRC_DIR) @@ -123,23 +141,34 @@ distclean: clean rm -rf dist find . -name '*~' -exec rm {} \; -install: all +%.gz: %.pod + pod2man \ + -n `echo $$(basename $*) | sed -e 's/\.[^.]\+//'` \ + -s `echo $$(basename $*) | sed -e 's/.*\.\([^.]\+\)/\1/'` \ + -c "RabbitMQ AMQP Server" \ + -d "" \ + -r "" \ + $< | gzip --best > $@ + +docs_all: $(MANPAGES) + +install: all docs_all @[ -n "$(TARGET_DIR)" ] || (echo "Please set TARGET_DIR."; false) @[ -n "$(SBIN_DIR)" ] || (echo "Please set SBIN_DIR."; false) @[ -n "$(MAN_DIR)" ] || (echo "Please set MAN_DIR."; false) - + mkdir -p $(TARGET_DIR) cp -r ebin include LICENSE LICENSE-MPL-RabbitMQ INSTALL $(TARGET_DIR) chmod 0755 scripts/* mkdir -p $(SBIN_DIR) - mkdir -p $(MAN_DIR)/man1 cp scripts/rabbitmq-server $(SBIN_DIR) cp scripts/rabbitmqctl $(SBIN_DIR) cp scripts/rabbitmq-multi $(SBIN_DIR) cp scripts/rabbitmq-mnesia-current $(SBIN_DIR) - for manpage in docs/*.pod ; do \ - pod2man -c "RabbitMQ AMQP Server" -d "" -r "" \ - $$manpage | gzip --best > \ - $(MAN_DIR)/man1/`echo $$manpage | sed -e 's:docs/\(.*\)\.pod:\1\.1\.gz:g'`; \ + for section in 1 5; do \ + mkdir -p $(MAN_DIR)/man$$section; \ + for manpage in docs/*.$$section.pod; do \ + cp docs/`basename $$manpage .pod`.gz $(MAN_DIR)/man$$section; \ + done; \ done |
