24
24
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
29
28
$(DOC_MAIN_SGML_FILE) \
30
29
$(DOC_MODULE)-sections.txt \
31
30
$(DOC_MODULE)-overrides.txt
33
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
35
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp \
35
DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
36
html-build.stamp pdf-build.stamp \
37
setup.stamp tmpl.stamp sgml.stamp html.stamp pdf.stamp
39
40
$(DOC_MODULE).args \
71
72
$(REPORT_FILES): sgml-build.stamp
77
-@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
78
echo 'gtk-doc: Preparing build'; \
79
files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
80
if test "x$$files" != "x" ; then \
81
for file in $$files ; do \
82
test -f $(abs_srcdir)/$$file && \
83
cp -p $(abs_srcdir)/$$file $(abs_builddir)/; \
86
test -f $(abs_srcdir)/tmpl && \
87
cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
89
@touch setup-build.stamp
92
setup.stamp: setup-build.stamp
75
98
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
76
99
@echo 'gtk-doc: Scanning header files'
77
@-chmod -R u+w $(srcdir)
78
@_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \
101
for i in $(DOC_SOURCE_DIR) ; do \
79
102
_source_dir="$${_source_dir} --source-dir=$$i" ; \
82
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
83
@if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
84
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
104
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
105
@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
106
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) ; \
87
108
for i in $(SCANOBJ_FILES) ; do \
88
109
test -f $$i || touch $$i ; \
96
117
#### templates ####
98
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
119
tmpl-build.stamp: setup.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
99
120
@echo 'gtk-doc: Rebuilding template files'
100
@-chmod -R u+w $(srcdir)
101
@cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
121
@gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
122
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
123
if test -w $(abs_srcdir) ; then \
124
cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
102
127
@touch tmpl-build.stamp
104
129
tmpl.stamp: tmpl-build.stamp
112
137
sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
113
138
@echo 'gtk-doc: Building XML'
114
139
@-chmod -R u+w $(srcdir)
115
@_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \
141
for i in $(DOC_SOURCE_DIR) ; do \
116
142
_source_dir="$${_source_dir} --source-dir=$$i" ; \
119
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
144
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
120
145
@touch sgml-build.stamp
122
147
sgml.stamp: sgml-build.stamp
127
152
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
128
153
@echo 'gtk-doc: Building HTML'
129
@-chmod -R u+w $(srcdir)
130
@rm -rf $(srcdir)/html
131
@mkdir $(srcdir)/html
132
156
@mkhtml_options=""; \
133
157
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
134
158
if test "$(?)" = "0"; then \
135
mkhtml_options=--path="$(srcdir)"; \
159
mkhtml_options=--path="$(abs_srcdir)"; \
137
cd $(srcdir)/html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
138
@test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
161
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
162
-@test "x$(HTML_IMAGES)" = "x" || \
163
for file in $(HTML_IMAGES) ; do \
164
if test -f $(abs_srcdir)/$$file ; then \
165
cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
167
if test -f $(abs_builddir)/$$file ; then \
168
cp $(abs_builddir)/$$file $(abs_builddir)/html; \
139
171
@echo 'gtk-doc: Fixing cross-references'
140
@cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
172
@gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
141
173
@touch html-build.stamp
145
177
pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
146
178
@echo 'gtk-doc: Building PDF'
147
@-chmod -R u+w $(srcdir)
148
@rm -rf $(srcdir)/$(DOC_MODULE).pdf
179
@rm -rf $(DOC_MODULE).pdf
149
180
@mkpdf_imgdirs=""; \
150
181
if test "x$(HTML_IMAGES)" != "x"; then \
151
182
for img in $(HTML_IMAGES); do \
170
rm -rf xml $(REPORT_FILES) $(DOC_MODULE).pdf \
171
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
200
rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
201
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
202
if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
203
rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
173
207
maintainer-clean-local: clean
174
cd $(srcdir) && rm -rf xml html
176
210
install-data-local:
177
211
@installfiles=`echo $(srcdir)/html/*`; \
219
253
dist-hook: dist-check-gtkdoc dist-hook-local
220
254
mkdir $(distdir)/tmpl
221
255
mkdir $(distdir)/html
222
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
223
cp $(srcdir)/html/* $(distdir)/html
224
-cp $(srcdir)/$(DOC_MODULE).pdf $(distdir)/
225
-cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
226
-cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
256
-cp $(build)/tmpl/*.sgml $(distdir)/tmpl
257
cp $(builddir)/html/* $(distdir)/html
258
-cp $(builddir)/$(DOC_MODULE).pdf $(distdir)/
259
-cp $(build)/$(DOC_MODULE).types $(distdir)/
260
-cp $(build)/$(DOC_MODULE)-sections.txt $(distdir)/
227
261
cd $(distdir) && rm -f $(DISTCLEANFILES)
228
262
$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html