libvips/doc/Makefile.am
Kleis Auke Wolthuizen 9c22d74cff
doc: make pandoc optional (#2866)
Since it's currently unavailable on RHEL 9.
2022-06-15 10:19:49 +01:00

202 lines
5.7 KiB
Makefile

## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
# of using the various options.
# The name of the module, e.g. 'glib'.
DOC_MODULE=libvips
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
#DOC_MODULE_VERSION=2
# The top-level XML file (SGML in the past). You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Directories containing the source code.
# gtk-doc will search all .c and .h files beneath these paths
# for inline comments documenting functions and macros.
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
DOC_SOURCE_DIR=$(top_srcdir)/libvips
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=--rebuild-types
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/libvips/include/vips/*.h
CFILE_GLOB=$(top_srcdir)/libvips/*/*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
EXTRA_HFILES=
# Header files or dirs to ignore when scanning. Use base file/dir names
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
IGNORE_VIPS_INCLUDE = \
almostdeprecated.h \
deprecated.h \
vips7compat.h \
dispatch.h \
enumtypes.h \
internal.h \
thread.h \
intl.h \
format.h \
mask.h \
private.h \
video.h
# ignore all .h files in libvips/*, these are internal
IGNORE_VIPS_C = \
binary.h \
hough.h \
nary.h \
parithmetic.h \
statistic.h \
unary.h \
unaryconst.h \
pcolour.h \
profiles.h \
bandary.h \
pconversion.h \
correlation.h \
pconvolution.h \
pcreate.h \
pmask.h \
point.h \
drawink.h \
pdraw.h \
dbh.h \
jpeg.h \
magick.h \
pforeign.h \
tiff.h \
pfreqfilt.h \
hist_unary.h \
phistogram.h \
sink.h \
vipsmarshal.h \
pmorphology.h \
global_balance.h \
pmosaicing.h \
presample.h \
templates.h
IGNORE_HFILES = $(IGNORE_VIPS_INCLUDE) $(IGNORE_VIPS_C)
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES = \
$(top_srcdir)/doc/images/owl.jpg \
$(top_srcdir)/doc/images/tn_owl.jpg \
$(top_srcdir)/doc/images/interconvert.png \
$(top_srcdir)/doc/images/Combine.png \
$(top_srcdir)/doc/images/Memtrace.png \
$(top_srcdir)/doc/images/Sequence.png \
$(top_srcdir)/doc/images/Sink.png \
$(top_srcdir)/doc/images/Vips-smp.png
# we have some files in markdown ... convert to docbook for gtk-doc
# pandoc makes section headers, we want refsect3 for gtk-doc
.md.xml:
pandoc -s --template="$(realpath pandoc-docbook-template.docbook)" --wrap=none -V title="$<" -f markdown+smart -t docbook -o $@ $<
sed -i -e 's|<section|<refsect3|g' -e 's|</section|</refsect3|g' $@
# Our markdown source files
markdown_content_files = \
How-it-works.md \
libvips-from-C++.md \
Using-vipsthumbnail.md \
How-it-opens-files.md \
Examples.md \
Cite.md \
binding.md \
Making-image-pyramids.md
# converted to xml in this dir by pandoc
markdown_content_files_docbook = $(markdown_content_files:.md=.xml)
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files = \
using-command-line.xml \
using-C.xml \
using-threads.xml \
extending.xml \
function-list.xml \
file-format.xml \
${markdown_content_files_docbook}
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files = \
using-command-line.xml \
using-C.xml \
using-threads.xml \
extending.xml \
function-list.xml \
file-format.xml \
${markdown_content_files_docbook}
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
GTKDOC_CFLAGS = @VIPS_CFLAGS@ @VIPS_INCLUDES@
GTKDOC_LIBS = @VIPS_CFLAGS@ ${top_builddir}/libvips/libvips.la @VIPS_LIBS@
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST += \
${markdown_content_files} \
images \
gen-function-list.py
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
DISTCLEANFILES = libvips.types
# Comment this out if you want 'make check' to test you doc status
# and run some sanity checks
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
endif
-include $(top_srcdir)/git.mk