Add build stuff for threadsafety primitives
[platform/upstream/fontconfig.git] / doc / Makefile.am
index cbb5210..ad68c09 100644 (file)
@@ -1,5 +1,6 @@
+# -*- encoding: utf-8 -*-
 #
-# $Id$
+# fontconfig/doc/Makefile.am
 #
 # Copyright © 2003 Keith Packard
 #
 # 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
+# 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.  Keith Packard makes no
+# 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.
 #
-# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# THE AUTHOR(S) 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
+# 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.
 
-CC = @CC_FOR_BUILD@
-EXEEXT = @EXEEXT_FOR_BUILD@
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-
-DOC_SRC = $(srcdir)
-DOC_MODULE = fontconfig
+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
-DOC2PDF = docbook2pdf
-
-TXT = fontconfig-user.txt fontconfig-devel.txt
-PDF = fontconfig-user.pdf fontconfig-devel.pdf
-HTML_FILES = fontconfig-user.html
+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
-SGML = fontconfig-user.sgml fontconfig-devel.sgml
-FNCS_TMPL = ${DOC_SRC}/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
-
-man5_MANS=fonts-conf.5 
-man3_MANS=$(DOCMAN3)
-
-noinst_PROGRAMS=edit-sgml
-edit_sgml_SOURCES=edit-sgml.c
-
-docdir=@DOCDIR@
-
-DOC_FILES=$(TXT) $(PDF) $(HTML_FILES)
-LOCAL_DOCS=$(man3_MANS) $(man5_MANS) $(DOC_FILES) $(HTML_DIR)/*
-
-EXTRA_DIST=$(LOCAL_DOCS) $(SGML) $(DOC_FUNCS_FNCS) func.sgml confdir.sgml.in
-
-SUFFIXES=.fncs .sgml .txt .html
+#
+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$(EXEEXT) $(FNCS_TMPL) < '$<' > $*.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) $@
-       $(DOC2TXT) $<
-
+       $(AM_V_GEN) $(RM) $@; \
+       $(DOC2TXT) $*.sgml
 .sgml.pdf:
-       $(RM) $@
-       $(DOC2PDF) $<
-
-$(man3_MANS): func.refs
-
-func.refs: local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
-       $(RM) func.refs
-       $(DOC2MAN) local-fontconfig-devel.sgml && \
-       mv manpage.refs func.refs
-       $(RM) manpage.links
-
-local-fontconfig-devel.sgml: fontconfig-devel.sgml
-       $(LN_S) $< $@
-
-$(DOC_FUNCS_SGML): edit-sgml$(EXEEXT) $(FNCS_TMPL)
-
+       $(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
-       $(RM) $@
-       $(DOC2MAN) local-fontconfig-user.sgml
-       $(RM) manpage.refs manpage.links
-       
-local-fontconfig-user.sgml: fontconfig-user.sgml
-       $(LN_S) $< $@
-
-all-local: $(LOCAL_DOCS)
-
-clean-local:
-       $(RM) $(man3_MANS) $(man5_MANS) $(DOC_FILES) $(DOC_FUNCS_SGML) func.refs
-       $(RM) -r $(HTML_DIR)
-
-$(HTML_DIR): local-fontconfig-devel.sgml $(DOC_FUNCS_SGML) version.sgml confdir.sgml
-       $(RM) -r $(HTML_DIR)
-       $(DOC2HTML) -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)/*
-
+       $(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)/*
-
+htmldoc_DATA += $(srcdir)/$(HTML_DIR)/*
 all-local:
 clean-local:
 endif
 
-htmldocdir=$(docdir)/$(HTML_DIR)
-
-doc_DATA = $(DOC_FILES)
-
+-include $(top_srcdir)/git.mk