summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSteffen Nurpmeso <sdaoden@yandex.com>2014-03-30 07:54:44 +0200
committerWerner Lemberg <wl@gnu.org>2014-03-30 21:12:49 +0200
commit531c426949e71a270e3af89cb38ba398c1de0c94 (patch)
tree98a6dfaafc15106e40f7984c1392257d41be650f /doc
parent8f5fdfe7e1953ad22b3a7cd9a3186cc95502a1e5 (diff)
downloadgroff-git-531c426949e71a270e3af89cb38ba398c1de0c94.tar.gz
Add fine-tuning of doc generation to `configure'.
* m4/groff.m4 (GROFF_DOC_CHECK): New macro, handling option `--with-doc' and its new arguments. It sets `docadd_{html,info,other,pdf,examples}' and exports `make{_,_install_,_uninstall_}{otherdoc,examples}'. (GROFF_MAKEINFO): Extended to export `make{_,_install_,_uninstall_}infodoc'. (GROFF_HTML_PROGRAMS): Extended to export `make{_,_install_,_uninstall_}{htmldoc,htmlexamples}'. (GROFF_PDFDOC_PROGRAMS): Extended to export `make{_,_install_,_uninstall_}{pdfdoc,pdfexamples}'. (GROFF_INSTALL_INFO): Guard test with `docadd_info'. * configure.ac: Use GROFF_DOC_CHECK. * Makefile.in: Updated. * doc/Makefile.sub: Handle examples separately, controlled by $(make{_,_install_,_uninstall_}examples). * contrib/chem/Makefile.sub: Handle examples separately, controlled by $(make{_,_install_,_uninstall_}examples). * contrib/httbl/Makefile.sub: Handle examples separately, controlled by $(make{_,_install_,_uninstall_}examples). * contrib/mom/Makefile.sub: Handle examples separately, controlled by $(make{_,_install_,_uninstall_}examples). * contrib/pdfmark/Makefile.sub: Handle examples separately, controlled by $(make{_,_install_,_uninstall_}examples).
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.sub113
1 files changed, 73 insertions, 40 deletions
diff --git a/doc/Makefile.sub b/doc/Makefile.sub
index 913b26200..f068e5cdc 100644
--- a/doc/Makefile.sub
+++ b/doc/Makefile.sub
@@ -122,12 +122,16 @@ MOSTLYCLEANNOTSRCDIRADD=\
$(GROFF) -Tps -ms -mwww >$@
-all: groff.info $(PROCESSEDDOCFILES) prepare_examples \
- $(PROCESSEDEXAMPLEFILES) $(make_html)
+all: $(make_otherdoc) $(make_infodoc) $(make_htmldoc) \
+ $(make_examples) $(make_htmlexamples)
-html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
+otherdoc: $(PROCESSEDDOCFILES)
+infodoc: groff.info
+htmldoc: $(HTMLDOCFILES)
-prepare_examples: examples.stamp
+examples: examples.stamp $(PROCESSEDEXAMPLEFILES)
+
+html_examples: $(HTMLEXAMPLEFILES)
examples.stamp: grnexmpl.g groff.css gnu.eps
test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
@@ -164,13 +168,28 @@ grnexmpl.ps: grnexmpl.me grnexmpl.g
distfiles: groff.info gnu.eps
-install_data: groff.info gnu.eps $(DOCFILES) $(PROCESSEDDOCFILES) \
- $(make_install_html) $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
+install_data: install_always $(make_install_otherdoc) \
+ $(make_install_infodoc) $(make_install_htmldoc) \
+ $(make_install_examples)
+
+install_always:
+ -test -d $(DESTDIR)$(docdir) || $(mkinstalldirs) $(DESTDIR)$(docdir)
+
+install_otherdoc: install_always $(DOCFILES) $(PROCESSEDDOCFILES)
+ for f in $(DOCFILES); do \
+ rm -f $(DESTDIR)$(docdir)/$$f; \
+ $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(docdir)/$$f; \
+ done
+ for f in $(PROCESSEDDOCFILES); do \
+ rm -f $(DESTDIR)$(docdir)/$$f; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
+ done
+
+install_infodoc: install_always groff.info
# Prefer info files in builddir over srcdir; we test for
# the existence of `groff.info'.
-test -d $(DESTDIR)$(infodir) || $(mkinstalldirs) $(DESTDIR)$(infodir)
- d=.; \
- test -f "groff.info" || d=$(srcdir); \
+ d=.; test -f "groff.info" || d=$(srcdir); \
for p in $$d/groff.info `ls $$d/groff.info*`; do \
f=`basename $$p`; \
rm -f $(DESTDIR)$(infodir)/$$f; \
@@ -178,15 +197,24 @@ install_data: groff.info gnu.eps $(DOCFILES) $(PROCESSEDDOCFILES) \
done
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
$(DESTDIR)$(infodir)/groff.info
- -test -d $(DESTDIR)$(docdir) || $(mkinstalldirs) $(DESTDIR)$(docdir)
- for f in $(DOCFILES); do \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(docdir)/$$f; \
- done
- for f in $(PROCESSEDDOCFILES); do \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
+
+install_htmldoc: install_always $(HTMLDOCFILES)
+ -test -d $(DESTDIR)$(htmldocdir) \
+ || $(mkinstalldirs) $(DESTDIR)$(htmldocdir)
+ for f in `ls $(HTMLDOCFILESALL)`; do \
+ rm -f $(DESTDIR)$(htmldocdir)/$$f; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(htmldocdir)/$$f; \
done
+ -test -d $(DESTDIR)$(htmldocimagedir) \
+ || $(mkinstalldirs) $(DESTDIR)$(htmldocimagedir)
+ rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
+ $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) \
+ $(DESTDIR)$(htmldocimagedir)
+
+install_examples: install_always install_examples_always \
+ $(make_install_htmlexamples)
+
+install_examples_always: gnu.eps $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
# Prefer gnu.eps in builddir over srcdir.
-test -d $(DESTDIR)$(exampledir) \
|| $(mkinstalldirs) $(DESTDIR)$(exampledir)
@@ -203,20 +231,7 @@ install_data: groff.info gnu.eps $(DOCFILES) $(PROCESSEDDOCFILES) \
$(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
done
-install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
- -test -d $(DESTDIR)$(htmldocdir) \
- || $(mkinstalldirs) $(DESTDIR)$(htmldocdir)
- for f in `ls $(HTMLDOCFILESALL)`; do \
- rm -f $(DESTDIR)$(htmldocdir)/$$f; \
- $(INSTALL_DATA) $$f $(DESTDIR)$(htmldocdir)/$$f; \
- done
- -test -d $(DESTDIR)$(htmldocimagedir) \
- || $(mkinstalldirs) $(DESTDIR)$(htmldocimagedir)
- rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
- $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) \
- $(DESTDIR)$(htmldocimagedir)
- -test -d $(DESTDIR)$(exampledir) \
- || $(mkinstalldirs) $(DESTDIR)$(exampledir)
+install_htmlexamples: install_examples_always $(HTMLEXAMPLEFILES)
for f in `ls $(HTMLEXAMPLEFILESALL)`; do \
rm -f $(DESTDIR)$(exampledir)/$$f; \
$(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
@@ -227,24 +242,42 @@ install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
$(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) \
$(DESTDIR)$(exampleimagedir)
-uninstall_sub:
- $(INSTALL_INFO) --remove --info-dir=$(DESTDIR)$(infodir) \
+uninstall_sub: uninstall_always \
+ $(make_uninstall_infodoc) $(make_uninstall_htmldoc) \
+ $(make_uninstall_examples)
+
+uninstall_always:
+ -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
+ rm -f $(DESTDIR)$(docdir)/$$f; \
+ done
+
+uninstall_infodoc: uninstall_always
+ -$(INSTALL_INFO) --remove --info-dir=$(DESTDIR)$(infodir) \
$(DESTDIR)$(infodir)/groff.info
-for f in groff `ls groff.info*`; do \
rm -f $(DESTDIR)$(infodir)/$$f; \
done
- -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
+
+uninstall_htmldoc: uninstall_always
-for f in `ls $(HTMLDOCFILESALL)`; do \
rm -f $(DESTDIR)$(htmldocdir)/$$f; \
done
- -rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
+ rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
-rmdir $(DESTDIR)$(htmldocimagedir)
- -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES) \
- `ls $(HTMLEXAMPLEFILESALL)`; do \
+
+uninstall_examples: uninstall_always uninstall_examples_always \
+ $(make_uninstall_htmlexamples)
+ -rmdir $(DESTDIR)$(exampledir)
+
+uninstall_examples_always:
+ -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
rm -f $(DESTDIR)$(exampledir)/$$f; \
done
- -rm -f $(DESTDIR)$(exampledir)/gnu.eps
- -rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
+ rm -f $(DESTDIR)$(exampledir)/gnu.eps
+
+uninstall_htmlexamples: uninstall_examples_always
+ -for f in `ls $(HTMLEXAMPLEFILESALL)`; do \
+ rm -f $(DESTDIR)$(exampledir)/$$f; \
+ done
+ rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
-rmdir $(DESTDIR)$(exampleimagedir)