Code

Unify option toggling
[tig.git] / Makefile
index 33ef7b87811af95dfb71e9e33b9c3db8137e629f..ced5be310ee5a9f66f87e3b653b3cf4077930c43 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -36,7 +36,8 @@ LDLIBS ?= -lcurses
 CFLAGS ?= -Wall -O2
 DFLAGS = -g -DDEBUG -Werror -O0
 PROGS  = tig
-MANDOC = tig.1 tigrc.5
+TXTDOC = tig.1.txt tigrc.5.txt manual.txt NEWS README INSTALL BUGS TODO
+MANDOC = tig.1 tigrc.5 tigmanual.7
 HTMLDOC = tig.1.html tigrc.5.html manual.html README.html NEWS.html
 ALLDOC = $(MANDOC) $(HTMLDOC) manual.html-chunked manual.pdf
 
@@ -72,16 +73,24 @@ install: all
 
 install-doc-man: doc-man
        mkdir -p $(DESTDIR)$(mandir)/man1 \
-                $(DESTDIR)$(mandir)/man5
+                $(DESTDIR)$(mandir)/man5 \
+                $(DESTDIR)$(mandir)/man7
        for doc in $(MANDOC); do \
                sed 's#++SYSCONFDIR++#$(sysconfdir)#' < "$$doc" > "$$doc+"; \
                case "$$doc" in \
                *.1) install -p -m 0644 "$$doc+" "$(DESTDIR)$(mandir)/man1/$$doc" ;; \
                *.5) install -p -m 0644 "$$doc+" "$(DESTDIR)$(mandir)/man5/$$doc" ;; \
+               *.7) install -p -m 0644 "$$doc+" "$(DESTDIR)$(mandir)/man7/$$doc" ;; \
                esac; \
                $(RM) "$$doc+"; \
        done
 
+install-release-doc-man:
+       GIT_INDEX_FILE=.tmp-doc-index git read-tree origin/release
+       GIT_INDEX_FILE=.tmp-doc-index git checkout-index -f --prefix=./ $(MANDOC)
+       rm -f .tmp-doc-index
+       $(MAKE) install-doc-man
+
 install-doc-html: doc-html
        mkdir -p $(DESTDIR)$(docdir)/tig
        for doc in $(HTMLDOC); do \
@@ -92,7 +101,14 @@ install-doc-html: doc-html
                $(RM) "$$doc+"; \
        done
 
+install-release-doc-html:
+       GIT_INDEX_FILE=.tmp-doc-index git read-tree origin/release
+       GIT_INDEX_FILE=.tmp-doc-index git checkout-index -f --prefix=./ $(HTMLDOC)
+       rm -f .tmp-doc-index
+       $(MAKE) install-doc-html
+
 install-doc: install-doc-man install-doc-html
+install-release-doc: install-release-doc-man install-release-doc-html
 
 clean:
        $(RM) -r $(TARNAME) *.spec tig-*.tar.gz tig-*.tar.gz.md5
@@ -104,7 +120,10 @@ distclean: clean
        $(RM) config.h config.log config.make config.status config.h.in
 
 spell-check:
-       aspell --lang=en --check tig.1.txt tigrc.5.txt manual.txt
+       for file in $(TXTDOC) tig.c; do \
+               aspell --lang=en --dont-backup \
+                      --personal=./contrib/aspell.dict check $$file; \
+       done
 
 strip: $(PROGS)
        strip $(PROGS)
@@ -126,20 +145,6 @@ rpm: dist
 configure: configure.ac acinclude.m4
        $(AUTORECONF) -v
 
-# Maintainer stuff
-release-doc:
-       git checkout release && \
-       git merge master && \
-       $(MAKE) distclean doc-man doc-html sysconfdir=++SYSCONFDIR++ && \
-       git add -f $(MANDOC) $(HTMLDOC) && \
-       git commit -m "Sync docs" && \
-       git checkout master
-
-release-dist: release-doc
-       git checkout release && \
-       $(MAKE) dist && \
-       git checkout master
-
 .PHONY: all all-debug doc doc-man doc-html install install-doc \
        install-doc-man install-doc-html clean spell-check dist rpm
 
@@ -160,12 +165,14 @@ manual.toc: manual.txt
                *)         ref="$$ref, $$line" ;; \
                esac; done | sed 's/\[\[\(.*\)\]\]/\1/' > $@
 
-README.html: README asciidoc.conf
+README.html: README SITES INSTALL asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d article -a readme $<
 
 NEWS.html: NEWS asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d article $<
 
+tigmanual.7: manual.txt
+
 %.1.html : %.1.txt asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d manpage $<
 
@@ -178,6 +185,9 @@ NEWS.html: NEWS asciidoc.conf
 %.5.xml : %.5.txt asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b docbook -d manpage $<
 
+%.7.xml : %.7.txt asciidoc.conf
+       $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b docbook -d manpage $<
+
 %.html : %.txt asciidoc.conf
        $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b xhtml11 -d article -n $<