+#
+# 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 Keith Packard not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Keith Packard makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL KEITH PACKARD 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.
+
+CC = @CC_FOR_BUILD@
+EXEEXT = @EXEEXT_FOR_BUILD@
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+DOC_SRC = $(srcdir)
DOC_MODULE = fontconfig
DOC2HTML = docbook2html
DOC2TXT = docbook2txt
DOC2MAN = docbook2man
+DOC2PDF = docbook2pdf
TXT = fontconfig-user.txt fontconfig-devel.txt
+PDF = fontconfig-user.pdf fontconfig-devel.pdf
HTML_FILES = fontconfig-user.html
-HTML_DIRS = fontconfig-devel
+HTML_DIR = fontconfig-devel
SGML = fontconfig-user.sgml fontconfig-devel.sgml
-FNCS_TMPL = func.sgml
+FNCS_TMPL = ${DOC_SRC}/func.sgml
DOC_FUNCS_FNCS=\
fcatomic.fncs \
fcblanks.fncs \
+ fccache.fncs \
fccharset.fncs \
fcconfig.fncs \
fcconstant.fncs \
+ fcdircache.fncs \
fcfile.fncs \
fcfontset.fncs \
fcfreetype.fncs \
fcinit.fncs \
+ fclangset.fncs \
fcmatrix.fncs \
fcobjectset.fncs \
fcobjecttype.fncs \
DOC_FUNCS_SGML=\
fcatomic.sgml \
fcblanks.sgml \
+ fccache.sgml \
fccharset.sgml \
fcconfig.sgml \
fcconstant.sgml \
+ fcdircache.sgml \
fcfile.sgml \
fcfontset.sgml \
fcfreetype.sgml \
fcinit.sgml \
+ fclangset.sgml \
fcmatrix.sgml \
fcobjectset.sgml \
fcobjecttype.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 FcFini.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
+man5_MANS=fonts-conf.5
+man3_MANS=$(DOCMAN3)
noinst_PROGRAMS=edit-sgml
edit_sgml_SOURCES=edit-sgml.c
-DOCDIR=@DOCDIR@
+docdir=@DOCDIR@
-DOC_FILES=$(TXT) $(HTML_FILES)
-DOC_DIRS=$(HTML_DIRS)
-LOCAL_DOCS=$(man_MANS) $(DOC_FILES) $(DOC_DIRS)
+DOC_FILES=$(TXT) $(PDF) $(HTML_FILES)
+LOCAL_DOCS=$(man3_MANS) $(man5_MANS) $(DOC_FILES) $(HTML_DIR)/*
-EXTRA_DIST=$(LOCAL_DOCS) $(SGML) $(DOC_FUNCS_FNCS) $(FNCS_TMPL) confdir.sgml.in
+check_SCRIPTS=check-missing-doc
+TESTS_ENVIRONMENT=top_srcdir=${top_srcdir} sh
+TESTS=check-missing-doc
+
+EXTRA_DIST=$(LOCAL_DOCS) $(SGML) $(DOC_FUNCS_FNCS) $(check_SCRIPTS) func.sgml confdir.sgml.in
SUFFIXES=.fncs .sgml .txt .html
.fncs.sgml:
$(RM) $@
- ./edit-sgml $(FNCS_TMPL) < $*.fncs > $*.sgml
+ ./edit-sgml$(EXEEXT) $(FNCS_TMPL) < '$<' > $*.sgml
.sgml.txt:
$(RM) $@
- $(DOC2TXT) $*.sgml
+ $(DOC2TXT) $<
+
+.sgml.pdf:
+ $(RM) $@
+ $(DOC2PDF) $<
-$(man_MANS): func.refs
+$(man3_MANS): func.refs
-func.refs: fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
+func.refs: local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
$(RM) func.refs
- $(DOC2MAN) fontconfig-devel.sgml
- mv manpage.refs func.refs
- $(RM) manpage.links
+ $(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 $(FNCS_TMPL)
+$(DOC_FUNCS_SGML): edit-sgml$(EXEEXT) $(FNCS_TMPL)
-fonts-conf.5: fontconfig-user.sgml version.sgml confdir.sgml
- $(RM) file.refs
- $(DOC2MAN) fontconfig-user.sgml
- $(RM) manpage.refs manpage.links
+fonts-conf.5: local-fontconfig-user.sgml version.sgml confdir.sgml
+ $(RM) $@
+ $(DOC2MAN) local-fontconfig-user.sgml && \
+ $(RM) manpage.*
+
+local-fontconfig-user.sgml: fontconfig-user.sgml
+ $(LN_S) $< $@
all-local: $(LOCAL_DOCS)
clean-local:
- $(RM) $(man_MANS) $(DOC_FILES) $(DOC_FUNCS_SGML) func.refs
- $(RM) -r $(DOC_DIRS)
+ $(RM) $(man3_MANS) $(man5_MANS) $(DOC_FILES) $(DOC_FUNCS_SGML) func.refs
+ $(RM) -r $(HTML_DIR)
-fontconfig-devel: fontconfig-devel.sgml $(DOCS_FUNCS_SGML) version.sgml confdir.sgml
- $(RM) -r fontconfig-devel
- $(DOC2HTML) -o fontconfig-devel fontconfig-devel.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: fontconfig-devel.sgml version.sgml confdir.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-user.html: fontconfig-user.sgml version.sgml confdir.sgml
- $(DOC2HTML) -u fontconfig-user.sgml
+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.txt: fontconfig-user.sgml version.sgml confdir.sgml
+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: confdir.sgml.in
- sed "s,@CONFDIR\@,${CONFDIR}," < confdir.sgml.in | $(STRIPNL) > confdir.sgml
+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:
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
+htmldocdir=$(docdir)/$(HTML_DIR)
+
+doc_DATA = $(DOC_FILES)
+