-DOC_MODULE = fontconfig
+# -*- encoding: utf-8 -*-
+#
+# 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.
+
+NULL =
+EXTRA_DIST = \
+ $(BUILT_DOCS) \
+ $(DOC_FUNCS_FNCS) \
+ $(DOC_FUNCS_SGML) \
+ $(HTML_DIR)/* \
+ $(SGML_FILES) \
+ $(check_SCRIPTS) \
+ confdir.sgml.in \
+ func.sgml \
+ $(NULL)
+MAINTAINERCLEANFILES = \
+ $(DOC_FUNCS_SGML) \
+ $(NULL)
+CLEANFILES = \
+ $(BUILT_DOCS) \
+ $(LOCAL_SGML_FILES) \
+ confdir.sgml \
+ func.refs \
+ $(NULL)
+BUILT_SOURCES = \
+ $(NULL)
+SUFFIXES = \
+ .fncs \
+ .sgml \
+ .txt \
+ .html \
+ $(NULL)
+TESTS = \
+ check-missing-doc \
+ $(NULL)
+TESTS_ENVIRONMENT=top_srcdir=${top_srcdir} sh
+#
DOC2HTML = docbook2html
-DOC2TXT = docbook2txt
-DOC2MAN = docbook2man
-
-TXT = fontconfig-user.txt fontconfig-devel.txt
-HTML_FILES = fontconfig-user.html
-HTML_DIRS = fontconfig-devel
-SGML = fontconfig-user.sgml fontconfig-devel.sgml
-FNCS_TMPL = func.sgml
-
-DOC_FUNCS_FNCS=\
- fcatomic.fncs \
- fcblanks.fncs \
- fccharset.fncs \
- fcconfig.fncs \
- fcconstant.fncs \
- fcfile.fncs \
- fcfontset.fncs \
- fcfreetype.fncs \
- fcinit.fncs \
- fcmatrix.fncs \
- fcobjectset.fncs \
- fcobjecttype.fncs \
- fcpattern.fncs \
- fcstring.fncs \
- fcstrset.fncs \
- fcvalue.fncs
-
-DOC_FUNCS_SGML=\
- fcatomic.sgml \
- fcblanks.sgml \
- fccharset.sgml \
- fcconfig.sgml \
- fcconstant.sgml \
- fcfile.sgml \
- fcfontset.sgml \
- fcfreetype.sgml \
- fcinit.sgml \
- fcmatrix.sgml \
- fcobjectset.sgml \
- fcobjecttype.sgml \
- fcpattern.sgml \
- fcstring.sgml \
- fcstrset.sgml \
- fcvalue.sgml
-
-man_MANS=fonts-conf.5 \
-FcAtomicCreate.3 FcAtomicDeleteNew.3 FcAtomicDestroy.3 FcAtomicLock.3 \
-FcAtomicNewFile.3 FcAtomicOrigFile.3 FcAtomicReplaceOrig.3 FcAtomicUnlock.3 \
-FcBlanksAdd.3 FcBlanksCreate.3 FcBlanksDestroy.3 FcBlanksIsMember.3 \
-FcCharSetAddChar.3 FcCharSetCopy.3 FcCharSetCount.3 FcCharSetCreate.3 \
-FcCharSetDestroy.3 FcCharSetEqual.3 FcCharSetFirstPage.3 FcCharSetHasChar.3 \
-FcCharSetIntersect.3 FcCharSetIntersectCount.3 FcCharSetIsSubset.3 \
-FcCharSetNextPage.3 FcCharSetSubtract.3 FcCharSetSubtractCount.3 \
-FcCharSetUnion.3 FcConfigAppFontAddDir.3 FcConfigAppFontAddFile.3 \
-FcConfigAppFontClear.3 FcConfigBuildFonts.3 FcConfigCreate.3 \
-FcConfigDestroy.3 FcConfigFilename.3 FcConfigGetBlanks.3 FcConfigGetCache.3 \
-FcConfigGetConfigDirs.3 FcConfigGetConfigFiles.3 FcConfigGetCurrent.3 \
-FcConfigGetFontDirs.3 FcConfigGetFonts.3 FcConfigGetRescanInverval.3 \
-FcConfigParseAndLoad.3 FcConfigSetCurrent.3 FcConfigSetRescanInverval.3 \
-FcConfigSubstitute.3 FcConfigSubstituteWithPat.3 FcConfigUptoDate.3 \
-FcDefaultSubstitute.3 FcDirCacheValid.3 FcDirSave.3 FcDirScan.3 FcFileScan.3 \
-FcFontList.3 FcFontMatch.3 FcFontRenderPrepare.3 FcFontSetAdd.3 \
-FcFontSetCreate.3 FcFontSetDestroy.3 FcFontSort.3 FcFreeTypeCharIndex.3 \
-FcFreeTypeCharSet.3 FcFreeTypeQuery.3 FcGetVersion.3 FcInit.3 \
-FcInitBringUptoDate.3 FcInitLoadConfig.3 FcInitLoadConfigAndFonts.3 \
-FcInitReinitialize.3 FcMatrixCopy.3 FcMatrixEqual.3 FcMatrixInit.3 \
-FcMatrixMultiply.3 FcMatrixRotate.3 FcMatrixScale.3 FcMatrixShear.3 \
-FcNameConstant.3 FcNameGetConstant.3 FcNameGetObjectType.3 FcNameParse.3 \
-FcNameRegisterConstants.3 FcNameRegisterObjectTypes.3 FcNameUnparse.3 \
-FcNameUnregisterConstants.3 FcNameUnregisterObjectTypes.3 FcObjectSetAdd.3 \
-FcObjectSetBuild.3 FcObjectSetCreate.3 FcObjectSetDestroy.3 \
-FcPatternAdd-Type.3 FcPatternAdd.3 FcPatternAddWeak.3 FcPatternBuild.3 \
-FcPatternCreate.3 FcPatternDel.3 FcPatternDestroy.3 FcPatternEqual.3 \
-FcPatternEqualSubset.3 FcPatternGet-Type.3 FcPatternGet.3 FcPatternHash.3 \
-FcPatternPrint.3 FcStrBasename.3 FcStrCmpIgnoreCase.3 FcStrCopy.3 \
-FcStrCopyFilename.3 FcStrDirname.3 FcStrListCreate.3 FcStrListDone.3 \
-FcStrListNext.3 FcStrSetAdd.3 FcStrSetAddFilename.3 FcStrSetCreate.3 \
-FcStrSetDel.3 FcStrSetDestroy.3 FcStrSetMember.3 FcUcs4ToUtf8.3 FcUtf16Len.3 \
-FcUtf16ToUcs4.3 FcUtf8Len.3 FcUtf8ToUcs4.3 FcValueDestroy.3 FcValueSave.3
-
-noinst_PROGRAMS=edit-sgml
-edit_sgml_SOURCES=edit-sgml.c
-
-DOCDIR=@DOCDIR@
-
-DOC_FILES=$(TXT) $(HTML_FILES)
-DOC_DIRS=$(HTML_DIRS)
-LOCAL_DOCS=$(man_MANS) $(DOC_FILES) $(DOC_DIRS)
-
-EXTRA_DIST = $(LOCAL_DOCS) $(SGML) $(DOC_FUNCS_FNCS) $(FNCS_TMPL)
-
-SUFFIXES=.fncs .sgml .txt .html
-
-if ENABLE_DOCS
-
+DOC2TXT = docbook2txt
+DOC2MAN = docbook2man
+DOC2PDF = docbook2pdf
+
+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 \
+ $(NULL)
+SGML_FILES = \
+ fontconfig-user.sgml \
+ fontconfig-devel.sgml \
+ $(NULL)
+LOCAL_SGML_FILES = \
+ local-fontconfig-user.sgml \
+ local-fontconfig-devel.sgml \
+ $(NULL)
+
+DOC_FUNCS_SGML = $(DOC_FUNCS_FNCS:.fncs=.sgml)
+BUILT_DOCS = \
+ $(HTML_FILES) \
+ $(PDF_FILES) \
+ $(TXT_FILES) \
+ $(man3_MANS) \
+ $(man5_MANS) \
+ $(NULL)
+DOCS_DEPS = \
+ $(DOC_FUNCS_SGML) \
+ confdir.sgml \
+ version.sgml \
+ $(NULL)
+
+TXT_FILES = $(SGML_FILES:.sgml=.txt)
+PDF_FILES = $(SGML_FILES:.sgml=.pdf)
+HTML_FILES = \
+ fontconfig-user.html \
+ $(NULL)
+HTML_DIR = fontconfig-devel
+#
+noinst_PROGRAMS = \
+ $(NULL)
+##
+edit_sgml_SOURCES = \
+ edit-sgml.c \
+ $(NULL)
+#
+check_SCRIPTS = \
+ check-missing-doc \
+ $(NULL)
+#
+man3_MANS = \
+ $(DOCMAN3) \
+ $(NULL)
+man5_MANS = \
+ fonts-conf.5 \
+ $(NULL)
+#
+doc_DATA = \
+ $(TXT_FILES) \
+ $(PDF_FILES) \
+ $(HTML_FILES) \
+ $(NULL)
+#
+htmldocdir = $(docdir)/$(HTML_DIR)
+htmldoc_DATA = \
+ $(NULL)
+
+if USEDOCBOOK
+BUILT_SOURCES += \
+ $(LOCAL_SGML_FILES) \
+ $(NULL)
+noinst_PROGRAMS += \
+ edit-sgml \
+ $(NULL)
+htmldoc_DATA += $(HTML_DIR)/*
+
+##
+if CROSS_COMPILING
.fncs.sgml:
- $(RM) $@
- ./edit-sgml $(FNCS_TMPL) < $*.fncs > $*.sgml
-
+ @echo Warning: cannot rebuild $@ when cross-compiling
+else
+.fncs.sgml:
+ $(AM_V_GEN) $(RM) $@; \
+ $(builddir)/edit-sgml$(EXEEXT) $(srcdir)/func.sgml < '$(srcdir)/$*.fncs' > $*.sgml
+endif
.sgml.txt:
- $(RM) $@
+ $(AM_V_GEN) $(RM) $@; \
$(DOC2TXT) $*.sgml
-
-all-local: all-local-docs
-clean-local: clean-local-docs
-
-$(man_MANS): func.refs
-
-func.refs: fontconfig-devel.sgml $(DOC_FUNCS_SGML)
- $(RM) func.refs
- $(DOC2MAN) fontconfig-devel.sgml
- mv manpage.refs func.refs
- $(RM) manpage.links
-
-$(DOC_FUNCS_SGML): edit-sgml $(FNCS_TMPL)
-
-fonts-conf.5: fontconfig-user.sgml
- $(RM) file.refs
- $(DOC2MAN) -u fontconfig-user.sgml
- $(RM) manpage.refs manpage.links
-
-all-local-docs: $(DOCS)
-
-clean-local-docs:
- $(RM) $(man_MANS) $(DOC_FILES) $(DOC_FUNCS_SGML) func.refs
- $(RM) -r $(DOC_DIRS)
-
-fontconfig-devel: fontconfig-devel.sgml $(DOCS_FUNCS_SGML)
- $(RM) -r fontconfig-devel
- $(DOC2HTML) -o fontconfig-devel fontconfig-devel.sgml
-
-fontconfig-user.html: fontconfig-user.sgml
- $(DOC2HTML) -u fontconfig-user.sgml
-
+.sgml.pdf:
+ $(AM_V_GEN) $(RM) $@; \
+ $(DOC2PDF) $*.sgml
+.sgml.html:
+ $(AM_V_GEN) $(RM) $@; \
+ $(DOC2HTML) -u $*.sgml > $@
+##
+fonts-conf.5: local-fontconfig-user.sgml version.sgml confdir.sgml
+ $(AM_V_GEN) $(RM) $@; \
+ $(DOC2MAN) local-fontconfig-user.sgml && \
+ $(RM) manpage.*
+##
+$(man3_MANS): func.refs
+func.refs: local-fontconfig-devel.sgml $(DOCS_DEPS)
+ $(AM_V_GEN) $(RM) $@; \
+ $(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 || rm $@ || :
+confdir.sgml: $(srcdir)/confdir.sgml.in
+ $(AM_V_GEN) sed -e 's,@CONFDIR\@,${CONFDIR},' $(srcdir)/$@.in | awk '{if (NR > 1) printf("\n"); printf("%s", $$0);}' > $@
+##
+$(DOC_FUNCS_SGML): $(DOC_FUNCS_FNCS) edit-sgml$(EXEEXT) $(srcdir)/func.sgml
+$(TXT_FILES): $(DOCS_DEPS)
+$(PDF_FILES): $(DOCS_DEPS)
+$(HTML_FILES): $(DOCS_DEPS)
+$(HTML_DIR)/*: $(HTML_DIR)
+$(HTML_DIR): local-fontconfig-devel.sgml $(DOCS_DEPS)
+ $(AM_V_GEN) $(RM) -r $@; \
+ $(DOC2HTML) -V '%use-id-as-filename%' -o $@ local-fontconfig-devel.sgml
+local-fontconfig-user.sgml: $(srcdir)/fontconfig-user.sgml
+ $(AM_V_GEN) $(LN_S) $(srcdir)/fontconfig-user.sgml $@; \
+ [ ! -f $(builddir)/fontconfig-user.sgml ] && cp -a $(srcdir)/fontconfig-user.sgml $(builddir)/fontconfig-user.sgml || :
+local-fontconfig-devel.sgml: $(srcdir)/fontconfig-devel.sgml
+ $(AM_V_GEN) $(LN_S) $(srcdir)/fontconfig-devel.sgml $@; \
+ [ ! -f $(builddir)/fontconfig-devel.sgml ] && cp -a $(srcdir)/fontconfig-devel.sgml $(builddir)/fontconfig-devel.sgml || :
+#
+all-local: $(BUILT_DOCS) $(HTML_DIR)/*
+clean-local:
+ $(RM) -r $(HTML_DIR) devel-man
+ [ "x$(builddir)" != "x$(srcdir)" ] && $(RM) $(builddir)/*.sgml || :
else
+htmldoc_DATA += $(srcdir)/$(HTML_DIR)/*
all-local:
clean-local:
endif
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(DOCDIR)
- for i in $(DOC_FILES); do \
- echo '-- Installing '$$i ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(DOCDIR)/$$i; \
- done
- for i in $(DOC_DIRS); do \
- $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/$$i ; \
- for f in $$i/*; do \
- echo '-- Installing '$$f ; \
- $(INSTALL_DATA) $$f $(DESTDIR)$(DOCDIR)/$$f; \
- done \
- done
+-include $(top_srcdir)/git.mk