summaryrefslogtreecommitdiff
path: root/docs/Makefile.am
blob: f5f131747fd41b638f19c21cfb4a818c5fd4b990 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
## Process this file with automake to create Makefile.in.

# The name of the module.
DOC_MODULE=pango

# The top-level SGML file.
DOC_MAIN_SGML_FILE=pango-docs.sgml

# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="PANGO_DISABLE_DEPRECATED"

# Extra options to supply to gtkdoc-mkdb.
MKDB_OPTIONS=--sgml-mode --output-format=xml

# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../pango

# Used for dependencies
HFILE_GLOB=$(top_srcdir)/pango/*.h
CFILE_GLOB=$(top_srcdir)/pango/*.c

# Headers to ignore
IGNORE_HFILES=			\
	ftglue.h		\
	mini-fribidi		\
	opentype		\
	modules.h		\
	pangoatsui-private.h	\
	pangocairo-private.h	\
	pangocairo-fc.h		\
	pangocairo-win32.h	\
	pangocairo-atsui.h	\
	pango-color-table.h	\
	pango-engine-private.h	\
	pango-impl-utils.h	\
	pango-glyph-item-private.h	\
	pango-layout-private.h	\
	pango-script-table.h	\
	pango-script-private.h	\
	pangofc-private.h	\
	pangoft2-private.h	\
	pangowin32-private.h	\
	pangoatsui-private.h	\
	pangox-private.h	\
	pangoxft-private.h	\
	pango-ot-private.h	\
	pango-script-lang-table.h	\
	pango-language-sample-table.h 	\
	pangocoretext-private.h		\
	pangoatsui-private.h

# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES =               	\
	-DPANGO_ENABLE_BACKEND	\
	-DPANGO_ENABLE_ENGINE	\
	-I$(top_srcdir)		\
	-I$(top_builddir)	\
	$(GLIB_CFLAGS)		\
	$(XFT_CFLAGS)		\
	$(CAIRO_CFLAGS)		\
	$(FREETYPE_CFLAGS)	\
	$(X_CFLAGS)

# We're assuming here that we'll only regenerate the
# HTML docs on Unix. We don't get introspection on Win32
# specific types, but that isn't a big deal.

GTKDOC_LIBS = $(top_builddir)/pango/libpango-1.0.la

if HAVE_FREETYPE
GTKDOC_LIBS += $(top_builddir)/pango/libpangoft2-1.0.la
endif

if HAVE_XFT
GTKDOC_LIBS += $(top_builddir)/pango/libpangoxft-1.0.la
endif

if HAVE_CAIRO
GTKDOC_LIBS += $(top_builddir)/pango/libpangocairo-1.0.la
endif

GTKDOC_LIBS += $(GLIB_LIBS)

# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
content_files =				\
	pango_markup.sgml		\
	version.xml

# Images to copy into HTML directory
HTML_IMAGES =				\
	layout.gif			\
	rotated-text.png

if ENABLE_DOC_CROSS_REFERENCES
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
	--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
endif

include $(top_srcdir)/gtk-doc.make

# This line really belongs in gtk-doc.mk
$(REPORT_FILES): sgml-build.stamp

pango.types:
	@echo "Rebuilding $@"
	@LANG=C; LIST=$$(grep 'pango_[_a-zA-Z0-9]*_get_type' $(HFILE_GLOB) | grep -v '\(private\|atsui\|core_text\|win32\)' | sed 's/\([^:]*:\).*\(pango[_a-zA-Z0-9]*_get_type\).*/\1\2/') && \
	echo "$$LIST" | sed 's/.*\/\(pango\/.*\):.*/#include <\1>/' | sort -u > $@.tmp && \
	echo >> $@.tmp && \
	echo "$$LIST" | cut -d : -f 2 | sort -u >> $@.tmp && \
	mv $@.tmp $@

BUILT_SOURCES = pango.types

########################################################################

MAINTAINERCLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST +=				\
	layout.fig			\
	layout.eps			\
	version.xml.in			\
	check.docs			\
	pango.types

# force doc rebulid after configure
dist-hook-local: dist-local-check-no-cross-references all-local

#
# Require gtk-doc when making dist
#
if ENABLE_DOC_CROSS_REFERENCES
dist-local-check-no-cross-references:
	@echo "*** --disable-doc-cross-references must be used in order to make dist"
	@false
else
dist-local-check-no-cross-references:
endif

.PHONY: dist-local-check-no-cross-references

if ENABLE_GTK_DOC
TESTS = check.docs
TESTS_ENVIRONMENT = srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" MAKE="$(MAKE) $(AM_MAKEFLAGS)" DOC_MODULE="$(DOC_MODULE)" REPORT_FILES="$(REPORT_FILES)"
endif

-include $(top_srcdir)/git.mk