summaryrefslogtreecommitdiffabout
authorTodd Zullinger <tmz@pobox.com>2010-09-06 13:31:22 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-09-19 17:11:45 (UTC)
commit679f7ef4f3f31dca8c8ac5536c3e18a5188e051a (patch) (side-by-side diff)
tree2f0085a1858cbf4f7f3534d6af0f0f7c6f604ce5
parenta9d6e6e695da6c6ed7f4bb32630ab2f3d9314806 (diff)
downloadcgit-679f7ef4f3f31dca8c8ac5536c3e18a5188e051a.zip
cgit-679f7ef4f3f31dca8c8ac5536c3e18a5188e051a.tar.gz
cgit-679f7ef4f3f31dca8c8ac5536c3e18a5188e051a.tar.bz2
Generalize doc generation
This borrows from the git Documentation/Makefile. The goal is to make it easier to add new man pages and other documentation as well as to prevent make from re-generating the documentation needlessly. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile23
1 files changed, 16 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 6a47ed2..db97ae3 100644
--- a/Makefile
+++ b/Makefile
@@ -5,12 +5,17 @@ CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
CGIT_CONFIG = /etc/cgitrc
CACHE_ROOT = /var/cache/cgit
SHA1_HEADER = <openssl/sha.h>
GIT_VER = 1.7.3
GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
INSTALL = install
+MAN5_TXT = $(wildcard *.5.txt)
+MAN_TXT = $(MAN5_TXT)
+DOC_MAN5 = $(patsubst %.txt,%,$(MAN5_TXT))
+DOC_HTML = $(patsubst %.txt,%.html,$(MAN_TXT))
+DOC_PDF = $(patsubst %.txt,%.pdf,$(MAN_TXT))
# Define NO_STRCASESTR if you don't have strcasestr.
#
# Define NO_OPENSSL to disable linking with OpenSSL and use bundled SHA1
# implementation (slower).
#
@@ -107,13 +112,13 @@ OBJECTS += ui-tree.o
ifdef NEEDS_LIBICONV
EXTLIBS += -liconv
endif
.PHONY: all libgit test install uninstall clean force-version get-git \
- doc man-doc html-doc clean-doc
+ doc clean-doc
all: cgit
VERSION: force-version
@./gen-version.sh "$(CGIT_VERSION)"
-include VERSION
@@ -167,21 +172,25 @@ install: all
uninstall:
rm -f $(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME)
rm -f $(CGIT_DATA_PATH)/cgit.css
rm -f $(CGIT_DATA_PATH)/cgit.png
-doc: man-doc html-doc pdf-doc
+doc: doc-man doc-html doc-pdf
+doc-man: doc-man5
+doc-man5: $(DOC_MAN5)
+doc-html: $(DOC_HTML)
+doc-pdf: $(DOC_PDF)
-man-doc: cgitrc.5.txt
- a2x -f manpage cgitrc.5.txt
+%.5 : %.5.txt
+ a2x -f manpage $<
-html-doc: cgitrc.5.txt
- a2x -f xhtml --stylesheet=cgit-doc.css cgitrc.5.txt
+$(DOC_HTML): %.html : %.txt
+ a2x -f xhtml --stylesheet=cgit-doc.css $<
-pdf-doc: cgitrc.5.txt
+$(DOC_PDF): %.pdf : %.txt
a2x -f pdf cgitrc.5.txt
clean: clean-doc
rm -f cgit VERSION *.o *.d
clean-doc: