1
# gnome-doc-utils.make - make magic for building documentation
2
# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.org>
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# GNU General Public License for more details.
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software Foundation,
16
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
# As a special exception to the GNU General Public License, if you
19
# distribute this file as part of a program that contains a
20
# configuration script generated by Autoconf, you may include it under
21
# the same distribution terms that you use for the rest of that program.
23
################################################################################
24
## @@ Generating Header Files
27
## The name of the header file to generate
31
## The input DocBook files for generating the header file
34
$(DOC_H_FILE): $(DOC_H_DOCS);
35
@rm -f $@.tmp; touch $@.tmp;
36
echo 'const gchar* documentation_credits[] = {' >> $@.tmp
37
list='$(DOC_H_DOCS)'; for doc in $$list; do \
38
xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
39
if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
40
xsltproc --path "$$xmlpath" $(_credits) $$doc; \
42
| awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \
43
| sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp
44
echo ' NULL' >> $@.tmp
47
list='$(DOC_H_DOCS)'; for doc in $$list; do \
48
xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
49
if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
50
docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \
51
| sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \
53
ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \
55
echo '#define HELP_'`echo $$docid`'_'`echo $$id \
56
| sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \
60
cp $@.tmp $@ && rm -f $@.tmp
63
if !HAVE_GNOME_DOC_UTILS
64
@echo "*** GNOME Doc Utils must be installed in order to make dist"
68
.PHONY: dist-doc-header
69
dist-doc-header: $(DOC_H_FILE)
70
@if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \
71
echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \
72
$(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)";
74
doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header)
76
.PHONY: clean-doc-header
77
_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header)
78
clean-local: $(_clean_doc_header)
79
distclean-local: $(_clean_doc_header)
80
mostlyclean-local: $(_clean_doc_header)
81
maintainer-clean-local: $(_clean_doc_header)
88
################################################################################
89
## @@ Generating Documentation Files
92
## The name of the document being built
96
## The unique identifier for a Mallard document
100
## Page files in a Mallard document
104
## Files included with a SYSTEM entity
108
## Files included with XInclude
112
## Figures and other external data
116
## The default formats to be built and installed
117
DOC_FORMATS ?= docbook
118
_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS))
121
## The languages this document is translated into
123
_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \
124
$(filter $(LINGUAS),$(DOC_LINGUAS)), \
127
_DOC_ABS_SRCDIR = @abs_srcdir@
130
################################################################################
131
## Variables for Bootstrapping
133
_xml2po ?= `which xml2po`
134
_xml2po_mode = $(if $(DOC_ID),mallard,docbook)
136
_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
137
_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
138
_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
139
_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
140
_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
144
_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir`
145
_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir`
146
_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml
150
################################################################################
151
## Support for automake silent-rules
152
GDU_V_XML2PO=$(GDU__v_XML2PO_$(V))
153
GDU__v_XML2PO_=$(GDU__v_XML2PO_$(AM_DEFAULT_VERBOSITY))
154
GDU__v_XML2PO_0=@echo " XML2PO" $@;
156
GDU_V_MSGFMT=$(GDU__v_MSGFMT_$(V))
157
GDU__v_MSGFMT_=$(GDU__v_MSGFMT_$(AM_DEFAULT_VERBOSITY))
158
GDU__v_MSGFMT_0=@echo " MSGFMT" $@;
160
GDU_V_DB2OMF=$(GDU__v_DB2OMF_$(V))
161
GDU__v_DB2OMF_=$(GDU__v_DB2OMF_$(AM_DEFAULT_VERBOSITY))
162
GDU__v_DB2OMF_0=@echo " DB2OMF" $@;
164
GDU_V_DB2HTM=$(GDU__v_DB2HTM_$(V))
165
GDU__v_DB2HTM_=$(GDU__v_DB2HTM_$(AM_DEFAULT_VERBOSITY))
166
GDU__v_DB2HTM_0=@echo " DB2HTM" $@;
168
################################################################################
169
## @@ Rules for OMF Files
172
--stringparam db2omf.basename $(DOC_MODULE) \
173
--stringparam db2omf.format $(3) \
174
--stringparam db2omf.dtd \
175
$(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \
176
| sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \
177
--stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \
178
--stringparam db2omf.omf_dir "$(OMF_DIR)" \
179
--stringparam db2omf.help_dir "$(HELP_DIR)" \
180
--stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \
181
$(if $(_ENABLE_SK), \
182
--stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \
186
## The OMF input file
187
_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in))
190
## The OMF files for DocBook output
191
_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \
192
$(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf))
194
$(_DOC_OMF_DB) : $(_DOC_OMF_IN)
195
$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml
196
@test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
197
echo "The file '$(_skcontentslist)' does not exist." >&2; \
198
echo "Please check your ScrollKeeper installation." >&2; \
200
$(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; }
203
## The OMF files for HTML output
204
_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \
205
$(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf))
207
$(_DOC_OMF_HTML) : $(_DOC_OMF_IN)
208
$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml
210
@test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
211
echo "The file '$(_skcontentslist)' does not exist" >&2; \
212
echo "Please check your ScrollKeeper installation." >&2; \
215
$(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; }
218
## All OMF output files to be built
221
$(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \
222
$(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML))
228
################################################################################
229
## @@ C Locale Documents
232
## The top-level documentation file in the C locale
233
_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml)
236
## Page files in a Mallard document in the C locale
237
_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page))
240
## Files included with a SYSTEM entity in the C locale
241
_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent))
243
## @ _DOC_C_XINCLUDES
244
## Files included with XInclude in the C locale
245
_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc))
248
## All documentation files in the C locale
250
$(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \
251
$(_DOC_C_PAGES) $(_DOC_C_MODULE)
253
## @ _DOC_C_DOCS_NOENT
254
## All documentation files in the C locale,
255
## except files included with a SYSTEM entity
256
_DOC_C_DOCS_NOENT = \
257
$(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \
261
## All figures and other external data in the C locale
262
_DOC_C_FIGURES = $(if $(DOC_FIGURES), \
263
$(foreach fig,$(DOC_FIGURES),C/$(fig)), \
264
$(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png)))
267
## All HTML documentation in the C locale
268
# FIXME: probably have to shell escape to determine the file names
269
_DOC_C_HTML = $(foreach f, \
270
$(shell xsltproc --xinclude \
271
--stringparam db.chunk.basename "$(DOC_MODULE)" \
272
$(_chunks) "C/$(DOC_MODULE).xml"), \
275
###############################################################################
276
## @@ Other Locale Documentation
279
## The .po files used for translating the document
280
_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \
281
$(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po))
287
## The .mo files used for translating the document
288
_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES))
294
## The top-level documentation files in all other locales
295
_DOC_LC_MODULES = $(if $(DOC_MODULE), \
296
$(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml))
299
## Page files in a Mallard document in all other locales
301
$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \
302
$(lc)/$(notdir $(page)) ))
304
## @ _DOC_LC_XINCLUDES
305
## Files included with XInclude in all other locales
307
$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \
308
$(lc)/$(notdir $(inc)) ))
311
## All HTML documentation in all other locales
312
# FIXME: probably have to shell escape to determine the file names
314
$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \
315
$(lc)/$(notdir $(doc)) ))
318
## All documentation files in all other locales
320
$(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \
321
$(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML))
324
## All figures and other external data in all other locales
325
_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \
326
$(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) )
329
$(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \
330
$(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) ))
333
@if ! test -d $(dir $@); then \
334
echo "mkdir $(dir $@)"; \
337
@if test ! -f $@ -a -f $(srcdir)/$@; then \
338
echo "cp $(srcdir)/$@ $@"; \
339
cp "$(srcdir)/$@" "$@"; \
342
list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \
343
docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \
345
if ! test -f $@; then \
346
echo "(cd $(dir $@) && \
347
$(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
348
cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \
350
$(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
351
cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \
353
echo "(cd $(dir $@) && \
354
$(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \
356
$(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \
359
$(_DOC_MOFILES): %.mo: %.po
360
$(AM_V_at)if ! test -d $(dir $@); then mkdir "$(dir $@)"; fi
361
$(GDU_V_MSGFMT)msgfmt -o $@ $<
363
# FIXME: fix the dependancy
364
# FIXME: hook xml2po up
365
$(_DOC_LC_DOCS) : $(_DOC_MOFILES)
366
$(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
367
$(AM_V_at)if ! test -d $(dir $@); then mkdir $(dir $@); fi
368
$(GDU_V_XML2PO)if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \
369
mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
370
if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \
372
$(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \
373
"$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
374
cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)
378
_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot,$(if $(DOC_ID),$(DOC_ID).pot))
381
$(_DOC_POT): $(_DOC_C_DOCS_NOENT)
382
$(GDU_V_XML2PO)$(_xml2po) -m $(_xml2po_mode) -e -o $@ $^
385
################################################################################
386
## @@ All Documentation
389
## All HTML documentation, only if it's built
390
_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \
391
$(_DOC_C_HTML) $(_DOC_LC_HTML))
393
_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml)
395
$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
396
$(GDU_V_DB2HTM)xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@)
399
################################################################################
403
$(_DOC_C_DOCS) $(_DOC_LC_DOCS) \
404
$(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \
405
$(_DOC_HTML_ALL) $(_DOC_POFILES)
408
################################################################################
411
.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir
413
clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML)
414
clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML)
416
rm -f $(_DOC_LC_DOCS)
417
rm -f $(_DOC_MOFILES)
418
@list='$(_DOC_POFILES)'; for po in $$list; do \
419
if ! test "$$po" -ef "$(srcdir)/$$po"; then \
424
# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x
425
@for lc in C $(_DOC_REAL_LINGUAS); do \
426
if test -f "$$lc/.xml2po.mo"; then \
427
echo "rm -f $$lc/.xml2po.mo"; \
428
rm -f "$$lc/.xml2po.mo"; \
431
clean-doc-dir: clean-doc-lc
432
@for lc in C $(_DOC_REAL_LINGUAS); do \
433
for dir in `find $$lc -depth -type d`; do \
434
if ! test $$dir -ef $(srcdir)/$$dir; then \
435
echo "rmdir $$dir"; \
441
_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf)
442
_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk)
443
_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc)
444
_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir)
447
$(_clean_omf) $(_clean_dsk) \
448
$(_clean_lc) $(_clean_dir)
450
$(_clean_omf) $(_clean_dsk) \
451
$(_clean_lc) $(_clean_dir)
453
$(_clean_omf) $(_clean_dsk) \
454
$(_clean_lc) $(_clean_dir)
455
maintainer-clean-local: \
456
$(_clean_omf) $(_clean_dsk) \
457
$(_clean_lc) $(_clean_dir)
461
################################################################################
464
.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk
466
$(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \
467
$(if $(_DOC_C_FIGURES),dist-doc-figs) \
468
$(if $(_DOC_OMF_IN),dist-doc-omf)
469
# $(if $(_DOC_DSK_IN),dist-doc-dsk)
471
dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)
472
@for lc in C $(_DOC_REAL_LINGUAS); do \
473
echo " $(mkinstalldirs) $(distdir)/$$lc"; \
474
$(mkinstalldirs) "$(distdir)/$$lc"; \
476
@list='$(_DOC_C_DOCS)'; \
477
for doc in $$list; do \
478
if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
479
docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
480
if ! test -d "$(distdir)/$$docdir"; then \
481
echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
482
$(mkinstalldirs) "$(distdir)/$$docdir"; \
484
echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
485
$(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
487
@list='$(_DOC_LC_DOCS)'; \
488
for doc in $$list; do \
489
if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
490
docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
491
if ! test -d "$(distdir)/$$docdir"; then \
492
echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
493
$(mkinstalldirs) "$(distdir)/$$docdir"; \
495
echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
496
$(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
498
@list='$(_DOC_POFILES)'; \
499
for doc in $$list; do \
500
if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
501
docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
502
if ! test -d "$(distdir)/$$docdir"; then \
503
echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
504
$(mkinstalldirs) "$(distdir)/$$docdir"; \
506
echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
507
$(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
510
dist-doc-figs: $(_DOC_SRC_FIGURES)
511
@list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \
512
for fig in $$list; do \
513
if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \
514
if test -f "$$d$$fig"; then \
515
figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
516
if ! test -d "$(distdir)/$$figdir"; then \
517
echo "$(mkinstalldirs) $(distdir)/$$figdir"; \
518
$(mkinstalldirs) "$(distdir)/$$figdir"; \
520
echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \
521
$(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \
526
@if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \
527
echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \
528
$(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))"
531
@if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \
532
echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \
533
$(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))"
537
################################################################################
540
.PHONY: check-doc-docs check-doc-omf
542
$(if $(DOC_MODULE),check-doc-docs) \
543
$(if $(DOC_ID),check-doc-pages) \
544
$(if $(_DOC_OMF_IN),check-doc-omf)
546
check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
547
@for lc in C $(_DOC_REAL_LINGUAS); do \
553
xmlpath="$$lc:$(srcdir)/$$lc"; \
555
echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \
556
xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \
559
check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES)
560
for lc in C $(_DOC_REAL_LINGUAS); do \
566
xmlpath="$$lc:$(srcdir)/$$lc"; \
568
for page in $(DOC_PAGES); do \
569
echo "xmllint --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \
570
xmllint --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \
574
check-doc-omf: $(_DOC_OMF_ALL)
575
@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
576
echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \
577
xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \
582
################################################################################
585
.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk
587
_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE))
589
install-data-local: \
590
$(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \
591
$(if $(_DOC_HTML_ALL),install-doc-html) \
592
$(if $(_DOC_C_FIGURES),install-doc-figs) \
593
$(if $(_DOC_OMF_IN),install-doc-omf)
594
# $(if $(_DOC_DSK_IN),install-doc-dsk)
597
@for lc in C $(_DOC_REAL_LINGUAS); do \
598
echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \
599
$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \
601
@list='$(_DOC_C_DOCS)'; for doc in $$list; do \
602
if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
603
docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
604
docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
605
if ! test -d "$$docdir"; then \
606
echo "$(mkinstalldirs) $$docdir"; \
607
$(mkinstalldirs) "$$docdir"; \
609
echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
610
$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
612
@list='$(_DOC_LC_DOCS)'; for doc in $$list; do \
613
if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
614
docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
615
docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
616
if ! test -d "$$docdir"; then \
617
echo "$(mkinstalldirs) $$docdir"; \
618
$(mkinstalldirs) "$$docdir"; \
620
echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
621
$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
625
@list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \
626
for lc in C $(_DOC_REAL_LINGUAS); do \
628
if test -f "$$lc/$$fig"; then \
629
figfile="$$lc/$$fig"; \
630
elif test -f "$(srcdir)/$$lc/$$fig"; then \
631
figfile="$(srcdir)/$$lc/$$fig"; \
635
figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
636
figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \
637
if ! test -d "$$figdir"; then \
638
echo "$(mkinstalldirs) $$figdir"; \
639
$(mkinstalldirs) "$$figdir"; \
641
figbase=`echo $$fig | sed -e 's/^.*\///'`; \
642
if $$figsymlink; then \
643
echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \
644
( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \
646
echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \
647
$(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \
656
$(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)
657
@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
658
echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
659
$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \
661
@if test "x$(_ENABLE_SK)" = "xtrue"; then \
662
echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
663
scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
671
################################################################################
674
.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk
676
$(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \
677
$(if $(_DOC_HTML_ALL),uninstall-doc-html) \
678
$(if $(_DOC_C_FIGURES),uninstall-doc-figs) \
679
$(if $(_DOC_OMF_IN),uninstall-doc-omf)
680
# $(if $(_DOC_DSK_IN),uninstall-doc-dsk)
683
@list='$(_DOC_C_DOCS)'; for doc in $$list; do \
684
echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
685
rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
687
@list='$(_DOC_LC_DOCS)'; for doc in $$list; do \
688
echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
689
rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
693
@list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \
694
echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
695
rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
699
@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
700
if test "x$(_ENABLE_SK)" = "xtrue"; then \
701
echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
702
scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
704
echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
705
rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \