Consolidated Makefile and doc/man/module.mk. Incorperated doc/Makefile.
authorW. Trevor King <wking@drexel.edu>
Mon, 8 Feb 2010 22:02:56 +0000 (17:02 -0500)
committerW. Trevor King <wking@drexel.edu>
Mon, 8 Feb 2010 22:02:56 +0000 (17:02 -0500)
Now
  make sphinx
builds the Sphinx HTML documentation (in doc/.build/html), and
  make clean
cleans up everything.

Having a separate module.mk was just making things confusing, so I
took it out ;).

Makefile
doc/Makefile
doc/man/module.mk [deleted file]

index 5e2c4f4a6ba7ba7a1b02ceb0947c82a110dfc56f..e9e1748d76531ac029849fece555d75bed3c5fef 100644 (file)
--- a/Makefile
+++ b/Makefile
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 SHELL = /bin/bash
-PATH = /usr/bin:/bin
-
-# Directories with semantic meaning
-DOC_DIR := doc/man
-
-# Variables that will be extended by module include files
-GENERATED_FILES := libbe/_version.py build
-CODE_MODULES :=
-CODE_PROGRAMS :=
-
-# List of modules (directories) that comprise our 'make' project
-MODULES += ${DOC_DIR}
-
 RM = rm
+#PATH = /usr/bin:/bin  # must include sphinx-build for 'sphinx' target.
 
 #PREFIX = /usr/local
 PREFIX = ${HOME}
 INSTALL_OPTIONS = "--prefix=${PREFIX}"
 
+# Directories with semantic meaning
+DOC_DIR := doc
+MAN_DIR := ${DOC_DIR}/man
+
+MANPAGES = be.1
+GENERATED_FILES := build libbe/_version.py
+
+MANPAGE_FILES = $(patsubst %,${MAN_DIR}/%,${MANPAGES})
+GENERATED_FILES += ${MANPAGE_FILES}
+
 \f
 .PHONY: all
 all: build
 
-# Include the make data for each module
-include $(patsubst %,%/module.mk,${MODULES})
-
 \f
 .PHONY: build
 build: libbe/_version.py
        python setup.py build
 
+.PHONY: doc
+doc: sphinx man
+
 .PHONY: install
-install: doc build
+install: build doc
        python setup.py install ${INSTALL_OPTIONS}
-#cp -v interfaces/xml/* ${PREFIX}/bin
-#cp -v interfaces/email/catmutt ${PREFIX}/bin
 
-\f
+test: build
+       python test.py
+
 .PHONY: clean
 clean:
        $(RM) -rf ${GENERATED_FILES}
+       $(MAKE) -C ${DOC_DIR} clean
 
-test : build
-       python test.py
-
+\f
 .PHONY: libbe/_version.py
 libbe/_version.py:
        bzr version-info --format python > $@
+
+.PHONY: man
+man: ${MANPAGE_FILES}
+
+%.1: %.1.sgml
+       docbook-to-man $< > $@
+
+.PHONY: sphinx
+sphinx:
+       $(MAKE) -C ${DOC_DIR} html
index df8818cf021a9bb761557834b56446d4b165d905..6d7bbc5d763990b1f3d0b3f9426bb9b5f654c565 100644 (file)
@@ -26,37 +26,38 @@ help:
        @echo "  changes   to make an overview of all changed/added/deprecated items"
        @echo "  linkcheck to check all external links for integrity"
        @echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
+       @echo "  libbe     to autogenerate files for all libbe modules"
 
 clean:
-       -rm -rf $(BUILDDIR)/*
+       -rm -rf $(BUILDDIR) libbe
 
-html:
+html: libbe
        $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
        @echo
        @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
 
-dirhtml:
+dirhtml: libbe
        $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
        @echo
        @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
 
-pickle:
+pickle: libbe
        $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
        @echo
        @echo "Build finished; now you can process the pickle files."
 
-json:
+json: libbe
        $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
        @echo
        @echo "Build finished; now you can process the JSON files."
 
-htmlhelp:
+htmlhelp: libbe
        $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
        @echo
        @echo "Build finished; now you can run HTML Help Workshop with the" \
              ".hhp project file in $(BUILDDIR)/htmlhelp."
 
-qthelp:
+qthelp: libbe
        $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
        @echo
        @echo "Build finished; now you can run "qcollectiongenerator" with the" \
@@ -65,25 +66,29 @@ qthelp:
        @echo "To view the help file:"
        @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/bugs-everywhere.qhc"
 
-latex:
+latex: libbe
        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
        @echo
        @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
        @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
              "run these through (pdf)latex."
 
-changes:
+changes: libbe
        $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
        @echo
        @echo "The overview file is in $(BUILDDIR)/changes."
 
-linkcheck:
+linkcheck: libbe
        $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
        @echo
        @echo "Link check complete; look for any errors in the above output " \
              "or in $(BUILDDIR)/linkcheck/output.txt."
 
-doctest:
+doctest: libbe
        $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
        @echo "Testing of doctests in the sources finished, look at the " \
              "results in $(BUILDDIR)/doctest/output.txt."
+
+.PHONY : libbe
+libbe :
+       python generate-libbe-txt.py
diff --git a/doc/man/module.mk b/doc/man/module.mk
deleted file mode 100644 (file)
index 1eb6955..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# :vim: filetype=make : -*- makefile; coding: utf-8; -*-
-
-# doc/module.mk
-# Part of Bugs Everywhere, a distributed bug tracking system.
-#
-# Copyright (C) 2008-2010 Chris Ball <cjb@laptop.org>
-#                         Gianluca Montecchi <gian@grys.it>
-#                         W. Trevor King <wking@drexel.edu>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-# Makefile module for documentation
-
-MODULE_DIR := doc/man
-
-MANPAGES = be.1
-manpage_files = $(patsubst %,${MODULE_DIR}/%,${MANPAGES})
-
-GENERATED_FILES += ${manpage_files}
-
-\f
-.PHONY: doc
-doc: man
-
-build: doc
-
-\f
-.PHONY: man
-man: ${manpage_files}
-
-%.1: %.1.sgml
-       docbook-to-man $< > $@