Fixed #bea/206d9b07# : 'BugDir' object has no attribute 'bug_shortname' (cfbe)
[be.git] / Makefile
index cc2f91cfff1d8d70b115fa2b22c52a84cc62cfff..0b96832602d0a93acd46323b8dd0f3ba306515b5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,67 +4,80 @@
 # Makefile
 # Part of Bugs Everywhere, a distributed bug tracking system.
 #
-# Copyright (C) 2008-2009 Ben Finney <benf@cybersource.com.au>
-#                         Chris Ball <cjb@laptop.org>
+# Copyright (C) 2008-2010 Anton Batenev <abbat@abbat>
+#                         Ben Finney <benf@cybersource.com.au>
+#                         Eric Kow <eric.kow@gmail.com>
+#                         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 file is part of Bugs Everywhere.
 #
-# 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.
+# Bugs Everywhere 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.
 #
-# 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.
+# Bugs Everywhere 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 Bugs Everywhere.  If not, see <http://www.gnu.org/licenses/>.
 
 SHELL = /bin/bash
-PATH = /usr/bin:/bin
+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
 
-# Variables that will be extended by module include files
-GENERATED_FILES := libbe/_version.py build
-CODE_MODULES :=
-CODE_PROGRAMS :=
+MANPAGES = be.1
+GENERATED_FILES := build libbe/_version.py
 
-# List of modules (directories) that comprise our 'make' project
-MODULES += ${DOC_DIR}
-
-RM = rm
-
-PREFIX = /usr/local
-PREFIX = ${HOME}
-#INSTALL_OPTIONS = "--prefix=${PREFIX}"
+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
 
+\f
 .PHONY: libbe/_version.py
 libbe/_version.py:
-       bzr version-info --format python > $@
+       git log -1 --date=short --pretty='format:"Autogenerated by make libbe/_version.py"%nversion_info = {%n    "date":"%cd",%n    "revision":"%H",%n    "committer":"%cn"}%n' > $@
+
+.PHONY: man
+man: ${MANPAGE_FILES}
+
+%.1: %.1.sgml
+       docbook-to-man $< > $@
+
+.PHONY: sphinx
+sphinx:
+       $(MAKE) -C ${DOC_DIR} html