]> git.wh0rd.org - fontconfig.git/blobdiff - doc/Makefile.am
Make most generated-files cross-compiling-safe
[fontconfig.git] / doc / Makefile.am
index dc6cb7c2125b00e436cfe9310c969f8022ae291b..8d7d5c8ba823921451680539f2e552f66fff9b70 100644 (file)
-DOC_MODULE=fontconfig
-DOC2HTML=docbook2html -u
-DOC2TXT=docbook2txt
+#
+# fontconfig/doc/Makefile.am
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission.  The authors make no
+# representations about the suitability of this software for any purpose.  It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
 
-TXT=fontconfig-user.txt fontconfig-devel.txt
-HTML=fontconfig-user.html fontconfig-devel.html
-SGML=fontconfig-user.sgml fontconfig-devel.sgml
+DOC_SRC = $(srcdir)
+DOC_MODULE = fontconfig
+DOC2HTML = docbook2html
+DOC2TXT = docbook2txt
+DOC2MAN = docbook2man
+DOC2PDF = docbook2pdf
 
-DOCDIR=@DOCDIR@
-TARGET_DIR=$(DOCDIR)
+TXT = fontconfig-user.txt fontconfig-devel.txt
+PDF = fontconfig-user.pdf fontconfig-devel.pdf
+HTML_FILES = fontconfig-user.html
+HTML_DIR = fontconfig-devel
+SGML = fontconfig-user.sgml fontconfig-devel.sgml
+FNCS_TMPL = ${DOC_SRC}/func.sgml
 
-SUFFIXES=.sgml .txt .html
+DOC_FUNCS_FNCS=\
+       fcatomic.fncs \
+       fcblanks.fncs \
+       fccache.fncs \
+       fccharset.fncs \
+       fcconfig.fncs \
+       fcconstant.fncs \
+       fcdircache.fncs \
+       fcfile.fncs \
+       fcfontset.fncs \
+       fcformat.fncs \
+       fcfreetype.fncs \
+       fcinit.fncs \
+       fclangset.fncs \
+       fcmatrix.fncs \
+       fcobjectset.fncs \
+       fcobjecttype.fncs \
+       fcpattern.fncs \
+       fcstring.fncs \
+       fcstrset.fncs \
+       fcvalue.fncs
 
-.sgml.html:
+DOC_FUNCS_SGML=\
+       fcatomic.sgml \
+       fcblanks.sgml \
+       fccache.sgml \
+       fccharset.sgml \
+       fcconfig.sgml \
+       fcconstant.sgml \
+       fcdircache.sgml \
+       fcfile.sgml \
+       fcfontset.sgml \
+       fcformat.sgml \
+       fcfreetype.sgml \
+       fcinit.sgml \
+       fclangset.sgml \
+       fcmatrix.sgml \
+       fcobjectset.sgml \
+       fcobjecttype.sgml \
+       fcpattern.sgml \
+       fcstring.sgml \
+       fcstrset.sgml \
+       fcvalue.sgml
+
+man5_MANS=fonts-conf.5
+man3_MANS=$(DOCMAN3)
+
+noinst_PROGRAMS=edit-sgml
+edit_sgml_SOURCES=edit-sgml.c
+
+DOC_FILES=$(TXT) $(PDF) $(HTML_FILES)
+LOCAL_DOCS=$(man3_MANS) $(man5_MANS) $(DOC_FILES) $(HTML_DIR)/*
+
+check_SCRIPTS=check-missing-doc
+TESTS_ENVIRONMENT=top_srcdir=${top_srcdir} sh
+TESTS=check-missing-doc
+
+EXTRA_DIST=$(LOCAL_DOCS) $(SGML) $(DOC_FUNCS_FNCS) $(DOC_FUNCS_SGML) $(check_SCRIPTS) func.sgml confdir.sgml.in
+
+SUFFIXES=.fncs .sgml .txt .html
+
+if USEDOCBOOK
+
+if CROSS_COMPILING
+.fncs.sgml:
+       @echo Warning: cannot rebuild $@ when cross-compiling
+else
+.fncs.sgml:
        $(RM) $@
-       $(DOC2HTML) $*.sgml
-       $(RM) index.html
+       ./edit-sgml$(EXEEXT) $(FNCS_TMPL) < '$<' > $*.sgml
+endif
 
 .sgml.txt:
        $(RM) $@
-       $(DOC2TXT) $*.sgml
+       $(DOC2TXT) $<
+
+.sgml.pdf:
+       $(RM) $@
+       $(DOC2PDF) $<
 
-EXTRA_DIST = $(TXT) $(HTML) $(SGML)
+$(man3_MANS): func.refs
+
+func.refs: local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
+       $(RM) func.refs
+       $(DOC2MAN) -o devel-man local-fontconfig-devel.sgml && \
+       mv devel-man/manpage.refs func.refs && \
+       mv devel-man/*.3 . && \
+       $(RM) devel-man/manpage.* && \
+       rmdir devel-man
+
+local-fontconfig-devel.sgml: fontconfig-devel.sgml
+       $(LN_S) $< $@
+
+$(DOC_FUNCS_SGML): edit-sgml.c $(FNCS_TMPL)
+
+fonts-conf.5: local-fontconfig-user.sgml version.sgml confdir.sgml
+       $(RM) $@
+       $(DOC2MAN) local-fontconfig-user.sgml && \
+       $(RM) manpage.*
        
-all-local: $(TXT) $(HTML)
+local-fontconfig-user.sgml: fontconfig-user.sgml
+       $(LN_S) $< $@
+
+all-local: $(LOCAL_DOCS)
+
+clean-local:
+       $(RM) $(man3_MANS) $(man5_MANS) $(DOC_FILES) func.refs
+       $(RM) -r $(HTML_DIR)
+
+MAINTAINERCLEANFILES = $(DOC_FUNCS_SGML)
 
+$(HTML_DIR): local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
+       $(RM) -r $(HTML_DIR)
+       $(DOC2HTML) -V '%use-id-as-filename%' -o $(HTML_DIR) local-fontconfig-devel.sgml
+
+fontconfig-devel.txt: local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
+       $(RM) $@
+       $(DOC2TXT) local-fontconfig-devel.sgml
+       mv local-fontconfig-devel.txt $@
+
+fontconfig-devel.pdf: local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
+       $(RM) $@
+       $(top_srcdir)/missing --run $(DOC2PDF) $< && mv local-$@ $@ \
+       || echo Failed to generate $@ >&2; \
+       (test -f $@ || echo $(DOC2PDF) is required to generate this file >> $@)
+
+fontconfig-user.html: local-fontconfig-user.sgml version.sgml confdir.sgml
+       $(RM) $@ local-$@ $@.tmp
+       $(DOC2HTML) -u local-fontconfig-user.sgml > $@.tmp
+       -test -f local-$@ && mv local-$@ $@
+       -test -f $@ || mv $@.tmp $@
+       -test -f $@.tmp && $(RM) $@.tmp
+
+fontconfig-user.txt: local-fontconfig-user.sgml version.sgml confdir.sgml
+       $(RM) $@
+       $(DOC2TXT) local-fontconfig-user.sgml
+       mv local-fontconfig-user.txt $@
+
+fontconfig-user.pdf: local-fontconfig-user.sgml version.sgml confdir.sgml
+       $(RM) $@
+       $(top_srcdir)/missing --run $(DOC2PDF) $< && mv local-$@ $@ \
+       || echo Failed to generate $@ >&2; \
+       (test -f $@ || echo $(DOC2PDF) is required to generate this file >> $@)
+
+STRIPNL=awk '{ if (NR > 1) printf ("\n"); printf ("%s", $$0); }'
+confdir.sgml: ${DOC_SRC}/confdir.sgml.in
+       sed "s,@CONFDIR\@,${CONFDIR}," < ${DOC_SRC}/confdir.sgml.in | $(STRIPNL) > confdir.sgml
+
+CLEANFILES=confdir.sgml local-fontconfig-user.sgml local-fontconfig-devel.sgml
+
+htmldoc_DATA = $(HTML_DIR)/*
+
+$(HTML_DIR)/*: $(HTML_DIR)
+
+else
+
+htmldoc_DATA = $(srcdir)/$(HTML_DIR)/*
+
+all-local:
 clean-local:
-       rm -f $(TXT) $(HTML)
-
-install-data-local:
-       $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
-       for i in $(TXT) $(HTML); do \
-         echo '-- Installing'$$i ; \
-         $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR)/$$i; \
-       done
+endif
+
+htmldocdir=$(docdir)/$(HTML_DIR)
+
+doc_DATA = $(DOC_FILES)
+