r6rs docs in the manual
[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 api-coverage.texi \
55 scheme-reading.texi \
56 scheme-indices.texi \
57 slib.texi \
58 posix.texi \
59 expect.texi \
60 scsh.texi \
61 sxml-match.texi \
62 scheme-scripts.texi \
63 api-overview.texi \
64 api-discdepr.texi \
65 scheme-debugging.texi \
66 scheme-using.texi \
67 indices.texi \
68 script-getopt.texi \
69 data-rep.texi \
70 repl-modules.texi \
71 srfi-modules.texi \
72 r6rs.texi \
73 misc-modules.texi \
74 api-compound.texi \
75 autoconf.texi \
76 autoconf-macros.texi \
77 tools.texi \
78 history.texi \
79 vm.texi \
80 compiler.texi \
81 fdl.texi \
82 libguile-concepts.texi \
83 libguile-smobs.texi \
84 libguile-snarf.texi \
85 libguile-linking.texi \
86 libguile-extensions.texi \
87 api-init.texi \
88 mod-getopt-long.texi \
89 goops.texi \
90 goops-tutorial.texi \
91 effective-version.texi
92
93 ETAGS_ARGS = $(info_TEXINFOS) $(guile_TEXINFOS)
94
95 PICTURES = hierarchy.eps \
96 hierarchy.pdf \
97 hierarchy.png \
98 hierarchy.txt \
99 gds.eps \
100 gds.pdf \
101 gds.txt \
102 scheme.eps \
103 scheme.pdf \
104 scheme.txt \
105 mop.text
106
107 noinst_DATA = $(PICTURES)
108
109 EXTRA_DIST = ChangeLog-2008 $(PICTURES)
110
111 include $(top_srcdir)/am/pre-inst-guile
112
113 # Automated snarfing
114
115 autoconf.texi: autoconf-macros.texi
116 autoconf-macros.texi: $(top_srcdir)/meta/guile.m4
117 GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/uninstalled-env guile-tools \
118 snarf-guile-m4-docs $(top_srcdir)/meta/guile.m4 \
119 > $(srcdir)/$@
120
121 lib-version.texi: $(top_srcdir)/GUILE-VERSION
122 cat "$^" | grep '^LIBGUILE_.*_MAJOR' | \
123 sed 's/^LIBGUILE_\([A-Z0-9_]*\)_MAJOR=\([0-9]\+\)/@set LIBGUILE_\1_MAJOR \2/' \
124 > "$@"
125
126 MAINTAINERCLEANFILES = autoconf-macros.texi
127
128 # To allow "make distcheck" to succeed, lib-version.texi must either
129 # be cleaned or be included in the distribution. Or both - and in
130 # fact both are good. There's no point forcing a distribution build
131 # to regenerate lib-version.texi, because it can't possibly be
132 # different on the build machine than where the distribution was
133 # generated, so we might as well include it in the distribution.
134 EXTRA_DIST += lib-version.texi
135 # But when we want to get back to a clean tree, lib-version.texi
136 # should be cleaned.
137 CLEANFILES = lib-version.texi
138
139 # Support for snarfing docs out of Scheme modules.
140 snarf_doc = standard-library
141
142 $(snarf_doc).am: $(snarf_doc).scm
143 GUILE_AUTO_COMPILE=0 ; \
144 variable="`echo $(snarf_doc) | tr - _`_scm_files" ; \
145 "$(preinstguile)" -l "$(srcdir)/$(snarf_doc).scm" -c " \
146 (format #t \"# Automatically generated, do not edit.~%\") \
147 (format #t \"$$variable = \") \
148 (for-each (lambda (m) \
149 (format #t \"$$""(top_srcdir)/module/~a.scm \" \
150 (string-join (map symbol->string m) \"/\"))) \
151 (map car *modules*))" > "$@.tmp"
152 mv "$@.tmp" "$@"
153
154 # The following line leads to the definition of $(standard_library_scm_files).
155 include standard-library.am
156
157 $(snarf_doc).texi: $(standard_library_scm_files)
158 GUILE_AUTO_COMPILE=0 \
159 "$(preinstguile)" "$(srcdir)/make-texinfo.scm" \
160 "$(abs_srcdir)/$(snarf_doc).scm" > "$@.tmp"
161 mv "$@.tmp" "$@"
162
163 CLEANFILES += $(snarf_doc).texi
164 EXTRA_DIST += $(snarf_doc).scm make-texinfo.scm $(snarf_doc).texi $(snarf_doc).am