diff options
| author | Emile Joubert <emile@lshift.net> | 2010-03-19 16:44:42 +0000 |
|---|---|---|
| committer | Emile Joubert <emile@lshift.net> | 2010-03-19 16:44:42 +0000 |
| commit | 82e36802cea188f815602522e0c3863a988ce0ba (patch) | |
| tree | dbfc607cfa0ad359a2d688997accbbe05737d93e /Makefile | |
| parent | 928aa9c03865357b82539bdcb1cd22f5f4ca3dc8 (diff) | |
| parent | dba50911fce247d98e1e732cf780be692561e318 (diff) | |
| download | rabbitmq-server-git-82e36802cea188f815602522e0c3863a988ce0ba.tar.gz | |
Merge bug22407 into default
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 50 |
1 files changed, 36 insertions, 14 deletions
@@ -11,11 +11,13 @@ SOURCE_DIR=src EBIN_DIR=ebin INCLUDE_DIR=include INCLUDES=$(wildcard $(INCLUDE_DIR)/*.hrl) $(INCLUDE_DIR)/rabbit_framing.hrl -SOURCES=$(wildcard $(SOURCE_DIR)/*.erl) $(SOURCE_DIR)/rabbit_framing.erl +SOURCES=$(wildcard $(SOURCE_DIR)/*.erl) $(SOURCE_DIR)/rabbit_framing.erl $(SOURCE_DIR)/rabbitmqctl_usage.erl $(SOURCE_DIR)/rabbitmqmulti_usage.erl BEAM_TARGETS=$(patsubst $(SOURCE_DIR)/%.erl, $(EBIN_DIR)/%.beam, $(SOURCES)) TARGETS=$(EBIN_DIR)/rabbit.app $(INCLUDE_DIR)/rabbit_framing.hrl $(BEAM_TARGETS) WEB_URL=http://stage.rabbitmq.com/ -MANPAGES=$(patsubst %.pod, %.gz, $(wildcard docs/*.[0-9].pod)) +MANPAGES=$(patsubst %.xml, %.gz, $(wildcard docs/*.[0-9].xml)) +WEB_MANPAGES=$(patsubst %.xml, %.man.xml, $(wildcard docs/*.[0-9].xml) docs/rabbitmq-service.xml) +USAGES=$(patsubst %.1.xml, %.usage.erl, $(wildcard docs/*.[0-9].xml)) ifeq ($(shell python -c 'import simplejson' 2>/dev/null && echo yes),yes) PYTHON=python @@ -76,6 +78,12 @@ $(INCLUDE_DIR)/rabbit_framing.hrl: codegen.py $(AMQP_CODEGEN_DIR)/amqp_codegen.p $(SOURCE_DIR)/rabbit_framing.erl: codegen.py $(AMQP_CODEGEN_DIR)/amqp_codegen.py $(AMQP_SPEC_JSON_PATH) $(PYTHON) codegen.py body $(AMQP_SPEC_JSON_PATH) $@ +$(SOURCE_DIR)/rabbitmqctl_usage.erl: docs/rabbitmqctl.usage.erl + cp docs/rabbitmqctl.usage.erl $@ + +$(SOURCE_DIR)/rabbitmqmulti_usage.erl: docs/rabbitmq-multi.usage.erl + cp docs/rabbitmq-multi.usage.erl $@ + dialyze: $(BEAM_TARGETS) $(BASIC_PLT) $(ERL_EBIN) -eval \ "rabbit_dialyzer:halt_with_code(rabbit_dialyzer:dialyze_files(\"$(BASIC_PLT)\", \"$(BEAM_TARGETS)\"))." @@ -99,8 +107,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 $(INCLUDE_DIR)/rabbit_framing.hrl $(SOURCE_DIR)/rabbit_framing.erl codegen.pyc - rm -f docs/*.[0-9].gz + rm -f $(INCLUDE_DIR)/rabbit_framing.hrl $(SOURCE_DIR)/rabbit_framing.erl $(SOURCE_DIR)/rabbitmqctl_usage.erl codegen.pyc + rm -f docs/*.[0-9].gz docs/*.usage.erl docs/*.man.xml docs/*.erl rm -f $(RABBIT_PLT) rm -f $(DEPS_FILE) @@ -188,16 +196,30 @@ distclean: clean rm -rf dist find . -regex '.*\(~\|#\|\.swp\|\.dump\)' -exec rm {} \; -%.gz: %.pod - pod2man \ - -n `echo $$(basename $*) | sed -e 's/\.[[:digit:]]\+//'` \ - -s `echo $$(basename $*) | sed -e 's/.*\.\([^.]\+\)/\1/'` \ - -c "RabbitMQ AMQP Server" \ - -d "" \ - -r "" \ - $< | gzip --best > $@ - -docs_all: $(MANPAGES) +# xmlto can not read from standard input, so we mess with a tmp file. +%.gz: %.xml docs/examples-to-end.xsl + xsltproc docs/examples-to-end.xsl $< > $<.tmp && \ + xmlto man -o docs $<.tmp && \ + gzip -f docs/`basename $< .xml` + rm -f $<.tmp + +%.usage.erl: %.1.xml docs/usage.xsl + xsltproc --stringparam modulename "`basename $< .1.xml | tr -d -`_usage" \ + docs/usage.xsl $< | sed -e s/\\\"/\\\\\\\"/g | sed -e s/%QUOTE%/\\\"/g | \ + fmt -s > docs/`basename $< .1.xml`.usage.erl + +# We rename the file before xmlto sees it since xmlto will use the name of +# the file to make internal links. +%.man.xml: %.xml docs/html-to-website-xml.xsl + cp $< `basename $< .xml`.xml && \ + xmlto xhtml-nochunks `basename $< .xml`.xml ; rm `basename $< .xml`.xml + cat `basename $< .xml`.html | \ + xsltproc --novalid docs/remove-namespaces.xsl - | \ + xsltproc --stringparam original `basename $<` docs/html-to-website-xml.xsl - | \ + xmllint --format - > $@ + rm `basename $< .xml`.html + +docs_all: $(MANPAGES) $(WEB_MANPAGES) install: SCRIPTS_REL_PATH=$(shell ./calculate-relative $(TARGET_DIR)/sbin $(SBIN_DIR)) install: all docs_all install_dirs |
