add tour.texi to guile_TEXINFOS
[bpt/guile.git] / doc / ref / Makefile.am
1 ## Process this file with Automake to create Makefile.in
2 ##
3 ## Copyright (C) 1998, 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
4 ##
5 ## This file is part of GUILE.
6 ##
7 ## GUILE is free software; you can redistribute it and/or modify it
8 ## under the terms of the GNU Lesser General Public License as
9 ## published by the Free Software Foundation; either version 3, or
10 ## (at your option) any later version.
11 ##
12 ## GUILE is distributed in the hope that it will be useful, but
13 ## WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ## GNU Lesser General Public License for more details.
16 ##
17 ## You should have received a copy of the GNU Lesser General Public
18 ## License along with GUILE; see the file COPYING.LESSER. If not,
19 ## write to the Free Software Foundation, Inc., 51 Franklin Street,
20 ## Fifth Floor, Boston, MA 02110-1301 USA
21
22 AUTOMAKE_OPTIONS = gnu
23
24 BUILT_SOURCES = lib-version.texi standard-library.texi
25
26 info_TEXINFOS = guile.texi
27
28 guile_TEXINFOS = preface.texi \
29 intro.texi \
30 tour.texi \
31 libguile-program.texi \
32 scheme-intro.texi \
33 api-scm.texi \
34 api-snarf.texi \
35 api-smobs.texi \
36 scheme-ideas.texi \
37 api-data.texi \
38 api-procedures.texi \
39 api-macros.texi \
40 api-utility.texi \
41 api-binding.texi \
42 api-control.texi \
43 api-io.texi \
44 api-foreign.texi \
45 api-lalr.texi \
46 api-languages.texi \
47 api-evaluation.texi \
48 api-memory.texi \
49 api-modules.texi \
50 api-scheduling.texi \
51 api-options.texi \
52 api-i18n.texi \
53 api-debug.texi \
54 scheme-reading.texi \
55 scheme-indices.texi \
56 slib.texi \
57 posix.texi \
58 expect.texi \
59 scsh.texi \
60 scheme-scripts.texi \
61 api-overview.texi \
62 api-discdepr.texi \
63 scheme-debugging.texi \
64 scheme-using.texi \
65 indices.texi \
66 script-getopt.texi \
67 data-rep.texi \
68 repl-modules.texi \
69 srfi-modules.texi \
70 misc-modules.texi \
71 api-compound.texi \
72 autoconf.texi \
73 autoconf-macros.texi \
74 tools.texi \
75 history.texi \
76 vm.texi \
77 compiler.texi \
78 fdl.texi \
79 libguile-concepts.texi \
80 libguile-smobs.texi \
81 libguile-snarf.texi \
82 libguile-linking.texi \
83 libguile-extensions.texi \
84 api-init.texi \
85 mod-getopt-long.texi \
86 goops.texi \
87 goops-tutorial.texi \
88 effective-version.texi
89
90 ETAGS_ARGS = $(info_TEXINFOS) $(guile_TEXINFOS)
91
92 PICTURES = hierarchy.eps \
93 hierarchy.pdf \
94 hierarchy.png \
95 hierarchy.txt \
96 gds.eps \
97 gds.pdf \
98 gds.txt \
99 scheme.eps \
100 scheme.pdf \
101 scheme.txt \
102 mop.text
103
104 noinst_DATA = $(PICTURES)
105
106 EXTRA_DIST = ChangeLog-2008 $(PICTURES)
107
108 include $(top_srcdir)/am/pre-inst-guile
109
110 # Automated snarfing
111
112 autoconf.texi: autoconf-macros.texi
113 autoconf-macros.texi: $(top_srcdir)/meta/guile.m4
114 GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/uninstalled-env guile-tools \
115 snarf-guile-m4-docs $(top_srcdir)/meta/guile.m4 \
116 > $(srcdir)/$@
117
118 lib-version.texi: $(top_srcdir)/GUILE-VERSION
119 cat "$^" | grep '^LIBGUILE_.*_MAJOR' | \
120 sed 's/^LIBGUILE_\([A-Z0-9_]*\)_MAJOR=\([0-9]\+\)/@set LIBGUILE_\1_MAJOR \2/' \
121 > "$@"
122
123 MAINTAINERCLEANFILES = autoconf-macros.texi
124
125 # To allow "make distcheck" to succeed, lib-version.texi must either
126 # be cleaned or be included in the distribution. Or both - and in
127 # fact both are good. There's no point forcing a distribution build
128 # to regenerate lib-version.texi, because it can't possibly be
129 # different on the build machine than where the distribution was
130 # generated, so we might as well include it in the distribution.
131 EXTRA_DIST += lib-version.texi
132 # But when we want to get back to a clean tree, lib-version.texi
133 # should be cleaned.
134 CLEANFILES = lib-version.texi
135
136 # Support for snarfing docs out of Scheme modules.
137 snarf_doc = standard-library
138
139 $(snarf_doc).am: $(snarf_doc).scm
140 GUILE_AUTO_COMPILE=0 ; \
141 variable="`echo $(snarf_doc) | tr - _`_scm_files" ; \
142 "$(preinstguile)" -l "$(srcdir)/$(snarf_doc).scm" -c " \
143 (format #t \"# Automatically generated, do not edit.~%\") \
144 (format #t \"$$variable = \") \
145 (for-each (lambda (m) \
146 (format #t \"$$""(top_srcdir)/module/~a.scm \" \
147 (string-join (map symbol->string m) \"/\"))) \
148 (map car *modules*))" > "$@.tmp"
149 mv "$@.tmp" "$@"
150
151 # The following line leads to the definition of $(standard_library_scm_files).
152 include standard-library.am
153
154 $(snarf_doc).texi: $(standard_library_scm_files)
155 GUILE_AUTO_COMPILE=0 \
156 "$(preinstguile)" "$(srcdir)/make-texinfo.scm" \
157 "$(abs_srcdir)/$(snarf_doc).scm" > "$@.tmp"
158 mv "$@.tmp" "$@"
159
160 CLEANFILES += $(snarf_doc).texi
161 EXTRA_DIST += $(snarf_doc).scm make-texinfo.scm $(snarf_doc).texi $(snarf_doc).am